下午刚面完,趁还有印象写篇面经
本人上交劝退专业大三,今年4月开始学习Java,比较菜,第一次发面经,欢迎大家指点😅
1.redis哈希结构具体实现?(两个hashtable,别的和jdk哈希表差不多)
2.myisam和innodb区别(答了事务支持和索引区别,还想说但面试官说可以了)
3.联合索引和覆盖索引(答能减少回表什么的)
4.zookeeper用的什么一致性协议?(zab)
5.你还知道什么一致性协议?答了paxos,但太复杂了记不住,只非常简单地说了一点。他说知不知道raft,一时没想起来,他说redis哨兵用到了,就想起来了
6.redis哨兵选举
7.redis过期键策略(惰性删除、定期删除)
8.定期删除怎么做的?(服务器事件循环)
9.你刚才说redis的所有定时器是用链表存储的,还知不知道别的处理方式(不确定对不对,答了quartz的定时任务是用两个队列保存的)
10.提到队列面试官想到mq了,就问mq的使用场景(异步,举了个发送验证邮件的例子,还有流量削峰)
11.最近在看什么书(因为jd上有说了解hadoop为佳,就在看hadoop权威指南)
12.做了个题,两个有序的数组A和B,合并成一个有序数组,要求不能开新空间,在A上原地操作,假设A的空间足够大
一开始想直接双指针,但是要求不能开新数组,就陷入沉思,最后在面试官提示下才写了出来,他还是很nice的,其实就是反向双指针,把大的元素优先往A后面的冗余空间里塞,果然自己还是基础不扎实啊😭
最后说主要开发语言是go,问愿不愿意学
反问时请面试官分享了一点go的学习经验
期待后续🤗
全部评论
(11) 回帖