歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 20140916阿裡巴巴面試經歷---成都站

20140916阿裡巴巴面試經歷---成都站

日期:2017/3/1 9:38:05   编辑:Linux編程

崗位---研發工程師(C++方向)

結果:進入終面 被拒

流程:

8月29號在線筆試-->9月16號成都沃特酒店(一面、二面、終面)

在線筆試:

在線筆試,每個人的題目隨機分配,大部門題目不相同。

可以參考以下網址中的資源

http://www.linuxidc.com/Linux/2014-10/108754.htm

http://www.linuxidc.com/Linux/2014-10/108756.htm

http://www.linuxidc.com/Linux/2014-10/108755.htm

在線筆試的題目主要有選擇題和三個附加題組成。

選擇題目涵蓋程序設計語言基礎、操作系統、算法問題(排列組合、概率之類的問題也有)等,感覺選擇題目基礎部分難度適中,算法部分還是有一定難度的。

附加題主要有三道:

1.給定一個query和一個text,均由小寫字母組成。要求在text中找出以同樣的順序連續出現在query中的最長連續字母序列的長度。例如, query為“acbac”,text為“acaccbabb”,那麼text中的“cba”為最長的連續出現在query中的字母序列,因此,返回結果應該為其長度3。請注意程序效率。

該題的實質是求兩個子串的最長公共子串。網上有很多地方都有該問題的討論,可以參考,此處不再贅述。

2.寫一個函數,輸入一個二叉樹,樹中每個節點存放了一個整數值,函數返回這棵二叉樹中相差最大的兩個節點間的差值絕對值。請注意程序效率。

此題比較簡單,改寫二叉樹的非遞歸遍歷算法,設兩個變量max,min分別為最大的數和最小的數,max和min的值為根節點的初始值,在遍歷樹的過程中不斷進行比較,修改max和min的值,最後max-min即為該樹中所有結點差值絕對值最大的值。

3.天貓魔盒的應用:要求魔盒寫出下單的接口,實現下單邏輯。以及問需不需要加事務,如果不加要怎樣保證數據的一致性。

因為對java不是太熟,此題放棄了。


總結:總的來說,阿裡的筆試題目還是比較靈活的,不僅僅是考查基礎,更看重一個人靈活運用所學知識解決實際問題的能力。

一面:

簡單介紹參與的科研與項目的主要內容

淘寶購物時,搜索商品數量達到前10的關鍵字的主要算法思想(經典的Top-K問題)
hash表和平衡二叉樹的插入、刪除效率對比
hash函數的設計
hashmap的實現 及其采用的數據結構,如果沒有看過STL中關於hashmap的實現源代碼,面試官也會問你自己打算怎麼實現

編寫函數鏈表逆置,注意處理指針為空等異常處理,必要的地方給出代碼注釋

實現字符串逆置的主要算法思想

以下三個問題的主要算法思想,,時空復雜度要盡可能的低,每個問題最好有多種思路:

兩個集合求交集:(集合數組數組元素分別進行預排序,設兩個數組下標p和q分別指向兩個集合數組A,B的首元素,比較A[p]和A[q]的值,分為小於,大於,相等三種情況,記錄交集元素,增加對應的下標)

三個集合求交集:(三個集合的元素合並在一起進行排序,最後再去重,感覺應該不是最好的算法)

一長一短的兩個集合求交集:(當時沒想出來,後來想了一下,可以先對兩個集合進行預排序,對短集合中的每個元素在長集合中進行折半查找,如果查找成功,則是兩個的交集元素)

快排分區思想
基本有序采用的排序方式

char str[10] 能否往str中寫入100個字節的數據 會產生什麼樣的後果,並舉出具體的例子(比如:緩沖區溢出)


TCP C/S通信的基本流程

TCP多並發連接的處理 多線程,I/O多路復用
select epoll 的實現原理及其 對比分析

想問面試官的問題

總結:一面的問題主要是對基礎和解決問題能力的考查,問了我很多數據結構和算法的問題和網絡的一些重要問題,思維一定要活躍、敏捷,對不能回答的問題也要盡量講講自己想從哪個方面下手解決這個問題。一面總體回答的比較好,於是很輕松的進入了二面。

二面:

研究工作的主要步驟和模塊 自己在項目中完成的步驟和模塊
項目中有幾個難點,自己對應的解決方法【非常重要】
希望從事什麼樣的工作(具體到某應用領域:如無線 終端 客戶端 搜索應用 客戶端)及其原因分析

想問面試官的問題

總結:二面主要問了些我在實驗室從事的一些研究工作的問題,面試官很看重你對你所做工作的總結力度,要能從多個角度解決反映你的工作量和出色的解決你問題的能力。此外,對於你的研究和項目工作,你實驗室的老師和同學基本都懂,如何在短時間內讓可能不熟悉你這個研究領域的面試官能聽懂你的描述也是一個很重要的問題。二面回答的不是很好,可能是之前對相關問題的准備不是很充分,但還是幸運的進入了終面,估計是想把我留作備胎。

終面(HR面):

本科學校
考研情況
比賽情況
平時喜歡逛的論壇
父母對自己的期望
導師對自己的評價
職業規劃
內推面試經歷
工作地點的選擇

想問面試官的問題

總結:HR面主要圍繞著簡歷上除了科研項目以外的問題進行提問,主要是聊一聊你的性格、家庭背景、教育背景以及與未來工作相關的一些具體問題。這一面感覺很平淡,只要如實說就行了,但重要的是對自己的性格、能力、優缺點和職業發展等有清晰的認識。

等待結果,遺憾被拒...

終面完成後,所有的面試流程都結束了。晚上買了動車票回重慶。兩天後陸續有同學收到參加圓桌會議談簽約的通知,也知道自己估計是被放入資源池了。也認真分析了自己的這次面試經歷,一面表現總體比較好,二面確實在語言的表達和組織方面准備不是很充分,終面能夠體現自己優勢的問題不是很多,綜合排名可能比較靠後。但能進入終面對我來說已經很不容易了,但同一天我們學校進入終面有5個同學,最後只有兩個人沒有收到offer,想來還是有點淡淡的憂傷...

不過我還是認真的總結了這次面試的經驗和教訓,這讓我後來參加騰訊的面試顯的比較輕松,所以感覺也不枉此行了...

Copyright © Linux教程網 All Rights Reserved