華OD面經(jīng)-C++-軟件開發(fā)-24屆考研
背景:
24屆畢業(yè)生,末流211本。二戰(zhàn)后開始投od,先后刷了力扣200題。
機試:
第一道,考二叉樹,求二叉樹所有節(jié)點的路徑之和。dfs遍歷一遍就可以得出結(jié)果了,算法本身不算難。但要注意都需要自己寫輸入輸出,如果建樹的話比較麻煩,直接用的數(shù)組存儲。
第二道,貪心。原題記不清了,類似于leetcode買賣股票的最佳時機。做完提交后,發(fā)現(xiàn)部分用例沒過,因為150及格線,所以沒太在意就直接下一題了。第三道,字符串處理,考的滑動窗口,對應(yīng)題庫中尋找符合要求的最長子串。大致題意是滑窗內(nèi)任意字符不能出現(xiàn)超過兩次,同時不能出現(xiàn)屏蔽字符。也是剛提交只過了部分用例,大概50%。后面又修改了一下。最后機考分?jǐn)?shù) 350+,比較幸運的是上面題都是題庫原題。
性格測試:
只要不選偏激的,并且前后保持一致就可以順利通過,詳細(xì)細(xì)節(jié)可以問問 hr。
hr 面:
主要聊聊天,評判一下穩(wěn)定性,問了gap的原因,這部分不用太擔(dān)心,考研的話也可以照實說。
技術(shù)一面:
手撕:leetcode 2.兩數(shù)相加原題。大意是鏈表實現(xiàn)兩個整數(shù)相加,不算難。需要熟悉一下鏈表操作。
然后問了一些 c++八股,覺得八股更難:真的難。問了繼承方式有哪些,各有什么區(qū)別。什么是虛函數(shù),什么是虛函數(shù)表?什么是共享指針,有什么特點?存儲區(qū)有哪幾種?new和malloc有什么區(qū)別?什么是進程,什么是線程,知道協(xié)程嗎?物理內(nèi)存和虛擬內(nèi)存有什么區(qū)別?說說用戶態(tài)和內(nèi)核態(tài)。什么是內(nèi)存泄露?怎么查看有無泄漏情況?怎么優(yōu)化代碼?(這個問題不知道怎么答,就說了一些優(yōu)化算法,然后選合適的數(shù)據(jù)結(jié)構(gòu)。)
技術(shù)二面:
手撕:leetcode 17.電話號碼的字母組合考查回溯算法。這個也是之前刷到過?;厮菡莆仗茁肪筒皇呛茈y,需要多刷一些相關(guān)題型。手撕同時比較久。然后也是問了c++八股,沒問項目,但大家還是要熟悉一下項目。問了結(jié)構(gòu)體和類的區(qū)別。結(jié)構(gòu)體里能不能寫構(gòu)造函數(shù)?構(gòu)造函數(shù)有哪些?指針和引用的區(qū)別。什么是函數(shù)重載?父類和子類構(gòu)造函數(shù)調(diào)用順序?析構(gòu)函數(shù)調(diào)用順序?虛函數(shù)和純虛函數(shù)區(qū)別?stl庫容器有哪些?vector和list有什么區(qū)別?map和unordered map有什么區(qū)別?智能指針有哪幾種?什么是內(nèi)聯(lián)函數(shù)?進程和線程的區(qū)別。說說設(shè)計模式有哪幾種?
主管面:
主管面也問了一些八股,我看大多數(shù)人的面經(jīng),主管面都是聊天,沒想到還問了八股。然后問了項目和畢設(shè)(因為我寫了畢設(shè),所以問了一下,但是也是垃圾項目)。最后說了薪資和待遇。最終也是好不容易拿下了 offer。
#OD面經(jīng)#首先介紹下正常情況下的流程,機試?綜測測試?確定具體部門后資格面?技術(shù)一面?技術(shù)二面?主管面?談薪資和等審批 該專欄是已經(jīng)入職的同學(xué)分享的經(jīng)驗貼,希望可以對大家有幫助