转载声明:文章来源:https://www.nowcoder.com/feed/main/detail/3b8f2bf8f92f49e28d906efcb9012f97
刚面完三面,写个面经分享下,希望能帮到大家吧。java开发,饿了么用户增长部门。
8.28投的,8.31测评,9.2笔试
9.5 一面:
面试官很和蔼。首先是聊了会项目,然后是一些八股:
1. Redis如何存储亿万级别用户的状态信息?用什么数据结构?
2. String、StringBuilder、StringBuffer的区别?
3. String为什么是不可变的?其不可变性是咋理解的?
4. 详细讲讲类加载过程?
5. 数据库中如何对很长的字符串加索引?
6. 布隆过滤器底层结构?出现误判的情况和原因?
手撕:对IP地址进行编码存成一个int值(位运算)0
9.7 二面:
面试官非常友善,感觉像个技术主管。问的主要是项目,几乎没有八股。详细聊了下研究生的项目,各种细节都问到了。
手撕:1. 反转链表 2. 搜索二维矩阵
9.12 三面:
有一个技术主管,还有个HR,是技术+HR的混合终面。技术面主要是简历中的项目挨个聊了聊,问了一下架构方面的考虑,业务的应用场景和市场适配度。然后项目中一些功能的意义,为什么要开发这个功能?也问了少量八股,如下:
1. 有个场景,想要存用户ID,以及用户其他信息,想要利用Java集合的知识设计一个结构,防止重复ID存储?
一开始答的是哈希表,后来面试官想让兼容一下哈希表、set、list等各个结构,又答了Redis的结构存储。但好像面试官还是想让自己设计一个,没咋答出来。。
2. 哈希表的底层结构?
3. 除了使用拉链法、红黑树解决哈希冲突,还有什么新的方案或者结构来解决哈希冲突吗?
然后HR面主要就是聊天,HR姐姐人非常奈斯,聊天氛围很轻松,体验很好。
手撕:1. 实现Trie(前缀树)