今天第一次面試別人, 大概聊了近30分鐘, 呵呵。
由於朋友臨時有事, 所以今天我代替一朋友進行一個電話面試, 第一次面試他人(不是應聘我們公司), 我以很認真負責的態度完成這個過程, 大概近30分鐘。 主要是技術面試, 在近30分鐘內, 我與被面試者是以交流學習的方式進行的, 整個溝通過程比較愉快。
作為一個面試者, 應該有好的態度, 與被面試者平等溝通, 試圖引導他/她分析問題, 不隨意打斷他/她, 更不能以賣弄自己那一點點臭知識為目的, 畢竟我們希望招到的是合適的人。 另外, 如果被面試者很厲害, 那麼,這也是面試者學習的一個機會。學習和尊重, 從來都是雙向的。
鑑於對方簡歷和經驗比較簡單, 所以我就問得很淺, 多的不說, 僅給出我們聊過的技術話題, 即便是俗套而又簡單的題目, 我也把它羅列一下:
一. C/C++
1. C++中的struct和class有什麼區別?
(其實, 如果問深了, 可以問為什麼有了class還需要struct? 這是個哲學問題, 我就不閒扯了。)
2. C++中的建構函式可以是虛擬函式嗎? 為什麼?
3. C++中的引用和指標有什麼區別?
4. 面向物件有哪些基本特點?
5. C++中的static有什麼作用?
6. 為什麼兩次呼叫同一函式, 輸入相同, 輸出卻不同?
7. C++中new申請的記憶體, 可以用free釋放嗎?
8. strcpy和memcpy的功能和區別是什麼?
二. 資料結構
1. 連結串列和陣列的比較.
2. 雜湊表查詢的時間複雜度是多少? 為什麼?
3. 選擇排序的基本思想.
三. 網路
1. 簡要概述網路七層模型.
2. socket程式設計有哪些基本的函式? 流程大致是怎樣的? tcp第一次握手協議是哪一端發起的?是哪個函式觸發的?
四. 作業系統
1. 說說對程序、執行緒概念的理解。
2. 登入兩個QQ後, 啟用了幾個QQ程序?
3. 程序通訊有哪些方式?
4. 什麼是執行緒同步? 有哪些方式實現執行緒同步?
5. 什麼是記憶體洩露? 如果記憶體洩露了, 該如何著手定位?
好了, 交流的其他問題, 我就不羅列了。