2014阿里實習生面試感想

本來就對a公司很感興趣,但是又覺得自己的水平還不夠,不過還是特別想嘗試下。

來到面試現場,雖然自己想面內核方向的,但看到被分到C++組,C++就C++吧。走到第一位面試官前面坐下,直接出了兩道題,一道排序再加二分查找,另一道刪除字符衝中的重複的字符,比較簡單,但限時十分鐘。之後簡單的介紹了自己的學習情況和知識領域,我說了linux,內核,體系結構之類的,那面試官有點尷尬,說他部門應該沒有類似的崗位,那我就說可以問我些C++,之後就是多態,重載,隱藏,模板類等基礎知識,比較容易,之後面試官說可以聯繫適合我方向的面試官問我,然後出來,等着,還蠻開心的,覺得非常的人性化,因爲這次上海站招的是C++和java方向的,就我這個二逼說了要面內核,其實也是因爲看到網申的主頁上說那裏有非常厲害的內核團隊。之後一工作人員開始翻面試官的名單,只找到一個稍微接近的有做過一些linux相關的面試官。之後開始第二次面試,前面主要是正常的聊聊天,後面扯到內核,然後講啓動過程,一講出bootloader,面試官打斷希望詳述bootloader具體做了什麼,然後我開始回答在第一階段要進行部分硬件的初始化,面試官打斷,問爲什麼要初始化,具體要初始化哪些,我回答了像存儲器之類的,像一些arm裏面有stepping stone,只有4KB,要將階段2的代碼搬移到sdram裏面,追問爲什麼設定4KB,爲什麼不做的大一點直接跑,我是從成本了速度的角度回答的,接着說會拷貝內核到flash裏面,追問有哪些flash,區別,哎,弄得我都覺得再面試嵌入式軟件開發了,回答完,追問在內核啓動過程中,你如果要去做攻擊會從哪些地方入手,這個攻擊是說要獲得root權限,要從哪方面考慮,這個我真的是悶了,經過很多提示,大致說改變啓動的地址,改變映射之類的,但我真的不是很清楚,回答的不好,接着看到我簡歷裏面會GDB調試,問我GDB調試的原理,程序在斷點處停下來我是知道的,利用軟中斷,隱約記得有個ptrace的追蹤函數,產生子進程之類的,追問那如何實現查看那些變量或者改變這些變量,既然是用進程間追蹤那是如何傳遞這些值的?是用些進程間通信嗎?這個答不出來,實在沒這麼深入的去思考過。之後問了調試調試符號表,全局符號表,這些還能答,主要涉及程序鏈接的過程,在linux下生成的可執行文件的組成。之後談到對linux內核源碼的理解和認識,在過程中我提到linux的有些東西特別讓人感嘆,包括將很多不同的體系結構和CPU之類的納入統一的框架中,比如中斷,VFS,這兩個我都徹底詳述了下,面試官談了他自己的理解,覺得我的想法只是半對,他覺得是因爲linux內核抓住了計算機的本質,抓住了計算機最核心的東西,它本身做起來並不是爲了包容一切,當時我就覺得很贊同他的想法,我從外圍的東西去思考,認識到的都是些現象的東西,卻沒有抓住最核心的東西。之後就是人生規劃啊,最害怕的事啊,性格優勢和缺陷啊之類的。

       一直以來都覺得自己思考些東西還是滿深入的,但經歷過這次面試讓我覺得自己對計算機或者內核的瞭解還太表層,阿里的面試官的知識廣度和深度都讓我很喫驚,我覺得他們需要的不僅僅是對語言的或者內核的瞭解,更在乎的是一種極其強烈的探索精神,這次面試其實也暴露出我的這些缺陷,但還是感到很開心,感覺見到高山的感覺!

     這次被拒是肯定的,但一點都沒有影響我對阿里的嚮往,下次再戰!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章