同步更新
https://ac.nowcoder.com/discuss/420375
此段置頂:
辦公地點在上海市閔行區宜山路2000號利豐廣場,有沒有哥哥知道旁邊哪裏有房子可以租,或者有沒有合租意向的哥哥,蟹蟹(答主性別:男)
由於疫情延期開學,在同學的慫恿下,在三月底嘗試投了一下騰訊和字節跳動。
感謝牛友們的面經,這一個月學到不少基礎知識,┭┮﹏┭┮
騰訊PC端開發實習生電話面(4月1日)
1、自我介紹
2、輸入url到顯示這個頁面過程
3、https和http的區別
4、C++內存區域的劃分,堆、棧的理解
5、new和malloc的區別
6、字符串怎麼存儲的
7、list和vector區別
8、Map和HashMap優劣,查找的複雜度
9、C++面向對象的三個特徵的 封裝、繼承、多態 是什麼、用途、怎麼實現。菱形繼承可以嗎,爲什麼
10、計算機網絡分層模型,各層用處
11、TCP和UDP的瞭解,優劣,應用場景,三次握手四次揮手
12、客戶端開發瞭解過嗎 ios Android Mac
喜聞樂見 手撕算法題(口胡)
1、給你一個rand5函數,讓你實現一個rand7函數,追問,給你rand5和n,實現rand n(rand5 實現 rand n是真的沒想到怎麼做)
2、topk,出現次數最多的 k 個字符串(秒)
3、簡單dp,n個箱子每個箱子一個val,不能取相鄰的箱子,最大價值(秒)
由於是第一次面試,沒有準備,計算機網絡分層模型也忘了。
大概是由於算法題口胡的還可以,所以給了一面機會吧。
騰訊PC端開發實習生一面(4月3日)
自我介紹
上來先手撕代碼
1、在數組中二分查找某個數字,不存在返回 -1,秒,追問,可能有重複值,找最右邊的值並且解釋了一下思路(秒)
2、若干個人,每個人一個年齡,選一個時間複雜度最低的方法排序(先說了快排,然後說桶排,秒)
這裏給自己挖了一個坑,面試官給的是vector<int>,沒給個數,然後我寫個一個v.resize(),然後面試官追問這個和reverse區別,不會。。
1、static作用,用static修飾成員函數呢
2、inline作用,爲什麼可以優化,和#define宏定義有什麼區別
3、多態是什麼,靜態多態和動態多態,引出虛函數和虛函數表,表長什麼樣子
4、堆、棧的區別,存放數字的話,哪個效率更高(這裏擴展了一些應用場景)
5、問操作系統和計算機網絡學過嗎?學過!進程和線程的區別(我:不知道)
估計這個時候面試官都無語了。
6、用過多線程嗎?同步和互斥聽過嗎(沒有)
面試官無語+1
7、輸入url到顯示頁面的過程,涉及到哪些網絡協議
8、TCP和UDP區別,擴展到擁塞控制,累計確認等等
9、window消息處理機制
反問:
1、你覺得我和這個崗位要求的差距在哪裏,或者說不足在哪裏
面的有點心態爆炸,除了手撕代碼和第九題會,其他基本都不會或者只答了一點,果然,下午一看灰了
然後中間被騰訊撈了兩次,一次給了筆試題,讓拍下自己答題的過程發回去,我一拿到題人都傻了,全是應用題,沒有一個算法題,果斷咕了
另一次有點迷之操作,某天下午騰訊hr打電話來問有時間嗎,電話面一下,然後我說明天吧,hr說ok,然後hr的電話在4-5天后纔打過來
期間hr沒有給我說過或者發過換時間之類的消息,然後hr打電話來問有時間嗎,當時在上課,說現在沒時間,然後下課一看,灰了。
4月3號下午,字節跳動hr說一二面約在14號可以嗎,因爲人有點多,排到後面去了。由於有了騰訊的前車之鑑,買了計算機網絡自頂向下方法,高性能mysql,深入理解計算機操作系統和編譯原理,每天對着牛客面經學習一些基礎知識。
由於字節調動的忘記錄音了,儘量回憶一下。
字節跳動後端開發實習生一面(4月14日)13:00
自我介紹
手撕代碼:
1、給二叉樹的前序遍歷和中序遍歷,還原二叉樹並輸出後序遍歷。(秒)
2、給出鏈表 1->2->3->4->5,輸出 1->5->2->4->3,就是輸出一前一後的遍歷順序,要求空間複雜度 O(n)
想了半天不知道怎麼還原,給出了一個複雜度較高的做法,中間面試官提示了一下,沒明白他的意思,然後面試官讓我實現一下我的寫法,然後我寫了個遞歸每次取前一個再取後一個,遍歷長度/2 的次數,直接返回鏈表後順序輸出。
3、給n個籃子(不是環),每個籃子ai個蘋果,每次只能移動一個蘋果到相鄰的位置,求每個籃子蘋果相等的最小操作次數,只要求說了代碼思路(前面直接說了一個錯誤貪心方法,然後在面試官的提示下改對了思路,沒讓寫代碼)
1、事務是什麼,四個性質,索引和聯合索引,引擎有哪些
2、抖音實現關注和被關注,數據庫怎麼建表
3、問了一下TCP、UDP區別
然後聽到面試官離開了房間,我覺得我二面都沒了,然後就在座位上自閉,然後過了10分鐘,二面面試官進來了
字節跳動後端開發實習生二面(4月14日)14:00
自我介紹
手撕代碼:
1、判斷一個數是否是完全平方數(秒)
2、給一個數開根號,小數點五位(秒)
1、打ACM競賽碰到的最大挑戰
2、淘寶天貓經常放出大量優惠卷(滿200減100),其中有些優惠卷只能用於指定商品,怎麼求出最大的優惠價格
3、服務器負載均衡怎麼實現的,分佈式系統呢
4、TCP、UDP區別,三次握手四次揮手
現在還有時間,我們再來個算法題吧(我:一臉期待)
一個射擊運動員打靶,靶一共有10環,打10槍打中80環的可能性有多少種(秒,讓說了一下dp的思路)
二面的時候感覺自己應該有三面了,因爲面試官對我的算法和代碼水平給予了較高的評價?反正就是感覺應該有三面了。然後次日接到三面通知了。由於前面幾次都有些基礎沒答好,二面到三面之間在惡補基礎知識。
字節跳動後端開發實習生三面(4月28日)17:00
跳過自我介紹
1、給一個矩陣,求最長下降路徑長度。(從小到大排序,遍歷一次,或者記憶化搜索)
2、有n個人,這些人之中有m個紅帽子,剩下的人都是白帽子,每個人可以看到別人的帽子,這些人之中一定有一個紅帽子,如果這些人知道了自己的帽子顏色,他們就會離開,問這n個人什麼時候離開(從1個紅帽子推到第2個紅帽子,然後同樣的思維應用數學歸納法)
3、有什麼愛好嗎,然後隨便聊了一些
字節跳動後端開發實習生hr面(4月29日)17:00
先通知面試全部通過了,然後問了一下什麼時候能來,實習多久,本科畢業是否工作,然後講了一下有轉正機會,然後offer要審批,節後審批好了會聯繫你。