vlambda博客
学习文章列表

面经 | Java开发技术岗


一面(简历评估):

面经 | Java开发技术岗 1. JVM 的内存模型
 2. 谈谈 GC,CMS 的流程,新生代老生代分别用什么算法
3. 谈谈类加载器,类加载器有哪些,双亲委派最终是由父还是子加载
4. 操作系统的悲观锁、乐观锁
5. 数据库层面的悲观锁、乐观锁
6. 数据库事务讲一下
7. Redis 的持久化机制
8. Redis 如何实现高可用
9. 索引的类型,索引的底层实现原理
10. 谈谈消息队列
11. HashMap 底层实现,哈希冲突怎么解决的
 12. 各种排序算法讲一下

二面:

面经 | Java开发技术岗 1. Spring IoC、AOP,底层代码看过吗,scope 作用域为什么要有 prototype
2. 谈谈 JVM,方法区可以实现 GC 吗
3. 谈谈你知道的设计模式,知道什么是回调模式吗
4. 谈谈 GRPC,为什么用 protoBuf 作为序列化机制,跟其他二进制比有什么优势(好像有坑,阿里用的是 hessian)
 4. 高并发系统,海量数据分库分表的策略
5. 数据库前面的 Redis 缓存,如何实现查询的负载均衡(这里扯出了布隆过滤器及其哈希函数冗余)
 6. 为什么选择阿里巴巴?你对待工作的做事原则有哪些?
 7. 英文介绍你在项目中遇到的困难(这个真的懵逼了)

三面:

面经 | Java开发技术岗  1. 选一个项目具体讲讲背景、你的职责、遇到的困难以及如何解决(然后各种问细节)
 2. 项目中用了 REST,是拉的还是推的,既然是实时为什么不用推的
3. Redis 和数据库如何保证数据一致性
4. 问了我参加的数学建模美赛(感觉被鄙视了,对方以为是 ACM)
4. 在技术方面还有哪些兴趣?最近在看哪些技术方面的书

四面(交叉面):

面经 | Java开发技术岗  1. 谈项目,问一些细节
2. 操作系统学过吗?进程和线程区别?
 3. 算法学过吗?讲讲动态规划、快排、堆排
4. 用过什么代码质量检测工具?自己写代码的时候会如何注意代码质量?
5. 用过什么 JVM 调优命令?
6. 如何实现线程安全?java 的线程安全类?讲讲线程池
7. 讲讲生产者消费者模式
8. 还投了哪些企业,有 offer 了吗

HR 面:

1. 前面的面试有什么收获吗?
 2. 你回顾自己的项目,有哪一点是最遗憾的最想改进的?具体讲讲
3. 你有什么技术方面崇拜的人吗?
 4. 为什么选择开发不选择算法?
5. 看你发了一些论文,当时出于什么想法发的论文?
 6. 还投了哪些企业呢,你觉得阿里巴巴跟其他企业相比有什么不同
7. 非科班出身,你是如何积累自己开发方面的技能的,如何自学的?
8. 你在技术方面的未来规划