Java面试一般,共1轮面试
Q: 1. JVM的内存模型
Q: 2. 谈谈GC,CMS的流程,新生代老生代分别用什么算法
Q: 3. 谈谈类加载器,类加载器有哪些,双亲委派最终是由父还是子加载
Q: 4. 操作系统的悲观锁、乐观锁
Q: 5. 数据库层面的悲观锁、乐观锁
Q: 6. 数据库事务讲一下
Q: 7. Redis的持久化机制
Q: 8. Redis如何实现高可用
Q: 9. 索引的类型,索引的底层实现原理
Q: 10. 谈谈消息队列
Q: 11. HashMap底层实现,哈希冲突怎么解决的
Q: 12. 各种排序算法讲一下
二面:
Q: 1. Spring IoC、AOP,底层代码看过吗,scope作用域为什么要有prototype
Q: 2. 谈谈JVM,方法区可以实现GC吗
Q: 3. 谈谈你知道的设计模式,知道什么是回调模式吗
Q: 4. 谈谈GRPC,为什么用protoBuf作为序列化机制,跟其他二进制比有什么优势(好像有坑,阿里用的是hessian)
Q: 4. 高并发系统,海量数据分库分表的策略
Q: 5. 数据库前面的Redis缓存,如何实现查询的负载均衡(这里扯出了布隆过滤器及其哈希函数冗余)
Q: 6. 你对待工作的做事原则有哪些?
Q: 7. 英文介绍你在项目中遇到的困难(这个真的懵逼了) 1条回答
三面:
Q: 1. 选一个项目具体讲讲背景、你的职责、遇到的困难以及如何解决(然后各种问细节)
Q: 2. 项目中用了REST,是拉的还是推的,既然是实时为什么不用推的
Q: 3. Redis和数据库如何保证数据一致性2条回答
Q: 4. 问了我参加的数学建模美赛(感觉被鄙视了,对方以为是ACM) 1条回答
Q: 4. 在技术方面还有哪些兴趣?最近在看哪些技术方面的书2条回答
3轮及以上 有收获 看中专业技能 jvm 缓存 模型 哈希 redis 数据库 算法 hashmap 操作系统