春招面经:如何成功获得美团、华为和字节跳动的offer
美团
第一面试
- 深入讨论项目,问题繁多,主要围绕某功能的实现细节和如何添加新功能进行探讨。
- 了解进程与线程的区别。
- 讨论死锁及其产生条件。
- 知道中断与轮询的区别吗?
- 数据库索引,探讨B+树的存储能力。
- 了解数据库存储引擎及其区别。
- 数据库锁的相关知识。
- 算法题:求从起始点到终点的最短路径。
第二面试
- 项目讨论。
- 理解序列化与反序列化。
- 了解负载均衡的不同类型。
- 讨论OOM(Out Of Memory)的情况,如何处理和排查。
- Spring 启动流程。
- Spring中的设计模式。
- 对于模版模式的理解与应用场景,以及在项目中的使用。
- HTTP请求的整个过程。
- TCP与UDP的区别。
- 熟悉哪些Linux命令。
- 设置索引时需注意的事项。
- 最近阅读的书籍及其收获。
- 算法题:合并有序数组,要求O(N)时间复杂度和O(1)空间复杂度。
- 数据库设计:只能以半小时为单位预定会议室。
数据库设计题
华为
第一面试
- 项目及论文介绍。
- String类是否可以被继承。
- Java内存泄漏及其排查。
- Hash方法及哈希冲突的解决策略。
- 静态代理与动态代理的区别。
- 线程通信的方式。
- volatile关键字的使用。
- Java高效拷贝数组的方法。
- 算法题:跳跃游戏(LeetCode 55)。
第二面试
- 项目及论文的简要介绍。
- 项目是自学习的还是实际落地的项目。
- 大学期间保研绩点较高,但研究生期间为何未能保持。
- 对华为的了解程度,进行了深入讨论,因我本身是华为用户。
- 实习经历的讨论。
- 反问部门、技术栈以及是否能选择项目。
字节
第一面试
- 项目讨论,探讨实现过程及从中学习的内容。
- 手写单例模式,并比较与Spring单例的区别。
- 算法题:给定一个整数数组
nums
,返回该数组的所有可能子集。 - SQL题:根据题目要求编写相应的SQL,由于时间久远未练习,未能解答。
- 智力题:在1到N的批次中,找出重量不合格的批次,要求最少的称重次数。
第二面试
- 项目讨论。
- volatile关键字的应用。
- JVM新生代的划分与大对象的分配。
- 新生代的垃圾回收器。
- ParNew的原理。
- InnoDB的默认隔离级别,RR能否防止幻读,RR是否默认使用间隙锁。
- 如何理解最终一致性,有哪些实现方法。
- 分布式事务的相关知识。
- 算法题:数组中每个数右边第一个比它大的数。
第三面试
- 项目讨论。
- RAFT协议下的脑裂和一致性。
- 负载均衡相关知识。
- 各种排序算法,分析其复杂度和稳定性。
- 其他问题未记起,大部分围绕项目展开。
- 算法题:旋转图像(90度旋转矩阵)。
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果