拼多多 Java研發(fā)工程師 面經(jīng)
8月5號做的筆試,提前批的面試硬是拖到了9月19號才給我的一面,這就是地理位置的劣勢,因為在面試地點詢問中選擇了廈門遠程面,估計廈門應該是最晚的了,面試感覺很底層和綜合
一面(電面)
時間有點久,內(nèi)容有些記不太清,記錄一下大致問題(順序不分先后)
自我介紹
- 介紹一下mysql索引?為什么用B+樹?
- 網(wǎng)絡(luò)IO模型?什么是多路復用IO?select和epoll的差別?select具體過程?
- java類加載機制?雙親委派模型的好處?
- 進程和線程的區(qū)別?線程是不是越多越好,為什么?操作系統(tǒng)怎么調(diào)度的,調(diào)度算法?java中cpu調(diào)度是線程還是進程?
- 數(shù)據(jù)庫事務?隔離級別?
- java線程變量怎么實現(xiàn)的?內(nèi)存模型?
- 手撕代碼
- 用數(shù)組模擬循環(huán)鏈表
- 堆排序?qū)崿F(xiàn)
二面(電面)
面試官有事情遲到了40多分鐘,不過很有禮貌表示了歉意,人非常好,感覺是個技術(shù)大佬,思維還有語速都很快,帶的我語速都變快了。
自我介紹
- 數(shù)據(jù)庫索引?B+樹?為什么要建索引?什么樣的字段需要建索引,建索引的時候一般考慮什么?索引會不會使插入、刪除操作效率變低,怎么解決(分表操作)?
- 數(shù)據(jù)庫事務特點?事務隔離級別?項目中的事務實現(xiàn)?臟讀、不可重復讀、幻讀各舉個例子?
- Spring bean的生命周期?默認創(chuàng)建的模式是什么?不想單例怎么辦?
- 設(shè)計模式,單例模式,怎么保證線程安全?鎖效率太低,怎么提高效率?CAS?CAS本質(zhì)是什么?什么是原子性?Compare and Swap兩步操作,為什么能保證原子性(涉及到CPU指令)?分布式鎖?
- 還有什么設(shè)計模式?工廠模式有幾種,都講講?簡單工廠模式和工廠方法有什么差別?
- 數(shù)據(jù)庫表怎么設(shè)計的?數(shù)據(jù)庫范式?設(shè)計的過程中需要注意什么?enum類型的值一般怎么存?如果有一個十幾位的小數(shù)為了不丟失精度怎么存?tinyint幾個字節(jié),int幾個字節(jié)?