2020春招流水賬(隨時更新)


樓主FDU弱雞,績點不到3.0,記錄一下春招過程。

 

3.9華為一面:

自我介紹

問我做過什么項目(大一大二欠的課太多,一直在補之前的課,沒做過什么項目,就沒繼續問)

虛函數和純虛函數(純虛函數大概意思說出來了,但沒說虛函數寫法是=0,想不起來了,還好說完沒細問)

全局變量和局部變量分別在內存的位置

new、delete和malloc、free有什么區別

stl用過么,說說map、set分別干什么的

表示同樣大小的數據,數組和鏈表哪個占用空間大

如果有一個常量,是定義為宏常量好還是定義為const常量(這個我答錯了,應該是定義為const常量,宏常量的話符號會被替換掉不易查錯。使用const定義,既可以保證值的唯一性,又便於調試,同時還可以對數據類型進行檢查,借助編譯器來減少錯誤的發生)

寫代碼,兩個分數相加返回約分后的結果,代碼是寫對了但是有點瑕疵,時間效率不夠好。(在IDE寫分享屏幕給面試官)

瞎雞兒寫的:

void func(int& a,int& b){
    if(a>b and a%b==0){//能整除
        a/=b;
        b=1;
        return;
    }
    else if(a<b and b%a==0){
        b/=a;
        a=1;
        return;
    }
    else if(a==b){
        a=1,b=1;
        return;
    }
    int gongyueshu=min(a,b);//公約數
    while(gongyueshu>1){
        if(a>=gongyueshu and b>=gongyueshu and a%gongyueshu==0 and b%gongyueshu==0){//這里前兩個條件不需要,並且找到了一個公約數就應該退出循環,因為是最大公約數
            a/=gongyueshu;
            b/=gongyueshu;
        }
        else{
            --gongyueshu;
        }
    }
}


int main()
{
    //處理輸入
    int a1,a2,b1,b2;
    string s;
    getline(cin,s);
    auto iter=find(s.begin(),s.end(),' ');
    a1=stoi(string(s.begin(),iter));
    iter=find(iter+1,s.end(),' ');
    b1=stoi(string(iter+1,s.end()));
    getline(cin,s);
    iter=find(s.begin(),s.end(),' ');
    a2=stoi(string(s.begin(),iter));
    iter=find(iter+1,s.end(),' ');
    b2=stoi(string(iter+1,s.end()));
    
    //計算
    if(b1==0 or b2==0){cout<<"Error!";return 0;}
    int b=b1*b2;//分母
    int a=a1*b2+a2*b1;//分子
    func(a,b);//化簡
    
    //輸出
    cout<<a<<" / "<<b<<endl;
    getchar();
    return 0;
}

  

一共差不多50分鍾,面試官全程戴口罩,語氣也比較柔和,感覺挺好的。

 


 

3.11 華為二面:

自我介紹

學過數據結構沒有,我說有。那說下排序算法,大概說了冒泡、選擇、插入、堆排序、歸並排序、快速排序以及對應穩定性。

手撕代碼4選1:

第一個,一面磚牆,畫一條豎線,哪里畫線穿過的磚塊最少。

第二個,https://leetcode-cn.com/problems/house-robber/打家劫舍原題,條件改成相距為2及以下的不能一起偷。

第三個,https://leetcode-cn.com/problems/number-of-islands/島嶼數量原題

第四個,求一個二叉樹所有的左葉子節點(求和還是返回統計數組忘了)

我選的2,簡單DP

 

 

 

 

對華為加班怎么看,我:????這不是hr面的問題嗎

你還有什么問題嗎

感受:太水了,我還准備了好久的OS計網,結果就問了個排序。。。

 


 

3.11跟誰學一面涼經:

自我介紹

我自我介紹里說了我學過的專業課程,問你喜歡哪一門,我說數據結構和計算機網絡都可以。

TCP和UDP的區別,舉一些使用二者的栗子。我說UDP的例子DNS、DHCP,應用的話流式視頻、視頻聊天等。使用TCP的比如金融、涉及錢的、實時游戲。

使用過什么socket函數,我說我只使用過python的socket函數,recvfrom、send、listen等等。還有沒有底層一點的函數,比如操作系統的socket接口,我說沒有。

繼續問udp傳輸視頻會丟包為什么不使用tcp,我說tcp建立連接費時間,他說關系不大。我又說udp是盡力而為,傳的快,TCP還要視網絡狀況調整速率。還是關系不大。我又說流媒體DASH技術,可以防止丟包。還是不對。

我說那可能會使用P2P技術,這樣用戶之間互相傳遞可以少占用服務器資源減少丟包。最后說你這樣用UDP最后還是要在上層實現數據一致,為什么不直接用TCP。我說那我不知道了,此話題終結。

用沒用過Linux,我說用得少,基本命令會。

平時用什么ide,我說vscode。那你是g++命令行還是內置編譯器,我說我內置mingw。gcc編譯文件的參數知道嗎,我說只知道幾個-o -s -i。

說說gcc編譯文件的過程。說說鏈接是干嘛的。說說靜態庫動態庫干嘛的。

說說線程間通信的方法。

兩個進程共享數據可不可以直接將一個進程中的指針傳給另一個進程,為什么。這里我知道他是想問虛擬內存。然后我說了虛擬內存和物理內存的區別。之后一路追問我如何實現,頁表、MMU、TLB等等,最后問我MMU是硬件還是操作系統實現的。

歸並排序和快排有什么區別,除了時間復雜度。我說快排更快,然后說了下STL的sort是先快排再堆排再插排。然后問我為什么要這樣。我答插排在小數據量的時候快,並且之前已經快排划分過,所以相對有序。追問說插排排的也是划分過的左右子區間,並沒有相對有序。想了半天還是回答不出,此話題結束。(我就不該提STL的sort)

vector從空pushback到一百萬,復雜度是多少。討論了15分鍾,最后一次我終於說對了,此話題結束。

共享騰訊文檔寫代碼:一個升序數組,長度n,目標m,如果不存在返回-1,存在則返回下標。

就普通二分,一分鍾寫完了。大致如下:

int le=0,ri=n-1;

while(le<ri){

  mi=le+(ri-le)/2;

  if(....){le=mi+1;}

  else{ri=mi;}

}

return nums[le]==m?le:-1;

問,while里可以不可以寫一個else if(==m){break;}來提前退出。哪種好。

我說如果m存在肯定你的好,不存在我這個好,因為elseif判斷也要時間。

說跟這個沒關系,假設數據完全隨機而且存在,我說那應該還是你這個好(復雜度都是logn,我是真不知道他想問啥),因為如果某個區間中點正好是目標值可以提前退出。

還是說和這個沒關系,再想想。我說我真想不出來,代碼討論結束。

還有什么問題嗎?我問還有幾面,沒了。

總結來說,還有很多問的東西沒想起來。這位面試官是那種打破砂鍋問到底型的,一個問題拋過來,一旦我稍微深入解釋一下,就一路直接問到最底層實現直到我不會為止。反正我是招架不住了,還是華為簡單。。。

 


 

3.13華為三面(主管面):

自我介紹
計算機網絡學了哈,學了,A-。
軟件工程學了嗎?沒學。
主要用c++?嗯。指着我簡歷上一個項目,這個項目是怎么回事?我:這個是課程PJ,因為之前丟的課比較多,一直在補課,沒有去實習過。面試官:好吧。
對華為最近幾年網上負面新聞多怎么看?balabala
最后:今天就到這吧。
一共15分鍾,不知道會不會給過。。。
 
3.14華為三面掛:應該還是沒有項目和實習的關系,沒辦法,但是至少說明我的筆試和技術面水平是可以的。人得往好處看嘛。。(唉 要是有實習經歷 百分百過 誰叫自己當初不努力)
 
3.16跟誰學二面(主管面):
自我介紹
聊聊為什么大學念了6年?
說說對我們公司的印象?
你找工作看重什么點?
父母做什么的?
說說你的舍友?
說說你最好的朋友?
有沒有offer?
說跟誰學基本是995,應屆生可能會996。
有什么要問的?我問了個公司的業務領域問題。然后面試官問你沒有別的問題了(薪資)?后來說下心理預期的薪資。
不知道結果怎么樣,之前一面的面試官說二面是技術面,結果是主管面。。。

3.18更新:跟誰學給了offer,感謝看得起我,跪謝跪謝!!

3.23字節跳動一面:
自我介紹
一上來就是連珠炮的操作系統問題:
協程了解嗎(不了解)
進程和線程的區別
線程間通信、進程間通信,說了信號量、共享內存、消息隊列、套接字。還有嗎?(還有一個信號?不會了)
兩個不同主機上的進程可以用共享內存嗎?
調度算法?我說了先來先服務、最短優先、輪轉、多級優先隊列。還有嗎?(不知道)
內核態和用戶態說說。
linux用過嗎?基本命令和基本調試c會。
windows和linux的調度算法都是什么?不會。。
 
計算機網絡的問題:
tcp和udp說說。
tcp、udp、http是哪層協議?
tcp如何完成可靠傳輸?說了seq-ack、接收窗口、擁塞控制。(不滿意,應該還有校驗和、超時重傳)
游戲場景使用哪種協議?我說udp吧,因為延遲低、可以容忍少量數據錯誤balabala。(不是很滿意)
http1.0、2.0、3.0熟悉嗎?不熟悉,說了一個https。還說了一下谷歌使用udp上層實現數據可靠傳輸,但不知道如何實現的。(不滿意)
osi七層模型了解嗎?不了解,說了五層模型。(不滿意)
ping了解嗎,用的什么協議?我說了半天也不是很明白,很久之前看過,有點忘了,好像答成了traceroute的原理。。
select、epoll?沒用過。
 
數據庫:
b+樹說說。為什么數據庫用b+樹不用紅黑樹?說了高度低、io少。(不滿意)
mysql兩種引擎講講區別。
說說數據庫索引。
為什么索引不宜太多?索引太多,文件過大。還有第二點沒答出來,更新數據的時候索引也要更新,耗時。
 
 
C++問題:
string的實際數據存放在哪?vector呢?
map和set底層是什么?
紅黑樹應用場景?就有序增刪改查比較快唄。(不滿意)
堆和棧講講。
說說多態。
說說快排原理。后來說了下stl的sort。
 
因為我說我的畢設是用unity做游戲,還問了一個C#的問題,什么沙箱的。反正不會,就沒問了。
 
寫代碼:
就是寫一個快排。這個倒是簡單,可能面試官看我太菜了吧,寫個簡單的意思一下。
 
還有什么要問的嗎?
 
總結:一共一個半小時,C++的東西倒沒怎么問,別的問了一大堆,也怪自己其他方面准備不夠充分,肯定是涼涼了,調整好心態吧。

3.24米哈游一面:
電話面試,聽聲音是一個年輕小哥。
沒有自我介紹。上來先問數據結構學了吧?
圖的兩種遍歷方式?dfs、bfs。分別用什么數據結構?bfs隊列,但dfs是什么數據結構,不就是遞歸回溯嗎?然后小哥說用棧,我:(??也沒說非遞歸阿。。)
紅黑樹知道嗎?說一說。
協程說一說(昨天新學的正好用上)
協程關鍵字(yield?)
協程調用原理是什么?不知道
好像還問了兩三個數據結構的問題,但是忘了,都是基礎問題。
兩個鏈表找第一個相交節點。
然后問了一些unity的問題。我說我剛學半個月,還不怎么會。
最后說了句,你數據結構和算法好像基礎挺好的,(言外之意游戲經驗太差了呀)。
一共8分鍾。小哥語速很快,聽起來很忙的樣子。總體感覺米哈游需要的是上來就能干活的人,可能我這種沒游戲開發經驗的不太適合吧

3.27字節跳動二面:
說實話一面答成那個鬼樣子真沒期待能收到二面通知。
自我介紹
說說為什么玩了4年游戲(大學念了六年)
現在自制力怎么樣(上一個問題的后續)
vector和list區別
map了解嗎,說說
別的幾個問題忘了,也都是簡單的c++知識
寫一個打亂數組的代碼:寫的不太好,沒處理隨機數等於i的情況,應該反向遍歷數組對i和rand()%i的值swap。
貪吃蛇用什么數據結構實現?鏈表:因為吃了東西加長度。那不考慮加長度呢?雙端隊列?然后沒問了。
能來實習嗎,一周5天?我說這學期還有課,3天肯定可以,4天勉強。
還有其他問題嗎?問了下部門情況和做什么類型游戲(我投的是游戲研發)。
一共不到半個小時,小哥看起來挺年輕的,沒有一面問的那么詳細。。希望能有三面吧。。。。。。。許願字節👨!

3.28深信服一面:
沒有讓自我介紹,直接問問題,和米哈游一樣。
說一說常見的數據結構。
動態內存申請方式?會不會失敗?失敗會怎么樣?
new和malloc區別?
虛函數?
說一說vector和list
說一說map,和哈希表的區別?
棧的特點?應用場景?
中序遍歷有幾種方式?遞歸非遞歸。
層序遍歷用什么數據結構?
TCP拿什么保證可靠數據傳輸?
TCP長連接、短連接?(我理解成了http的長連接、短連接,其實是一個東西,面試小哥還安慰說沒事,這個工作中才會遇到。。)
進程和線程?
一個全是整數的數組,有重復,求出現最多的整數?unordered_map。
一個很大的文件,還是全都是整數,求只出現一次的整數?我答了分成很多小文件,依次讀入內存進行記錄,還是用unordered_map。面試小哥說應該用位圖。
一個c語言程序轉變為可執行程序加載到內存中執行,經歷的大概過程講一講。
還有問題嗎?我問了下有幾面,答:2~3技術面。
一共18分鍾。電話面試。

3.29深信服二面:
自我介紹。
問項目。(沒什么好說的)
http寫過什么函數。(不會)
tcp、udp。
xml類似的格式化數據格式,答了個json。
說一個了解比較深入的知識點,怎么做的?
做過網上的項目嗎?沒有,都是刷題。
進程線程。
未初始化的全局變量在哪個區?
局部變量是隨機值嗎?
多線程編程經驗?沒什么經驗。
平時用什么工具?vs、vscode、gdb。
網絡抓包用什么工具?wireshark
二進制查看源程序用什么工具?不知道,答了用函數讀取文件轉換為二進制再看。
一共半小時,視頻面試。面試官家里小孩在后面走來走去的,搞得我有點亂。好幾個問題把我問住了,都是那種脫離基礎、實際工程的問題,對我來說有點困難。

3.30米哈游二面:
寫一個坐標系變換,比如旋轉一定角度,之前(x,y)點新坐標怎么算。高中的三角函數都不記得了,卡了半天寫不出來。
面試官說那換道題吧,寫一個建圖+dfs遍歷的代碼。這個我熟阿,刷刷幾下寫了個鄰接矩陣+遞歸版本的。
然后面試官說別用遞歸(咋不早說。。牛客面試房間寫代碼過程看得到的吧。。),后來墨跡10分鍾,寫了個用棧的dfs。最后讓我寫幾個輸入跑一下代碼,看看正確性。
你有什么想問的嗎?
感覺真涼了,可能就是因為第一個題沒答出來吧。不然二面就考一個代碼題?

3.30天馬時空一面:
首先之前天馬的hr和我定的時間是30號,但我記成31號了,所以還答應了米哈游的面試,結果叫面試官推遲了一個小時再面,實在是對不起面試官!
面試官聲音聽起來是個大佬,而且是北方口音,聽着好親切。
問的問題都挺有深度的(對我來說)
浮點數怎么表示?大概說了下ieee754
整數最大多少,最小多少,為什么最小多一個?
-1的二進制表示多少?為什么?
浮點數表示范圍連續嗎?為什么不連續?
多線程了解嗎?原理了解,沒太用過。
原子操作懂嗎?
加法是原子操作嗎?
兩個讀需要加鎖嗎?兩個寫呢?一讀一寫呢?這個問題探討了好半天,面試官一直循循善誘,但我太菜了,說不出來。
常用什么容器?
紅黑樹、哈希表什么區別?為什么map默認是紅黑樹?不考慮有序性質,還有什么比hash表好的?
如果你實現一個哈希表怎么實現?怎么處理hash沖突?我說用一個數組,不知道還有什么能實現哈希表?
又討論了一下二者的復雜度區別,面試官的意思是:為什么map不用哈希表,是因為哈希表查詢時間是常數,紅黑樹查詢時間logn其實約等於常數(這個我就不理解了),所以紅黑樹查詢不比哈希表慢(我還是不太贊同。。)
排序算法都有什么?
堆排和歸並為什么復雜度是nlogn,講講原理?
二叉樹了解嗎?如果我非遞歸前序遍歷,先壓棧左子樹還是右子樹?(我有點沒搞懂,我自己實現的話,是壓棧根節點)反復和面試官說了幾次我的思路,這個話題打住了。
說下項目?
項目是python的,問了下python迭代器了解嗎?不會,都半年沒寫過python了。
最后宣傳了一下他們公司,做了什么游戲,還有實習的情況,但也說了,今年這種情況也可能不要求入職前實習。
總體感覺很不錯,雖然可能會掛,因為答不明白的東西有點多。但面試官口音親切,而且是聊天式面試,感覺學到了不少東西,整個過程像是和老師探討問題。

3.31深信服hr面:
面試官娘兮兮的,不太喜歡。一直不看鏡頭,腦子可能有毛病。我脾氣也不好,應該沒給過。

3.31字節主管面:
不細說了,估計和華為三面結果一樣(掛)。痛點就是沒有實習經歷。

4.1更新:字節三面掛,轉崗;深信服hr面掛。跟我預想的差不多。字節這種大廠和華為都類似,技術基礎上我沒問題,但還是對實習經歷、項目實踐比較看重,只能說無緣,等幾年后跳槽再說。

4.3美團一面:
女面試官,人還挺好看的。。
自我介紹。
TCP、UDP。
三次握手、四次揮手。
get/post。
進程、線程。
兩道代碼題:鏈表找有沒有環、實現棧能查找最小值。
二叉樹前序中序后序。
會不會java,能不能轉。
做的項目。
OOP三個特性。
mysql引擎。
sql查詢。
為什么B+樹。
隔離級別。
臟讀、不可重復讀、幻讀。
主鍵索引和非主鍵索引。
消息中間件?不會。
涼了。即使過,最后三面也99%因為沒實習/項目被刷,面這種大廠我都面出經驗了。。(自嘲臉)

4.13好久沒更新了,說下最近情況:
天馬時空可能給了offer也可能沒給。
美團一面掛。
字節轉崗二志願了,剛筆試完,4道做了三道半,肯定能進面試。但最后穩穩的肯定還是三面掛。
米哈游二面掛。
4399二面完好久沒信了,估計也掛了,可能是期待薪資說高了(25w)。
大概就這些,最近面試的東西都不怎么看了,畢設要緊。
又投了幾個公司:東方財富、暢游、域起、愛奇藝(unity)、瘋狂游戲。。
反正xjb投就完事兒了嗷,奧利給!

4.18更新:
4399掛,期望薪資說太高。
網易雷火掛。
360掛。
百度4.14一面,4.15二面,4.16三面。面完就沒信了,100%掛。
字節轉崗上海教育業務,4.18一二面,三面應該是下周一(4.20),95%掛。
等等字節吧,萬一有戲呢。如果沒過就去簽跟誰學。提心吊膽太累,趕緊上岸把。

4.21更新:
字節三面一共就問了一個lfu算法,要求O(1)時間。沒做出來,涼涼。但面試官非常友好,一直在循循善誘,奈何自己太菜,而且確實沒見過這個算法。最后提問題我讓面試官給我一些建議,任何方面都可以。面試官人很好,也很有耐心,給到我一些很不錯的建議,非常感謝。雖然這次面試失敗了,但還是很有收獲的,謝謝您。
4.23更新:
天馬時空給了offer,感謝!
網龍電話二面,hr面。
域起筆試掛,就考一道算法題,做出來了怎么掛的?估計不招人了吧,吃相有點難看。。

4.28更新:
字節二志願給offer了!完全想不到,可能和三面面試官聊的比較投緣吧,抬了我一手。准備趕緊簽了,上岸!
 

祝各位都有好offer,心想事成、工作順利!


5.6更新:網龍給了offer,感謝。但12k月薪啥意思,侮辱人啊。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM