騰訊實習面經(offer)

騰訊的實習招聘也算是告一段落了。從內推到正式實習生招聘,總結一下。看了這麼多面經,也把本身的經歷寫一下,有須要的朋友能夠參考一下。畢竟互幫互助嘛。node

內推

騰訊內推的經歷比較慘淡,面了三個部門,都跪在一面了。講真,有點心塞。mysql

1.WXG

  • 平生第一次的電話面試交給了WXG,一上來給了18道題讓作,一共給了40分鐘左右,能作多少算多少。當時作了8道出來。把這些題列出來吧,供大佬們參考。
    ```cpp
    //1. 反轉字符串,在原串上反轉
    char * reverse( char * s )面試

    //2. 給定一個整數,按10進制來看,計算裏面包含多少個0。不能用snprint f轉成字符串。
    int count( int value )算法

    //3. 從一個雙向鏈表中刪除一個節點。head是鏈表頭節點,toDelete是已經找出來要刪除的節點。
    struct LinkNode {
    struct LinkNode * prev, * next;
    };
    struct LinkNode * head;
    void remove( struct LinkNode * todelete )sql

    //4. 兩個有序(從小到大)單鏈表,合併爲一個有序的單鏈表
    struct LinkNode {
    int value;
    struct LinkNode * next;
    };
    struct LinkNode * merge( struct LinkNode * firstLink, struct LinkNode * secondLink )數組

    //5. 倒轉單鏈表(在原鏈表上倒轉)
    struct LinkNode {
    int value;
    struct LinkNode * next;
    };
    struct LinkNode * reverseList( struct LinkNode * head )函數

    //6. 有一個二叉樹,每一個節點的值是一個整數。寫一個函數,判斷這顆樹中是否存在從根到葉子節點的一個路徑,這個路徑上全部節點之和爲某一個值。存在返回1,不然返回0。
    struct TreeNode {
    int value;
    struct TreeNode * left, * right;
    };
    int haspath( struct TreeNode * root, int value )優化

    //7. 給定一個遞增循環整數數組,從裏面找出最小的元素,使用的算法越快越好。特別地,最小的元素可能出如今數組中間。好比:50, 52, 63, 90, 3, 8, 15, 44。
    int findmin( int array[], int count )spa

    //8. 在有序列表中插入一個節點
    struct LinkNode {
    int val;
    struct LinkNode * next;
    };
    struct LinkNode * insert( LinkNode * head, LinkNode * node )線程

    //9. 二叉樹的深度
    struct TreeNode {
    int val;
    struct TreeNode * left, * right;
    };
    int depth( TreeNode * root )

    //10. 給定兩個字符串 s1 和 s2 ,從 s1 中刪除在 s2 中出現過的字符。
    char * remove( char * s1, const char * s2 )

    //11. 從有序鏈表中去除重複的元素
    (1, 1, 3, 3, 3, 5, 5, 5, 9, 9, 9, 9) -> (1, 3, 5, 9).
    struct LinkNode {
    int val;
    struct LinkNode * next;
    };
    void remove( LinkNode * head )

    //12. 有一個字符串列表,從中找出按字典序最大和最小的串。
    char * strlist[ N ] = {
    "abc",
    "123",
    ....
    "def"
    };

    void find( char * strlist[], char ** strmin, char ** strmax )
    //13. 設定以下的對應關係( A=1,B=2,C=3,...,Z=26,AA=27,AB=28,...,AAA=xxx,... ),編寫一個轉換函數,根據上面的規則把一個字符串轉換爲數字
    int StrToInt ( const char * str );

    //14. 在二叉排序樹上面找出第3大的節點。注意:不能把二叉樹全量存儲到另外的存儲空間,好比存儲到數組中,而後取出數組的第三個元素。
    struct TreeNode {
    int value;
    struct TreeNode * left, * right;
    };
    struct TreeNode * find( struct TreeNode * root );

    //15. 從一個整數數組中,找出遞增的最長序列。
    struct Result {
    int offset; // 序列的開始位置
    int count; // 序列的長度
    };
    int findCont( int array[], int count, struct Result * result );

    //16. 從單鏈表中找出中間的節點。
    struct LinkNode {
    int val;
    struct LinkNode * next;
    };
    struct LinkNode * find( LinkNode * head );

    //17. 兩個有序(從小到大)單鏈表,構造一條新鏈表,包含同時出如今兩個鏈表的節點
    struct LinkNode {
    int value;
    struct LinkNode * next;
    };
    struct LinkNode * int ersect( struct LinkNode * firstLink, struct LinkNode * secondLink );

    //18. 判斷一個單鏈表是否出現環,空間複雜度不能是O(N)
    struct LinkNode {
    struct LinkNode * next;
    };
    //返回 1:有環,0:無環
    int iscycle( struct LinkNode * head )
    ```
  • 40分鐘後,而後把作了的題和麪試官一塊兒過一遍,看是否有錯,是否能夠優化等等
  • 最後聊了一下線程池的問題。讓我準確計算出一個系統中的線程池的數量設置多少個合理。(這個一臉懵逼,沒作出來,要是有大佬懂的話,還請不吝賜教)
  • 這一面快兩個小時了吧,至此, WXG 掛

2.TEG

  • TEG的小哥哥仍是比較溫柔,問了特別多的STL,vector,list
  • map,hashtable的區別,怎麼實現的,適用場景
  • epoll的使用
  • 線程池的設計
  • 項目中能夠改進的地方
  • 。。。。。時間過久,記不住了
  • 感受此次還不錯的,可是,至此,TEG掛

3.IEG

  • 內推裏面最不溫柔的就是IEG了
  • 項目中mysql是怎麼用的
  • 1.算法題。一個數組中的數都出現兩次,只有一個出現一次,找出來
  • 2.算法題。一個數組中的數都出現三次,只有一個出現一次,找出來
  • 3.算法題。假設有一個隨機函數能夠隨機生成[0,7900],而後如今有3000人,設計一個函數從3000人中等機率選取一我的
  • 至此,第二個和第三個算法題都不太符合小哥哥的預期,IEG掛

正式校招

筆試

  • 騰訊筆試選擇題都是不定項,並且不能倒回。中間手一抖,多點了幾下,結果直接跳過1-2兩個題,至此,筆試崩

一面

  • 原覺得筆試過不了,都已經準備去霸面了。結果收到了面試通知
  • 寫程序。實現int 轉 const char* ,函數原型以下:
    cpp const char * ToString(int val);
  • 寫程序的時候,原本不容許用malloc,我用了,又讓改。改爲了全局變量,結果又指出了另外一個錯誤:
    cpp printf("%s %s\n", ToString(123), ToString(456));
    讓猜結果是多少,而後又引起了一段血案,反正最後也不自信,也不敢確定結果。。。

  • 聊了一下項目

二面

  • 二面一共15分鐘不到,全程和麪試官閒聊,沒有一個技術問題。
  • 自我介紹
  • 興趣愛好
  • 能不能實習
  • 。。。。忘了
  • 最後,沒忍住,問了一下,爲何不問技術問題,是否是掛了。答曰:前面已經有同事考驗過你的技術了。。

hr面

  • hr面半個小時
  • 自我介紹
  • 科研狀況
  • 實驗室狀況
  • 家庭狀況
  • 將來規劃
  • 有沒有什麼問題
  • 沒了

總結

  • 今天拿到TEG實習offer
  • 騰訊是個好公司,我很想去,可是老闆不讓。
  • 仍是有不少不足,校招再戰!
相關文章
相關標籤/搜索