前段時間投了網易的實習生,經曆了兩輪面試,故寫此面經以做總結。
一面:
一面在電話中進行,以計算機基礎知識為主,可以說較為容易。
内容包括快速排序,網絡中的三次握手四次揮手細節,資料庫中的内外連接配接,spring特性,spring mvc的流程和原理細節等。這些網上一查即知,故不予詳述。
其中大概有兩點我有點遺忘,其一是vector和arraylist的差別,其二是hashtable為什麼是線程安全的。
面試之後經查相關資料,再仔細斟酌了這兩個問題。以我的了解,vector和arraylist均通過數組實作,他們的不同點在于vector支援線程的同步,同時使得它通路性能相對差些。
HashTable使用synchronized來保證線程的安全。
二面:
二面是現場面,對我來說就有些難度,故未答好。
問題包括,深度優先和廣度優先搜尋,手寫單例模式及其部分優化代碼,資料庫索引相關,手寫堆排序算法,python庫,個人以往項目中涉及安全及并發功能細節等。