淘天开发工程师一二面面经

最近参加了淘天的开发工程师岗位面试,经历了一面和二面,三面因为理解错了面试官的意思而遗憾挂掉。以下是我对一二面面试过程的详细记录,希望能对大家有所帮助。

一面

  1. 为什么要使用线程池?线程池的执行过程、参数和饱和策略是什么?
  2. 线程的状态有哪些?
  3. synchronized和lock的区别是什么?lock如何实现公平锁?
  4. MySQL中InnoDB和MyISAM的区别是什么?InnoDB的索引类型有哪些?MVCC的底层实现原理是什么?update在MVCC中是如何实现的?
  5. 分库分表的分片方法有哪些?如何保证唯一主键?
  6. 消息队列如何保证消息不丢失?
  7. 分布式事务的实现方法有哪些?
  8. AOP的实现原理是什么?动态代理、JDK和CGLIB分别在什么阶段运行以及为什么?
  9. Bean的作用域有哪些?如何解决循环依赖问题?
  10. 设计模式中,观察者模式的关键部分有哪些?
  11. 类加载器的类型有哪些?有什么区别?如何打破双亲委派?
  12. 常用的垃圾回收器有哪些?CMS的过程是什么?可达性分析和GC Roots有哪些?
  13. 如何排查OOM?查看堆内存的指令是什么?

二面

  1. 如何处理一个log文件中的登录日志?文件太大怎么办?每条数据都不一样如何优化?分布式情况下怎么办?
  2. 介绍一下JVM,如何查看线程及各种指令?
  3. 遇到过OOM吗?怎么处理的?
  4. 了解Linux吗?Linux的一些常用指令是什么?
  5. MySQL慢查询相关问题有哪些?
  6. 项目中Redis用的是什么结构?为什么选择这种结构?
  7. MQ的作用是什么?
  8. 线程池的核心线程数怎么设置?为什么这样设置?
  9. 有没有写过单元测试?

以上是我在淘天开发工程师岗位一二面中的面试题目,希望这些信息能对大家有所帮助。祝大家面试顺利!

#软件开发笔面经#
全部评论

相关推荐

1 11 评论
分享
牛客网
牛客企业服务