2014年9月26 搜狗面試經歷

2014年9月26 搜狗面試經歷

面試時間本來約的是11點鐘,實際是11點半才進到裏面開始面試。

首先是一個自我介紹。當時有點略緊張,就簡單介紹一下自己的學校專業和做的項目,就結束了。後來面試官看了一下簡歷,向我確認了一下自己的家鄉。我感覺這裏我應該多說一句來着:我選擇搜狗的原因之一就是因爲家離北京比較近。

接下來的四十多分鐘裏,基本都在討論之前的那張筆試試卷。

1、 先問的是C/C++第一題,也就是考的聯合體,這個很簡單。

2、 後來問的是一個Linux 64位下C程序的題,考的是sizeof對指針、數組和函數參數中數組形參的大小;這個也不難。

3、 int a[5] = {1, 2,3, 4, 5};  int *ptr =(int*)(&a+1);  printf(“%d,%d”,*(a+1), *(ptr-1));

4、 關於map和vector中插入或刪除元素後迭代器是否失效的問題。這個本來知道的,當時一緊張,有點搞不清楚了,就放棄了。

後面問的是數據結構方面的一些題

5、 給出後序和中序遍歷的結果,讓畫出二叉樹。

6、 給出一遞歸函數,讓計算這個函數被調用的次數。

7、 講解歸併排序的原理

8、 給出一個序列,讓寫出快排一趟後的結果,並講給他聽。

9、 仍然是上面那個序列,用希爾排序完成整個排序過程,寫出每次排序的結果即可,不用寫代碼的。

10、             給一小頂堆,寫出刪除堆頂元素後,重新調整的結果。

11、             Windows方面的題問了一道:哪一個不能用於跨進程同步,選項有CriticalSectionEvent Mutex等。

12、             數據結構寫程序題,反轉二叉樹,及交換所有節點的左右孩子,但不能使用遞歸。這個題是比較簡單的。只要藉助一個隊列,層次遍歷這顆二叉樹,遍歷的過程中,交換左右孩子節點就可以了。

13、             Windows方面有一個大題,其題目描述大概是這樣的:小明寫了一個基於TCP協議的聊天工具,當人數過多時,會產生卡頓、程序失去響應等問題。然後讓分析程序可能出了什麼問題,如何設計程序結構,保證網絡的延遲不會影響用戶UI操作。

我當時是基於TCP和UDP協議的異同點來回答的,同時也提到了多線程。

14、             最後一題是實現一個基於數組的循環隊列類。當時考試時時間來不及,只完成了一半的代碼,剩下的就寫了一下思路。面試官讓我把這題再看看。我就看着試卷思考了兩三分鐘,然後把思路講給他聽。

 

以上部分都是試卷上面的題目。後來又聊了項目、一些基本知識、人生規劃以及寫個小函數。

 

15、             項目方面,他首先讓我介紹這個項目是做什麼的,以及擔任的角色。後來他讓我把項目各個模塊畫出來。讓我指出來哪些是自己做的,然後講分別是如何實現的。講到讀取cookie和獲取上網歷史記錄時,面試官和我討論了好久。感覺這裏我講的不太好。我的程序中還需要解析一個Index.dat文件,他就詢問我這個文件的結構。我的項目中還要遍歷文件夾下的所有文件,面試官就讓我寫一個程序,遞歸遍歷某目錄下所有文件。當時一些所需的結構體和API函數都想不起來了,好尷尬。

16、             引用和指針的區別,C++是如何實現多態的。後來面試官寫了兩個類A和B,讓我判斷sizeof(A)和sizeof(B)。類A中有一個int變量和一個virtual函數。類B繼承類A,增加一個int變量,改寫類A的虛函數,並添加了另一個虛函數。正確答案是8和12,當時我答錯了。

17、             面試官問我平時除了看C和C++方面的書,還看什麼書。我都不知道他想問啥。這我沒回答好。

18、             面試官問是否瞭解其他編程語言,比如JAVA和Python。我說我只是瞭解,他也就沒多問。

19、             面試官讓我寫了一個strcpy函數。我按照網上的答案寫的。第一行寫了一個assert語句,判斷是否有空指針。後面根據地址的大小,考慮了從前向後拷貝和從後向前拷貝兩種情況。但面試官貌似還是不太滿意。他跟我討論了assert在debug和release版本下的區別。當然,這個我是知道的。貌似他想讓我把異常處理加到代碼裏面。

20、             面試官還問了我代碼量有多少,都學過什麼計算機方面的課程等。

21、             面試官還問了有沒有做過什麼瘋狂的、難忘的事等這方面的事,還問我平時有沒有看過其他的書籍,還問我將來的規劃等。

 

整個面試過程大概90分鐘。整體都挺順利,大部分問題都答出來了,部分問題回答的不好。但我也知道自己收不到搜狗的offer了。這些問題不是太難;但搜狗招的人不多,來面試的優秀人才很多,我目前的水平,還不夠有競爭力。

我報的是C++開發,所以問的C++的問題和數據結構的題目比較多。STL和虛函數那一塊沒回答好,給面試官留下的印象不好。數據結構方面的題都答出來了。

後面的一些問題也沒處理好,比如“你除了C++方面的書,還看過什麼書?”,“你學過什麼計算機方面的課程?”等。(PS:本人本科非計算機專業,像操作系統、計算機網絡等都是自學的)。總的感覺是:自己知識面有點窄,好多東西都沒接觸過。

發佈了29 篇原創文章 · 獲贊 32 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章