【面經】騰訊秋招電話一面



【過程】

七點不到半點接到電話,開始話面:

問: C++重載、重寫是什麼?怎麼實現的?

答:重載是編譯期編譯函數時,根據參數類型和個數來決定編譯出的函數符號,從而實現重載(C不支持重載);重寫是針對C++多態,通過虛函數表實現。

問:如何寫一個類,使其不能被繼承?

答:C++1標準支持final關鍵字,通過它可以限制;另外一個方法是通過模板(具體見《劍指offer》,當時沒有答出來)。

思考:不能被繼承,那麼就不能讓子類可調用基類的構造函數,但必須考慮的是,不能影響正常的類實例化。

問:memcpy 聲明是怎樣的?如何實現?

void *memcpy(void *dest, const void *src, size_t n);
答:如上(當時有點緊張,說成char類型了;還說有memncpy= =,尷尬),實現memcpy 要考慮內存存在重疊的問題。

問:字符串刪除,不能亂序。

答:掃描字符串,用兩個指針,一邊掃描一邊複製,這樣時間複雜度是O(n)。

思考:當時沒有真正GET到題意,就開始含糊的說,到後面才知道是刪除所有重複字符,搞到很尷尬。

問:查找樹節點到跟節點的路徑。

答:遍歷樹,用棧保存路徑。


【總結】

1.一面感覺很注重基礎,在學習知識時必須瞭解其原理,多思考。

2.面試過程決不能慌,對面試官的問題有疑問,一定要問。

3.對不真正瞭解的東西,不要隨意說出來,不然面試官會問你。(比如上面我說模板可以解決這個問題,但實際怎麼做我忘記了,當面試官問怎麼實現,我也沒回答出來)

4.面試前的幾天不要玩,一定全面沉醉在學習當中,不然毫無狀態啊!(不過,當時我也是沒意想到有畫面,放假這幾天在玩)

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