作者:Grab_

鏈接:nowcoder.com/discuss/18來源:牛客網

春招準備

由於春招準備的比較晚,錯過了鵝廠提前批的大浪,在提前批尾巴投了簡歷剛被撈起來就被放棄面試(也許簡歷太菜了),然後就開始準備正式批了。

實習投了阿里(不知部門)和騰訊(TEG),阿里卒於四面,不知是什麼面,騰訊今天上岸,也有運氣參半吧,感謝牛客的小夥伴們的麵筋,其實對比後發現自己的麵筋有點low,等oc的小羣裏實在讓人感動,所以還是分享一下吧,萬一有一點點用那也滿滿足啦。阿里由於時間太久而且沒做記錄,這裡就不貼了,下面是戰線比較長的鵝廠麵筋了,大佬們莫笑哈。

一面(4月中旬,電面,40min)

因為筆試很久之後沒動靜,突然被call,很緊張,下面是提問:

  • 說說你的項目(是的,沒有自我介紹)
  • 項目裏的線程池怎麼設計的?
  • 談一談你說的非同步流
  • 項目裏你遇到的技術難點,怎麼解決?
  • 純虛函數瞭解嗎?說一下
  • 協程瞭解嗎,為什麼有了線程還要協程?
  • 說一說線程同步
  • 你對c++11的瞭解,新特性?
  • 說一下STL的空間配置器(兩級分配)
  • 用過redis嗎?說說你的理解
  • 資料庫的三範式?
  • malloc瞭解嗎,說一說
  • 說說auto_ptr和shared_ptr區別?
  • 堆排序怎麼維護堆,時間複雜度多少?
  • 說說其他排序演算法的時間複雜度,多路歸併?
  • 有什麼要問的嗎?

這裡我感覺我回答得應該一般,面試官也給了很多提示,很感謝,接下來就是十多天的等待。

二面(4月下旬,視頻,1h 20min)

  • 演算法題:大數階乘,參考以前刷題的思路寫

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(){
int n;
string ans;
vector<int> tmp(10000,0);
tmp[0] = 1;
while(cin>>n){
if(n == 0 || n == 1)
cout<<1<<endl;
int sum = 0;
int digit = 1;
for(int i=2; i<=n; i++){
sum = 0;
for(int j=0; j<digit; j++){
int temp = tmp[j] * i + sum;
tmp[j] = temp %10;
sum = temp/10;
}
while(sum){//sum不為0表示有進位
tmp[digit] = sum%10;
sum/=10;
digit++;
}
}
for(int i=digit-1 ; i>=0 ; i--)
ans.append(to_string(tmp[i]));
cout<<ans<<endl;
ans.clear();
}
}

  • 思考題:大致是倒水那種變體題目,具體我記不太起來了,反正搗鼓了半天面試官笑了,我也笑了23333
  • 說說epoll的數據結構,大致是雙鏈表和RB-Tree
  • 說說你看過的網路庫
  • LT/ET模式的區別,如何選取
  • STL熟悉嗎,經常用哪些,結果我說了vector和map
  • 上面兩個常用哪個,我說了vector,然後被問了map
  • 瞭解編譯優化嗎,說說看
  • 說說你的項目
  • 然後是一堆項目的細節
  • 瞭解分散式嗎,我說的不瞭解(逃)
  • linux熟悉嗎,shell腳本寫過嗎,awk用過嗎?
  • 有什麼想問的嗎?

二面因為演算法花了一些時間,然後項目也深挖了一下,時間就稍微比較久一點,之後過了五一變成了hr面試

HR面(五月初,電面,30min)

HR面試比較常規,不具有參考意義就不羅列了,小姐姐人很好,隔了一天變成已完成。

總結

其實我感覺我的問題屬於牛客上我見過的麵筋裡面很常規的了,但是自己感覺答得仍然很一般,所以我說運氣參半吧,感覺很重視基礎,面試官也會給予適當提示,很有耐心,體驗很好,當然麵筋只是參考,每個人情況不一樣哈,春招的尾巴被抓住了還是很開心的,所以大家準備好了一定要早點投簡歷,那樣機會會多一些吧,個人拙見,最後祝大家都能拿到心儀的offer!

最後特別鳴謝 在線做法oc羣,羣主是面hr崗的小姐姐,裡面都是神仙,全是超越姐姐,在裡面度過了煎熬的等待,羣滿了就不放二維碼了,祝大家都接到oc。

以上。

與作者交流:nowcoder.com/discuss/18

更多筆經面經:nowcoder.com/discuss?

推薦閱讀:

相關文章