閱讀屋>面試> 阿里技術電話面試

阿里技術電話面試

阿里技術電話面試

投了阿里巴巴暑期實習的崗位,過了幾天就收到了電話面試,第一次是週六的下午,難道阿里巴巴的員工週六都還要加班,太恐怖了...當時在外面逛街,就重新約了另外的時間。週一的晚上就收到的電話,想想這個時間應該正常。作為程式設計師平時還是要以公司的事情為重的,閒下來了之後才能做一些面試的工作,所以他把時間安排在了週六或者晚上,接下來簡單寫寫面試到的問題吧,範圍挺大的,很多都答不上來,不知道還能不能有後續。

資料結構的知識:

1.陣列和連結串列的優缺點,隨機訪問,方便增刪。

2.一個元素和在陣列和連結串列中查詢它的時間複雜度...我怎麼覺得這個問題沒什麼意義,我怎麼感覺都是O(n)呢。

3.改進為一個有序的陣列,那就是二分了嘛,有序的連結串列?單鏈表是O(n),雙鏈表呢,好像還是O(n)...

4.怎麼在O(1)的時間內查詢到某個元素在陣列中的位置,我答的需要hash表的輔助,接著問題擴充套件到hash表上,hash表存在的問題,我只知道一個衝突,衝突的解決方法有哪些?二維陣列解決,另外找最近可用的`存放...其實也記得清很多解決方案了。

資料結構知識好像就只問了這麼多,接下來問了資料庫的知識,其實這方面的知識我只保留了會寫sql語句了...

1.資料庫的索引的資料結構,我大概知道是B+樹或者B樹,能不能描述下它的結構...這個就虛了。記得不是很清楚了,隨便瞎說了一通。

2.資料庫中某個欄位建立索引,模糊查詢的時候能夠索引嗎,完全不懂呀...

資料庫真心忘得差不多了,幸虧你沒繼續問,第一正規化,第二正規化,第三正規化的定義,我都不記得了。

然後問到了一個設計模式的問題,舉例一個設計模式應用場景,

這個問題一時半會沒想起來,隨口說了一個看到的程式碼裡用到的單例模式,然後就被繼續問了單例模式下什麼情況會失效。我僅僅只記得如果不加鎖會在多執行緒的時候失效...顯然這不是他想要的答案,後來他問我瞭解不瞭解分散式下物件共享有沒有接觸過,我沒有接觸過這方面的東西,所以給補了他想要的答案了...

網路方面,TCP的三次握手的具體過程,這個我沒答上來,回來自己複習了一下。這個經常會被問到,建議熟記於心,TCP釋放的四次握手過程也應該熟記於心。又問了一些socket的知識,雖然我瞭解了一點ACE的東西,但是我知道這方面我不熟,我就說我簡單的用過socket。

C++方面,虛擬函式的具體使用場景,我只記得主要是配合多型使用,繼承的時候解構函式宣告為虛擬函式...,還有智慧指標的問題,我只記得auto_ptr和boost的smart_ptr的策略不同,一個是保留的,一個是計數的策略。然後就是記憶體洩露的問題,new和不匹配,異常導致洩露,怎麼預防記憶體洩露,RAII,都是簡單瞭解,就隨便說了一下,應該答的也不是太好。

然後問了簡歷上的一些專案的事情,問到linux下檢視文字行數的命令,這個真心不記得,我說vim可以檢視行數的...然後被鄙視了,說那是視覺化的。另外問了一些軟性問題,同學怎麼評價你的,性格如何。

阿里的面試範圍真是廣,還以為會被問到演算法呢,沒有,可能電話面試不太方面描述吧。簡單記錄一下,還沒接到電面的可以參考一下。有所準備,歡迎指正錯誤。

後來是收到了阿里的拒絕資訊。原來在自己很弱的時候還不能發覺自己很弱,這樣很可悲,我個人還會覺得我其實答的不是太壞,總應該給一個接下來面試的機會吧。我看到下面直接評論沒戲的時候我會覺得其實我答的也不是特別的糟吧。我總不會懂那麼知識吧。畢竟我沒有為了這個實習把所有的方面都看了。他們應該也是考慮了很多的方面吧。自己還沒有那麼的完美,只能把這個當做是一次催人奮進的小插曲。加油。多看書,多碼碼。


【阿里技術電話面試】相關文章: