面试时间:2022面试职位:golang后端开发工程师分享时间:2023-01
- 面试经历:
- 自我介绍
问:先来一道代码题:
多个有序单链表归并为一个有序链表,要求不能自己建立新节点,复杂度NlogN
问:平时会用哪些数据结构
回答:切片、哈希表
问:哈希表的底层实现是什么 【宝典直达:哈希函数的本质及生成方式】
答:balbala
问:能实现一下吗?你自己定结构体
要求实现一个put(key string val string)实现键值都是string类型的hashmap的插入
问:堆排序熟悉吗?实现堆排序插入的函数
没有给反问时间,直接挂断了。
二面:
自我介绍
问:redis 熟悉吗? 【宝典直达:简单介绍下Redis】
问:redis数据结构都有哪些?底层实现用的是什么? 【宝典直达:Redis 常见数据结构以及使用场景分析】
问:ziplist为什么可以节省空间?rehash过程是什么,为什么要这样做?
问:有序集合底层实现是什么?
问:skiplist实现原理,以及为什么要使用skiplist而不是红黑树。
问:redis网络模型熟悉吗?为什么是单线程,redis6.0多线程实现是什么样的。【宝典直达:Redis6.0 之后为何引入了多线程?】
问:redis是怎么保证多线程进来的多个命令,保持顺序进入单线程的命令处理模块的。 【宝典直达:Redis 单线程模型详解】
答:应该类似golang中channel,管道的方式实现。
问:channel底层了解吗?golang中向管道写数据是否会对管道加锁。 【宝典直达:channel通道】
问:MySQL索引实现。(B+树相关,以及为什么不用B树,B+树的优势在哪里)
问:数据库的隔离级别,MySQL中innodb默认的隔离级别,mvcc如何实现的,以及mvcc能否解决幻行的问题。
算法题:
三个数组的归并排序
查找一个字符串中无重复字符的最长子串。
反问:表现怎么样
答:等HR通知
反问:mvcc能解决幻行吗?
答:自己百度。
三面:
自我介绍
问:两台主机输入同一个url地址出现页面不同可能的原因。
答:token不同,cookie不同,本机对url缓存解析不同。这之中又问了问cookie和session,DNS解析的过程等
问:restful接口是什么? 【宝典直达:RESTful API设计标准和实践】
问:redis集群知道吗?如何实现在集群中找到对的服务器。
问:一致性哈希知道吗?
问:mysql索引优化。
智力题:两个人抛硬币,先抛到正面的赢,问先后手的胜率是多少。
算法题: - 面试官提的问题:
- 自我介绍
问:先来一道代码题:
多个有序单链表归并为一个有序链表,要求不能自己建立新节点,复杂度NlogN
问:平时会用哪些数据结构
回答:切片、哈希表
问:哈希表的底层实现是什么 【宝典直达:哈希函数的本质及生成方式】
答:balbala
问:能实现一下吗?你自己定结构体
要求实现一个put(key string val string)实现键值都是string类型的hashmap的插入
问:堆排序熟悉吗?实现堆排序插入的函数
没有给反问时间,直接挂断了。
二面:
自我介绍
问:redis 熟悉吗? 【宝典直达:简单介绍下Redis】
问:redis数据结构都有哪些?底层实现用的是什么? 【宝典直达:Redis 常见数据结构以及使用场景分析】
问:ziplist为什么可以节省空间?rehash过程是什么,为什么要这样做?
问:有序集合底层实现是什么?
问:skiplist实现原理,以及为什么要使用skiplist而不是红黑树。
问:redis网络模型熟悉吗?为什么是单线程,redis6.0多线程实现是什么样的。【宝典直达:Redis6.0 之后为何引入了多线程?】
问:redis是怎么保证多线程进来的多个命令,保持顺序进入单线程的命令处理模块的。 【宝典直达:Redis 单线程模型详解】
答:应该类似golang中channel,管道的方式实现。
问:channel底层了解吗?golang中向管道写数据是否会对管道加锁。 【宝典直达:channel通道】
问:MySQL索引实现。(B+树相关,以及为什么不用B树,B+树的优势在哪里)
问:数据库的隔离级别,MySQL中innodb默认的隔离级别,mvcc如何实现的,以及mvcc能否解决幻行的问题。
算法题:
三个数组的归并排序
查找一个字符串中无重复字符的最长子串。
反问:表现怎么样
答:等HR通知
反问:mvcc能解决幻行吗?
答:自己百度。
三面:
自我介绍
问:两台主机输入同一个url地址出现页面不同可能的原因。
答:token不同,cookie不同,本机对url缓存解析不同。这之中又问了问cookie和session,DNS解析的过程等
问:restful接口是什么? 【宝典直达:RESTful API设计标准和实践】
问:redis集群知道吗?如何实现在集群中找到对的服务器。
问:一致性哈希知道吗?
问:mysql索引优化。
智力题:两个人抛硬币,先抛到正面的赢,问先后手的胜率是多少。
算法题:
有用(0) 面试难度:困难 应聘途径:网上申请