2022虾皮提前批后端一面和二面HR面已意向
虾皮shopee后端一面,二面,HR面,base深圳
7.11一面总共花了35分钟,个人觉得有点短,面试官说赶时间,最后一个算法题没让我撕就让我说思路
1. 自我介绍
2. 进程、线程、协程
3. TCP的特点和要怎么改进
4. 跳表数据结构,redis中哪里用到了跳表
5. B+树特点
6. mysql索引
7. 哈希索引
8. 联合索引,最左前缀匹配规则,sql优化器在其应用
9. 死锁必要条件和预防的基本方法,检测死锁
10. 检测死锁的表可以用什么实现,我说的hashmap,面试官提醒我图可不可以,答有向无环图可以
11. redis集群模式,什么情况下需要集群模式,redis主从复制原理,什么时候全量复制,什么时候增量复制
12. 智力题,9000g面粉,有50g和200g面粉,一个天平,怎么样三次内获得2000g面粉
13. 代码:链表反转
14. 代码:单链表,排序,时间复杂度为O(nlogn),快慢指针加归并排序
2. 进程、线程、协程
3. TCP的特点和要怎么改进
4. 跳表数据结构,redis中哪里用到了跳表
5. B+树特点
6. mysql索引
7. 哈希索引
8. 联合索引,最左前缀匹配规则,sql优化器在其应用
9. 死锁必要条件和预防的基本方法,检测死锁
10. 检测死锁的表可以用什么实现,我说的hashmap,面试官提醒我图可不可以,答有向无环图可以
11. redis集群模式,什么情况下需要集群模式,redis主从复制原理,什么时候全量复制,什么时候增量复制
12. 智力题,9000g面粉,有50g和200g面粉,一个天平,怎么样三次内获得2000g面粉
13. 代码:链表反转
14. 代码:单链表,排序,时间复杂度为O(nlogn),快慢指针加归并排序
7.18二面 45分钟左右
1.自我介绍
2.项目。项目包括数据库(kafka,redis,mysql),分布式,分布式锁实现等。
3.根据项目中用到的技术栈问八股和自己的理解:包括:
(1)kafka的作用,业务中依据什么划分数据重要性,为什么要用kafka,为什么设置分区,是否有序,消息队列的作用和应用场景(与kafka的作用类似,只是更抽象一点)。
(2)为什么要用缓存redis,对于redis的理解,redis基本数据结构string,redis的cluster模式和主从模式分别是干什么用的(本来想扯一下hash槽和一致性hash算法但是搞忘了)。
(3)分布式锁是怎么实现的,setnx是怎么设置过期时间的,如果时间过短和时间过长分别会有什么影响。
(4)mysql和redis数据一致性是怎么保证的,mysql中数据量多大,redis中数据保存多少条,redis缓存淘汰策略是什么,lfu和lru的区别,lfu中频率相同的数据是什么淘汰策略。
4.根据项目问完相关技术选型开始传统八股:
(1)集合有哪些,treeset和treemap的底层实现(答不知道!!)
(2)hashset的本质原理
(3)hashmap的rehash过程,扩容过程,put函数的底层
(4)mysql索引失效场景有那些
(5)最左匹配原则的题(给了6个sql语句让判断那些命中索引那些没命中,以及为什么,这里要根据b+树底层的存储原理来答比较好)
(6) mysql的事务,ACID是怎么实现的,undolog和redolog的作用,历史读和当前读的区别等等。
5.场景题:一亿个url怎么样找到其中重复top100的url(这个我答的不太好,一开始想着使用bitmap去处理大体量数据,没想到hash冲突怎么办,这个答得最不好)
6.算法题:数组的奇数放在奇数位,偶数放在偶数位,先说思路再敲,大概用了3分钟,简单双指针的题。
7.29 HR面
1.为什么选虾皮
2.对工作比较看重什么
3.硕士毕业的东西准备的怎么样了
4.未来规划
都说牛客许愿很灵,真心想去虾厂,许愿一个虾皮offer!!
8.31已意向 还愿虾皮!!!!!!等一手正式offer
#虾皮提前批##面经##校招##软件研发工程师##Shopee#