淘天開發(fā)工程師一二面面經(jīng)
最近參加了淘天的開發(fā)工程師崗位面試,經(jīng)歷了一面和二面,三面因?yàn)槔斫忮e(cuò)了面試官的意思而遺憾掛掉。以下是我對(duì)一二面面試過(guò)程的詳細(xì)記錄,希望能對(duì)大家有所幫助。
一面
- 為什么要使用線程池?線程池的執(zhí)行過(guò)程、參數(shù)和飽和策略是什么?
- 線程的狀態(tài)有哪些?
- synchronized和lock的區(qū)別是什么?lock如何實(shí)現(xiàn)公平鎖?
- MySQL中InnoDB和MyISAM的區(qū)別是什么?InnoDB的索引類型有哪些?MVCC的底層實(shí)現(xiàn)原理是什么?update在MVCC中是如何實(shí)現(xiàn)的?
- 分庫(kù)分表的分片方法有哪些?如何保證唯一主鍵?
- 消息隊(duì)列如何保證消息不丟失?
- 分布式事務(wù)的實(shí)現(xiàn)方法有哪些?
- AOP的實(shí)現(xiàn)原理是什么?動(dòng)態(tài)代理、JDK和CGLIB分別在什么階段運(yùn)行以及為什么?
- Bean的作用域有哪些?如何解決循環(huán)依賴問(wèn)題?
- 設(shè)計(jì)模式中,觀察者模式的關(guān)鍵部分有哪些?
- 類加載器的類型有哪些?有什么區(qū)別?如何打破雙親委派?
- 常用的垃圾回收器有哪些?CMS的過(guò)程是什么?可達(dá)性分析和GC Roots有哪些?
- 如何排查OOM?查看堆內(nèi)存的指令是什么?
二面
- 如何處理一個(gè)log文件中的登錄日志?文件太大怎么辦?每條數(shù)據(jù)都不一樣如何優(yōu)化?分布式情況下怎么辦?
- 介紹一下JVM,如何查看線程及各種指令?
- 遇到過(guò)OOM嗎?怎么處理的?
- 了解Linux嗎?Linux的一些常用指令是什么?
- MySQL慢查詢相關(guān)問(wèn)題有哪些?
- 項(xiàng)目中Redis用的是什么結(jié)構(gòu)?為什么選擇這種結(jié)構(gòu)?
- MQ的作用是什么?
- 線程池的核心線程數(shù)怎么設(shè)置?為什么這樣設(shè)置?
- 有沒有寫過(guò)單元測(cè)試?
以上是我在淘天開發(fā)工程師崗位一二面中的面試題目,希望這些信息能對(duì)大家有所幫助。祝大家面試順利!
#軟件開發(fā)筆面經(jīng)#