【产品经理】面经分享 1. JVM的内存模型 2. 谈谈GC,CMS的流程,新生代老生代分别用什么算法 3. 谈谈类加载器,类加载器有哪些,双亲委派最终是由父还是子加载 4. 操作系统的悲观锁、乐观锁 5. 数据库层面的悲观锁、乐观锁 6. 数据库事务讲一下 7. Redis的持久化机制 8. Redis如何实现高可用 9. 索引的类型,索引的底层实现原理 10. 谈谈消息队列 11. HashMap底层实现,哈希冲突怎么解决的 12. 各种排序算法讲一下 二面: 1. Spring IoC、AOP,底层代码看过吗,scope作用域为什么要有prototype 2. 谈谈JVM,方法区可以实现GC吗 3. 谈谈你知道的设计模式,知道什么是回调模式吗 4. 谈谈GRPC,为什么用protoBuf作为序列化机制,跟其他二进制比有什么优势(好像有坑,阿里用的是hessian) 4. 高并发系统,海量数据分库分表的策略 5. 数据库前面的Redis缓存,如何实现查询的负载均衡(这里扯出了布隆过滤器及其哈希函数冗余) 6. 为什么选择阿里巴巴?你对待工作的做事原则有哪些? 7. 英文介绍你在项目中遇到的困难(这个真的懵逼了) 三面: 1. 选一个项目具体讲讲背景、你的职责、遇到的困难以及如何解决(然后各种问细节) 2. 项目中用了REST,是拉的还是推的,既然是实时为什么不用推的 3. Redis和数据库如何保证数据一致性 4. 问了我参加的数学建模美赛(感觉被鄙视了,对方以为是ACM) 4. 在技术方面还有哪些兴趣?最近在看哪些技术方面的书 四面(交叉面): 1. 谈项目,问一些细节 2. 操作系统学过吗?进程和线程区别? 3. 算法学过吗?讲讲动态规划、快排、堆排 4. 用过什么代码质量检测工具?自己写代码的时候会如何注意代码质量? 5. 用过什么JVM调优命令? 6. 如何实现线程安全?java的线程安全类?讲讲线程池 7. 讲讲生产者消费者模式 8. 还投了哪些企业,有offer了吗 HR面: 1. 前面的面试有什么收获吗? 2. 你回顾自己的项目,有哪一点是最遗憾的最想改进的?具体讲讲 3. 你有什么技术方面崇拜的人吗? 4. 为什么选择开发不选择算法? 5. 看你发了一些论文,当时出于什么想法发的论文? 6. 还投了哪些企业呢,你觉得阿里巴巴跟其他企业相比有什么不同 7. 非科班出身,你是如何积累自己开发方面的技能的,如何自学的?8. 你在技术方面的未来规划
3轮面试:笔试、视频面试、电话面试
面试感受:一般;面试难度:有难度;面试来源:内部推荐