美团三轮技术面 + 一轮hr面 全部安排在了一天,应该是准备一天面试完所有人
每场面试10-30分钟就会有小哥哥或者小姐姐打电话通知结果和下一场面试时间,效率Max
估计这篇面经能帮帮秋招的朋友(只能记起这么多)
笔试
时间:9.18 可以做两个小时,就三道编程,没选择
笔试题目是在一定场景下的,但是核心意思就是下面的几个,题目背景记不大清了。
1. 无向图检测是否有环
2. 根据给出依赖关系,判断是否存在循环依赖
3. 完全背包求方案数
一面
时间:11:10 时长大约30分钟
问题基本都是递进的,老师还一直告诉我不要紧张
1. 是否能接受北京工作
2. 自我介绍
3. 线程和进程的区别
4. 进程间通信方式
5. 信号量通信是如何实现的
6. 网络套接字和本地套接字区别
7. 数据库有了解吗
8. 数据库索引数据结构
9. 为什么不能是Hash结构(我上个问题少答了Hash索引,直接说的B+树)
10. TCP和UDP有什么区别
11. TCP如何实现流量控制
12. TCP是否真的存在 “粘包”
13. UDP存在 “粘包” 吗
14. 如果一台主机之前曾经和我们服务器建立了TCP连接,下一次来了个新的主机建立连接,如果之前的主机又错误的发送了TCP数据包,我们如何判断它来自新的服务器而不是之前的服务器
15. 如果TCP发送方和接收方性能无限,那滑动窗口取决于什么
16. 如果TCP发送方和接收方性能无限,那么我们能通过TCP连接测试出宽带带宽吗
17. HashMap底层数据结构
18. HashMap链表转换红黑树,红黑树每个节点如何确定位置
19. 刚才提到CAS自旋锁,悲观锁和乐观锁有什么区别
20. 乐观有哪些实现方式?
21. 还有什么要问我的吗
(最后说,感谢参加这次面试,看其他人的面经还以为直接凉了)
二面
时间:16:00 时长大约30分钟
1. 自我介绍
2. 介绍一下项目A( https://github.com/qrpcode/wordgo)
3. 为什么多线程使用StringBuilder而不采用StringBuffer
4. 为什么认为加锁会更加节约时间(仅针对项目情况)
5. 如果用户生成文件过大怎么办,内存消耗是否考虑
6. 如何最后校验文件是否正确
7. 介绍一下项目B( https://github.com/qrpcode/daypaper)
8. 项目中遇到的最大的困难是什么
9. 刚才有提到SSL证书,是否了解HTTPS和HTTP区别
10. 还有什么其他的困难印象深刻吗
11. 刚才有提到Dubbo,那你是否了解dubbo的原理
12. 除了MySql还了解什么数据库
13. 项目中redis使用场景 14. redis底层结构了解吗
15. 如果我们有一个日志文件希望统计每个URL访问频率该怎么做(HashMap计数)
16. 我们只能一个一个数吗,有没有其他的办法(HyperLogLog算法 )
17. 还有什么要问我的吗
三面
时间:16:45 时长 大约30分钟
1. 网络协议了解吗
2. 操作系统了解吗
3. 管道有哪些种类
4. TCP和UDP了解吗
5. 还了解什么传输协议
6. socket编程了解吗
7. 还有什么要问我的吗
(似乎还有一些问题,确实记不起来了...)
Hr面
时间:17:20 时长 大约 15分钟
Hr是一个很温柔的小姐姐,告诉我不用紧张
1. 为什么做项目B
2. 项目B的一些运营情况
3. 为什么做项目A
4. 如何推广项目A
5. 遇到压力会怎么办,如何解决
6. 什么时候能够来实习
7. 是否有其他家已经获得offer
8. 还有什么要问我的吗
总结~
面试体验很好,而且每一场出结果是真的快,不用拉长线真的是强太多~
因为比较多,后边就不多说了,直接给大家上题
小米二面
笔试全A,个人感觉题目偏简单,半小时全部做完了
一面: 30min
问的比较基础,而且很快
讲项目
synchronize怎么用,底层实现?试写一小段代码
reentranlock的区别?底层知道吗?
设计模式,手撕单例
用了volatile是为什么?
乐观锁,可重入锁?
collection分类,以及介绍
数据库事务
还有一些题目有点忘了
手撕算法
有一个链表,指定链表位置i和j,将i到j之间的节点reverse。我觉得难度不是很大,但是我的做法需要考虑一下细节,比如加个头节点。
反问表现,面试官说还不错
二面:1h 间隔3天
一个很甜的小姐姐
讲项目
HashMap以及底层,怎么扩容?散列因子知道吗?
散列表如何存放?
equals和==
comparable知道吗?
算法: 给定L和R,在BST中找到所有[L,R]的加和
线程池(7大特性,4大静态方法)
除了单例模式还知道啥?回答工厂,手撕一下?
还有一些忘了,也比较基础
隔了两天就收到offer了,太开心了
贝壳:
一面(40min)、二面(25min)
1、自我介绍
2、了解的数据结构
3、redis的数据结构
4、redis的sds
5、zset的跳表结构
6、创建线程的方法
7、start和run方法的区别
8、常用的线程池
9、线程池中的阻塞队列
10、最大最小堆
11、线程池参数和拒绝策略
12、线程池中核心线程数的数量怎么选择
13、AQS
14、公平锁和非公平锁
15、锁升级过程
16、nio和bio
17、一致性hash算法
18、分布式锁的实现
19、kafka的组成部分
20、类加载机制
21、数据库有哪些,区别是什么,应用场景
22、mvcc
23、间隙锁
24、sql语句的优化
25、cms和g1的区别
26、zgc:好像是新出的gc机制
算法题#
1、手写单例模式
2、数组中找到和为100的下标
3、手写消费者,生产者
hr面,常规问题,就不贴了
贝壳的面试体验非常好,而且流程快,个人还是很like的
其实不论面试的是哪家公司都会问到那么几个相关问题,像是算法啊、项目啊、线程啊、TCP等等,我不知道你们都是怎么复习的,反正我是几本书就搞定了(哈哈),开玩笑的,但是我看的这几本书可以推荐给大家:
算法方便,可以看左神的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,看下目录
项目可以看看《Javaweb项目开发案例精粹》包含20个项目的详细开发,还有对应的视频,应对面试足够了,看目录
线程和并发可以看一看《Java线程与并发编程实践》,系统且详细的介绍了多线程与高并发,看目录
TCP/IP方面可以看看《TCP/IP协议族(第4版)》,一本书搞定网络问题,上目录
目录太长了,我不想截了,反正30多章,讲的详细的不行,有需要获取完整版用来学习的,私信小编【学习】或【资料】来获取!!
TCP/IP/网络IO学习视频
TCP/IP网络协议
网络IO
还有课件分享
IO课件
其他面试资料有这些也差不多够了,你要没有我倒是也能免费分享给你,一起进步嘛~
这上面这些资料都可以免费分享给大家,需要完整版的朋友,可以转发此文关注小编,私信小编【学习】或【资料】来获取!!
网友评论