最近参加了淘天的开发工程师岗位面试,经历了一面和二面,三面因为理解错了面试官的意思而遗憾挂掉。以下是我对一二面面试过程的详细记录,希望能对大家有所帮助。一面为什么要使用线程池?线程池的执行过程、参数和饱和策略是什么?线程的状态有哪些?synchronized和lock的区别是什么?lock如何实现公平锁?MySQL中InnoDB和MyISAM的区别是什么?InnoDB的索引类型有哪些?MVCC的底层实现原理是什么?update在MVCC中是如何实现的?分库分表的分片方法有哪些?如何保证唯一主键?消息队列如何保证消息不丢失?分布式事务的实现方法有哪些?AOP的实现原理是什么?动态代理、JDK和C...