春招實習上岸,整理CVTE,華爲,百度,頭條,騰訊。分享心得及面經

春招戰線拉到比較長,從二月底開始整理項目、製做簡歷,3月初開始投遞第一家,接下來筆試、面試、總結、複習、等待……持續了差很少整整兩個月,直到五一放假前才正式收到第一個心儀的offer。這期間學習獲取了不少,如今我將心得及面經稍微梳理一下,但願個人分享也可以幫助到你們。linux

先後投遞了二十餘家,其中有的筆試沒過,有的投遞後或者筆試完就沒有消息了,真正參加面試的有十家。目前offer狀況(時間順序):CVTE,華爲(排序中),百度(oc),頭條,騰訊。面試

心得

先談談本身遇到的問題與從中總結的心得,不必定對每個人都有用,當參考參考吧。算法

  • 你們在找實習找工做時,能夠稍微利用一些時間關注各個公司的招聘動態,據此編寫一個進度表,若是有新的筆試、面試安排可以及時調整和篩選,大概什麼時間點會面哪些公司,作到心中有數shell

  • 若是複習的差很少了,我認爲能夠早點投數據庫

    • 一是由於,投遞完簡歷以後,會有篩選、筆試或者撈了簡歷一直沒發起面試等操做,要過一陣子纔會真正開始面試,在這一段等待的時間裏,其實也是能夠複習的編程

    • 二是由於,你在複習,別人也在複習,等你複習差很少了,別人也複習差很少了,這時可能有不少HC就已經發出去了,越日後走可能難度越大vim

    • 我以爲我身邊的同窗、師弟一個月前就拿到了心儀offer時,我還在持續戰鬥的緣由之一 ,可能就是投的比較晚了數組

  • 有時候可能會接到沒有預定的忽然來電面試,此時若是容許的話,最好稍微推遲一點,作好心理準備、拿好紙筆、戴上耳機、儘快調整好進入狀態、找一個較爲安靜的地方再開始面試,否則可能會影響面試質量服務器

  • 每次面試時最好是可以帶上紙筆,面試官提問後,將其關鍵點在紙上作好記錄網絡

    • 一是由於,這樣有助於思考,不熟悉的問題,能夠有一小段時間回憶聯想相關知識點,即便是很熟悉的問題,也不用急着立刻回答,能夠稍加梳理,快速在內心列出幾個點,有條理有邏輯的述說

    • 二是由於,這些問題可能當時回答不徹底,或者是根本不太會,在紙上記錄後,能夠在必定程度上覆盤不會的點,從而利用閒餘時間再將這些不足之處補上

  • 在聽到面試官問題後,最好先問清楚已知條件,根據已知條件做答,但同時也不要把條件問的太細,由於可能有反效果,把本身的思路、知識點限制得太窄(後續面經有說起)

  • 有一些開放性問題,不要以爲不熟悉、沒聽過,就想放棄,要勇於去嘗試,去思考

    • 一是由於,根據本身的所學,慢慢回顧,以及在面試官的引導之下,是有可能回答出來的

    • 二是由於,有的開放性問題,原本就是面試官爲了考察學生的知識廣度、深度的,即便不會,在回答的過程也能夠往本身會的知識點上引導,向面試官展示本身會的東西(後續面經有說起)

  • 心態很重要

    • 在招聘持續過程當中,會常常與同窗們交流,你們一塊兒交流學習、面試心得是極好的,共同成長進步,但也不免會提到一些offer狀況,情不自禁的就比較一下啊,若是別人拿了好offer,而本身卻不如意,心態上會很受影響,因此我以爲。。。(道理咱都懂。。。但調整起來真的不是那麼容易的。。。)

      • 一是要調整本身的動機:好比說咱們找實習,最主要的仍是可以有一個鍛鍊本身,讓本身成長進步的機會,攢一份實踐經歷,在秋招中更具備競爭力

      • 二是要保持一個日常心:滿足常樂,能拿一個還能夠offer就已經很不錯了,接下來再接再礪

      • 雖然我嘴上這麼說,可是內心真正能這樣作仍是很難的,但願也能聽到大佬們的解惑吧

  • 狀態很重要

    • 面試擺在面前,咱們常常是爲了面試而複習,有時候會比較浮躁。對於簡單的知識過了一遍又一遍,以爲看了也沒太大的做用了,實在是有點不想看了;對於較難的知識感受以前明明看過的看懂了,這時又忘記了,很難沉下心來再去深刻;感受本身好像這段時間沒有成長,沒有進步,沒有學到什麼新東西,以至於狀態變得很低迷

    • 我以爲這個狀況是很正常的,不要刻意的給本身製造恐慌,不要給本身徒增壓力;由於對於一些較爲簡單的知識,經歷過了好幾場面試以後,至關於已經起到了鞏固做用,而且在回答的敘述上應該也比以前更有邏輯更清晰了,能夠沒必要再花過多時間再反覆的看;但一些較難的知識,仍是得有針對性的各個擊破,經歷了好幾場面試後,內心應該清楚本身哪些點比較薄弱,哪些點是重點,有針對性的去深刻複習,調整好本身的狀態,爭取下一場可以作到更好

面經

接下來是你們最喜歡的面經環節,按照第一面開始的時間前後順序整理,你們能夠參考時間線;另外其中有一些當時記錄的總結感想也一塊兒貼上了,因爲是面後再次回憶記錄,不必定是準確的措辭和順序,還請見諒。

阿里

3.25 實習一面

忽然來電,問了基礎狀況,沒問是否方便,直接開面。。。尚未準備好。。體驗較差,有些問題沒記錄了

  • 海量數據top k問題,如何優化?哈希劃分小文件時涉及不少io操做,io量是多少(minHeap的時間複雜度是nlogk,能夠用partition下降至n,另外,read的io量比較大,可使用mmap直接內存映射進來,一次性讀不少而不超出內存限制,應該能夠知足要求)

  • select及epoll的瞭解,epoll添加一個描述好仍是添加多個好?

  • 虛函數機制,虛函數調用和普通函數調用,效率誰快

  • 算法題:最長不重複子串

  • 算法題:兩個字符串的交集,不是排序的

  • socket網絡編程函數使用

  • 項目介紹

ps:你們都說阿里的面試體驗比較好,可我實在是忍不住想吐槽一下

  • 晚上9點多忽然來電,沒有預定,也不問如今是否方便,直接開問,我拿着手機,沒帶紙筆很差記錄,沒戴耳機有時聽不清楚,沒穿外套又站在風吹的大廳裏面了一個小時,但本身也有緣由,敬畏是阿里大佬,沒有提出稍等的申請

  • 一上來就問,咱們這邊是阿里雲搞數據庫、底層方面的,你這個專業報咱們是什麼意思(我:???,這種語氣和態度,我也是醉了)

  • 問了個算法題,兩個字符串的交集,我說能夠用哈希表來作,遍歷其中一個字符串,作hash_map[ch]++操做,接着遍歷另外一個字符串,作hash_map[ch]--操做,若是hash_map[ch]-- > 0,說明這個ch屬於交集部分,他一直問我hash_map[ch]--中的「--」是什麼意思,我覺得他沒聽懂,再敘述了一遍,又繼續問,那這個「--」究竟是什麼意思呢(我:???)

  • 可能比較晚了,工做一天了還要面試,狀態有點很差仍是怎麼,反正問了一個問題,回答完了,等個幾十秒不說話,再繼續問下一個

  • 估計此次面試給個人評價比較差,過了十幾天後顯示回絕,官網從新投遞作了筆試,也再沒有其餘面試官撈了

狀態

筆試前顯示已回絕,官網從新投遞、完成筆試後,一直簡歷評估中,估計沒有後文了

騰訊

3.27 實習一面

約的視頻面試,面試官很好,給人感受很舒服,問問題的時候會給必定的解釋,讓人理解清楚題意,適當的時候還會提醒,若是沒答上來或者不完整,會稍加講解

  • 數組和鏈表的區別

  • 一個數組int arr20,起始地址爲100,求arr11的地址

  • 給定1G的大文件,內存限制是100M,怎麼排序

  • 歸併排序的過程

  • ctrl+z,ctrl+y,用什麼數據結構好

  • 實現pow,最佳的時間複雜度是多少

  • include 包含文件的時候,尖括號和雙引號有什麼區別,若是雙引號中是庫文件的話,會發生什麼(答對一半,面試官解答,雙引號是優先在工程文件makefile標識的文件夾中尋找,找不到再去庫文件夾中找)

  • C++中struct和class看成類使用時的區別

  • C++虛函數的實現機制

  • 若是基類的析構函數沒有聲明爲虛函數,會發生什麼

  • TCP與UDP的區別

  • TCP怎麼確保數據傳輸可靠性

  • STL中map和unordered_map的應用場景區別

  • linux中基本的操做命令,一個日誌文件很大,vim打開很費時間,怎麼快速搜索某個內容

  • 查看端口號狀況

  • 抓包工具,有沒有使用過tcpdump

  • 查看進程id、內存使用狀況等

  • 查看打開的文件or描述符

  • 進程間通訊機制

  • linux用的多嗎,平時怎麼調試

  • 作題:strcpy,須要本身輸入測試用例,char strDest[],與char strSrc[]

  • 作題:excel表格列表頭與數字之間的轉換,strToNum和numToStr,兩個都要實現

  • 有什麼要問個人嗎

  • 確認實習時間等

總結:作題的時候有點小緊張,可能會有敲錯字母等狀況,仍是得細心一點;用的宿舍的網,斷網了一次,面試官人很好,打電話詢問後轉而使用熱點鏈接

3.28 實習二面

約的視頻面試,感受有點像壓力面,我面的時候有一段時間比較緊張、有點慌亂

  • 自我介紹

  • 項目中的亮點

  • 再說說第三個項目

  • 知道寫makefile嗎

  • 瞭解數據庫嗎

  • 知道寫shell腳本嗎

  • 經常使用哪些linux命令,查看線程用哪一個命令,會用vim嗎

  • epoll的機制,何時用ET

  • 析構函數能夠爲虛函數嗎,構造函數呢

  • 看過STL源碼嗎,說一說map的實現,紅黑樹的介紹

  • vector的內存擴充

  • 說說MTU,跟着擴展到網絡層分片

  • 進程間通訊方式

  • TCP鏈接釋放鏈接的過程及狀態變化

  • 說說滑動窗口

  • 瞭解共享內存嗎(說了下虛擬頁面到物理頁幀的映射),後問若是這兩個進程都終止了,共享內存還在嗎

  • 洗牌算法,平時作題嗎

  • 怎麼建立線程

  • 有什麼要問個人

總結:視頻面試,網線又斷網了一次,用手機熱點也斷了一次,最後加QQ用視頻面,不知道是電腦出問題仍是宿舍網絡有問題,總是斷網,好在面試官沒有太介意這個

4.24 實習三面

應該是總監面,面試官人很好,主要問的是開放性非技術問題

  • 自我介紹

  • 不是科班的,怎麼學習

  • 遊戲研發,你會怎麼作

  • 三年的工做規劃

  • 有什麼要問個人

  • 面試官說你們熱情很高,有不少人面試,會作整體評估,一段時間後再給通知

整體而言,各個方面也都儘量的去答了,無論怎麼樣,仍是給了機會的,仍是基本上都完成了,已經沒有遺憾抱怨啥的了,暫時就先無論那麼多了,就靜靜地等待結果通知吧

4.29 實習HR面

HR小姐姐聲音很甜,沒有問啥刁鑽的問題爲難

  • 自我介紹

  • 瞭解你所面的部門和崗位嗎

  • 你以爲你作這個方向的工做怎麼樣

  • 在其餘業務上有相關的學習嗎

  • 主要是實驗室的項目,沒有其餘實習經歷嗎

  • 工做地點有什麼想法

  • 還有面其餘公司嗎

  • 這些公司都給你offer,會去哪一家,爲何

  • 有什麼要問個人嗎

整體來講,HR面所問的問題比較常規,沒有刻意刁難,還比較順利,HR說若是經過,會在5月中旬發通知

依圖

4.8 實習一面

面試官很好,以爲我不是非科班,但也沒有怎麼爲難

  • 自我介紹

  • 問項目,三個都大概瞭解式的問了

  • 平時調試用什麼,linux的gdb用過沒

  • 當發現內存泄漏或CPU佔用滿了,怎麼辦

  • 主要仍是用C++,談一談對C++的認識

  • C++還有什麼好的

  • define和const的區別

  • 可執行文件的內容分佈

  • 代碼段存放哪些數據,還細緻的問到了未初始化的、已初始化的區域

  • 進程線程區別

  • 同步互斥機制有哪些措施

  • 條件變量應用場景

  • 網絡編程的函數調用套路,客戶端服務器端(還說了一些鏈接隊列)

  • 那listen函數的backlog參數是什麼意思

  • 客戶端是是否可使用bind

  • 阻塞與非阻塞,IO模型

  • 瞭解哪些數據結構

  • stack和vector的區別

  • 算法題:strcmp

  • 算法題:二分查找firstK

  • 有什麼要問個人

總結:假期玩了幾天,收假回來第一場面試,心態上還好,可是感受面的過程當中,說話有點卡頓或者思路沒很快跟上,邏輯有點不清晰,感受下次仍是要理清楚了再說,有條不紊的、細緻的慢慢說,不要着急,語速也不要過快。

狀態

面試表現感受還能夠,不事後續沒啥動靜了,估計以爲不太對口吧

華爲

4.16 實習一面

面試官應該是搞技術的,問了不少項目以及一些技術問題

  • 自我介紹,涉及到項目的事情,許多問題都是根據項目展開的

  • 面試官具體問題忘記了,回答是將神經網絡模型稍微介紹了一下,其訓練流程代碼大體框架走了一遍

  • 可能有些影響影響因子並不會影響到部分輸出參數怎麼辦

  • 有沒有對神經網絡進行相關的優化

  • Qt當中信號與槽機制是怎麼實現的

  • 進行的相關操做,槽函數沒有響應會由於什麼

  • 類MVC模式是怎麼實現的講一下

  • 何時須要將析構函數定義成虛函數

  • 多線程如何實現同步與互斥,針對一個問題具體講一下怎麼用

  • 若是不用鎖怎麼實現,說的自旋鎖忙等待

  • 學過哪些數學課

  • 條件機率知道嗎

  • 怎麼把條件機率應用到模型訓練這個項目中

4.16 實習二面

面試官應該是一個不專門搞技術的主管或者領導,氣場很足

  • 自我介紹

  • 詳細介紹了一下其中一個項目軟件開發的狀況

  • 項目中有什麼創新點

  • 這個項目主要解決什麼問題,多少人一塊兒作,負責哪一個部分

  • 接着一塊兒聊這個項目的詳情,提出其中一些問題討論

  • 面試官提出了一個缺點,說那怎麼檢測出來生成的最優路徑是否是正確的呢,沒法驗證等

  • 有什麼要問個人

總結:

  • 華爲的面試也沒有傳說中的玄學與水啊,兩輪面試都超過三十分鐘,近四十分鐘,既問了項目,也問了技術問題
狀態

錄用排序中

百度

4.21 實習一面

一面面試官很好很隨和,問的很基礎

  • 看你不是科班的學生,本身學過哪些知識看過哪些書

  • 說說哈希表的實現方式以及怎麼解決哈希衝突

  • 說一說多態機制怎麼實現的

  • 純虛函數

  • 模板瞭解多少

  • 模板偏特化了解嗎

  • C++11瞭解多少

  • 左值右值的區別

  • std::enable_if瞭解嗎

  • 調用fork,發生了些什麼事情

  • 協程瞭解嗎

  • 32位機器,一個程序能夠用的內存有多少

  • epoll相對於select的優勢是什麼

  • 線程同步與互斥實現機制有哪些

  • 二分查找複雜度是多少,實現一下最基本的二分查找,更改一下題目,作一下變種題(12345 變爲 45123)

  • shell腳本瞭解嗎

  • 數據庫瞭解嗎

一面比較偏重基礎,把基本上各大知識塊重要的點都過了一下,像是摸清楚學生大概掌握的知識面的廣度

4.21 實習二面

中午吃了飯以後,HR就打電話說讓上線,面試官在等了(可一面面試官說的是讓我1點上線開始等),上線後二面面試官後續才達到,沒有說等的事情

多是中午剛吃了飯,沒有午休,繼續工做有點睏乏,你們狀態都有點不佳,面試官問問題,我回答問題也沒有以前那麼有激情了,有幾道題回答的時候,感受面試官都捂着頭不想聽了。。。並且本身說的也很亂,語速、邏輯有點不清

另外,感受二面面試官問的問題,有好幾個我都沒理清楚什麼意思。。。以致於答了半天,打斷了從新說了一下,讓我從另外的角度答

  • 自我介紹

  • 斐波那契序列知道嗎,實現一下

  • 多線程之下,訪問一個全局變量可能會有什麼問題

  • 有什麼機制能夠確保不會出這個問題

  • 互斥鎖會有一些性能開銷,不想用怎麼辦

  • 那你知道自旋鎖是怎麼實現的嗎

  • 除了這個(回答的,專用機器指令compare_and_swap),還有其餘方法嗎,原子操做了解嗎

  • 何時會發生死鎖(面試官接着上一個問題問的,我覺得從使用鎖的機制去講,結果把生產者消費者模型講了,結果他說,不是指這個,而是指何時會發生,死鎖的條件)

  • 在代碼實現上怎麼解決死鎖呢

  • 有些線程處於死鎖狀態了,怎麼在另外一個線程中檢測出來

  • 線程棧一般是多少

  • 那一個線程能夠訪問另外一個線程的線程棧嗎,會發生什麼

  • 鏈表瞭解嗎,跳錶呢

  • 進程虛擬地址空間劃分,分別存儲什麼

  • static修飾全局變量和局部變量的效果

  • 最大連續子數組和

整體上感受,大部分仍是答出來了,可是感受沒講清楚,語速、邏輯有點亂,有點急躁、狀態不佳。。。

4.21 實習三面

面試官是表明公司的,通用能力考查,人很好,有問題沒答出來,也作了相關的解釋

  • 問項目,每一個項目都稍微細緻的說介紹了一下狀況,在其中的職責,作了哪些事

  • 講一講你作的項目中的一個難點

  • 內存4G,malloc申請4.1G會發生什麼

  • 內存4G,已經有其餘進程申請了2.5G了,此時malloc申請4G,會發生什麼

  • 有什麼要問個人

總結:三面是通用能力考察,後來也解釋道,問的問題沒有標準答案,具體實現不一樣,答案不一樣,想看看學生們的知識廣度和深度,可以根據提問發散思惟想到多少東西

狀態

4.30收到offer call

最後

最後來個offer求比較,目前比較滿意的是

  • 字節跳動,後臺開發,base深圳,部門主端PC端,業務應該是頭條號方面,須要轉Go語言

  • 百度,C++軟開,base北京,部門忘記問了,聽羣裏小夥伴說那天打oc的應該是智能雲或鳳巢

  • 騰訊,後臺開發,base深圳,部門IEG天美,業務應該是遊戲服務器研發方面

能夠從轉正率、秋招加成等方面分析,想聽聽你們的意見或建議,謝謝你們啦!

相關文章
相關標籤/搜索