阿里CTO線面經 技術終面篇


阿里CTO線面經

不得不說阿里的效率真的非常的高,我剛投完簡歷的就收到了綜合測評的鏈接。完成了綜合測評馬上就收到了面試的通知,一面的時間比筆試還早,完成了筆試后也馬上就被通知參加技術終面,然后就是緊接着的HR面,基本在一個星期就完成了所有的筆試和面試。個人覺得阿里的面試體驗是面過的公司里最好的。面試官非常的耐心和善,而且個人感覺不管是筆試還是面試考察的重點都是綜合素質(包括是否善於思考、是否聰明靈活、遇到新的問題怎么解決),並沒有問很多死記硬背的八股文,也並不要求刷很多的算法題。

阿里技術終面

1、首先自我介紹。
2、問了一下第一段實習經歷有沒有參加過什么實際的項目,有什么收獲?(因為我第一段實習經歷是遠程實習,沒有參加實際的項目,主要是以學習技能為主,因此面試官沒有過多的詢問)
3、最早接觸編程時什么時候,起因和動機是什么?
4、對讀研和工作有什么想法,是否有深造的打算?
5、介紹一下自己印象最深刻的項目以及在項目中遇到的問題?
答:個人的項目是一個壓縮軟件的項目,因為是自己親手實現的,
6、是否了解Java的IO體系,能具體的說一說嗎?
答:主要講了一下Java NIO和Java BIO 的區別?
7、能講一講Java NIO和Java BIO 的區別嗎?
8、能否講一講項目中用到的MapperByteBuffer的底層原理?
9、用Java NIO讀文件時,如果讀一個文件是10G大小,那是一口氣全部讀到內存嗎?
10、能否說一說操作系統內存管理的體系結構?
11、內存是不連續的,操作系統怎么去管理這些不連續的內存?(邏輯內存與物理內存)
12、如果隨着運行程序的變多,操作系統的物理內存會變得很大,查詢的效率會變差,操作系統怎么來避免這種情況的發生?(分級管理的機制,改進內存結構(cache))
13、從電腦的硬盤調取一次文件,會涉及到幾次系統調用?(這里因為不太了解具體的系統調用,開始答的不好,后來面試官提醒了知道,其實就是用戶態和內核態切換的問題)
14、能否了解用戶空間這樣的一個概念?
15、能否說一說線程和進程的區別?
16、進程和線程對於內存的訪問有什么區別?
17、操作系統通過什么機制保證進程之間的獨立性?
18、了解設計模式相關的知識嗎?(因為沒學過,就直接和面試官說不太清楚)
19、項目中為什么讀文件的時候用了文件內存映射的方式,寫的時候卻使用了緩存輸出流的方式?
(主要是基於對性能和開銷的考慮)
20、緩存輸入輸出流從底層原理來看和普通的輸入輸出流有什么區別,他是怎么提高讀取的性能的?
21、寫自己的項目的起因和背景是什么?
22、Java中有哪些保證線程同步的方式?
23、有沒有使用過Java中自帶的一些線程同步的工具?
24、能不能說一說TCP協議和UDP協議之間的區別?
25、現在有個有趣的問題:怎么設計,使用UDP也達到一個像TCP一樣的可靠傳輸,能詳細講解一下設計的思路嗎?
26、知道怎么用Linux 的命令去查看當前有多少進程在運行嗎?
27、有沒有和別人一起合作開發的經驗?
28、學習編程的過程中,有沒有遇到對你影響比較大的人?
29、有沒有什么讓你印象比較深刻的比賽經歷?
30、算法題:用紙和筆手寫算法題:很簡單的動態規划化的題目:斐波那契數列
(個人認為手寫的目的可能是考察寫程序的完整性)
31、如果通過的話,大概什么時候可以過來實習?
32、反問環節:請問面試官,向您這樣的專業的開發人員遇到問題會通過一些什么樣的途徑進行解決?

個人的面試感受是面試官的很多問題是來自於項目中的技術點或者相關的知識點,很多問題沒有最正確的答案,只有建立在你充分了解項目的背景和所用知識點的基礎上才能答的很好,而且回答的過程一定要體現你項目的一個思考判斷過程,不要讓面試官覺得你只是隨便模仿了一個項目,並沒有仔細地研究和思考。

一面和HR面的面經后續會整理給大家參考,因為技術終面印象最深刻,所以先整理出來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM