天猫Java研发岗面经(技术三面):基础+算法+MySQL+Redis+秒杀架构

本文详细记录了一位求职者在天猫Java研发岗位的技术三面经历,涵盖了Java基础、并发、数据库、缓存、分布式架构等多个方面的问题。面试官深入追问技术细节,如数据库操作底层执行、HashMap与WeakHashMap的区别、Redis持久化机制等,并要求绘制大型网站分布式部署图。面试者还分享了面试后的技术总结和学习建议。

面试过程:

一面总体上还是围绕Java基础、JVM、并发编程、数据结构等展开。一面结束后很快安排了二面,相对一面,二面和三面从项目入手多数问的是数据库,缓存,分布式架构等问题且更深入,问题比较刨根问底,更加注重对一些技术细节的理解和把握。比如数据库操作,面试官会详细的问你数据库插入和删除一条数据的过程在底层是如何执行的,项目里配置了读写分离,也会比较深入的就实现方法和底层逻辑展开讨论。HR面很愉快,问了一些薪资和职业规划上的问题!

面试问题如下(文末整理了免费架构面试资料分享):

技术一面(注重问了基础):

  1. 自我介绍!
  2. 常见集合类的区别和适用场景?
  3. 并发容器了解哪些?
  4. 如何判断链表是否有环?
  5. 平时会用到哪些数据结构?
  6. 解决hash冲突的方法有哪些?
  7. 讲讲自己对HashMap的理解,以及和Weakhashmap的区别?
  8. concurrentHashMap如何实现?
  9. 集群服务器 如何application 共享?
  10. BIO、NIO、AIO的区别和联系?
  11. jvm内存模型jmm 知道的全讲讲
  12. JAVA的垃圾回收,标记算法和复制算法的区别,用在什么场合?
  13. http和https的区别,http1.x和http2.0的区别,SSL和TSL之间的区别?
  14. GC、G1和ZGC的区别?
  15. B+树和B树的区别,和红黑树的区别?
  16. 内存泄漏与内存溢出的区别?
  17. session的生命周期是多久?
  18. 关于Mina框架了解多少?(因为我在项目里用到了Mina,所以提到了这个部分)

技术二面(大多是数据库缓存等):

  1. 自我介绍,讲
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值