結論放在前面吧,最後是拿了美團offer,21*15.5,總包是33w多一點,今年大廠的薪資都挺高的,白菜基本都在35w左右。面經是我根據回憶整理出來的,實際問的問題要多一些。
滴滴
無筆試
一面:
- 自我介紹
- Linux記憶體、分頁
- 基本I/O模型
- 常用Linux指令
- TCP和UDP差別
- 三次握手、四次揮手(為什麼需要三次握手,為什麼需要四次揮手)
- B樹和B+樹
- 紅黑樹
- 快排、歸并排序
- 設計模式
- Redo log 和 Undo log
- 做了兩個題,第一個是二叉樹的層次周遊,第二個是翻轉二叉樹
百度
百度的面試十分奇怪,一面面試官是寫cpp的,二面面試官用的python,我投的是Java,但因為之前也學過cpp,項目一直用的python,回答的還可以。
一面:
- 二叉樹的蛇形周遊
- 回文串動态規劃(馬拉車算法)
- cpp記憶體分區
- cpp多态和繼承
- cpp虛函數
- cpp常用容器
- 虛拟記憶體的作用
- 程序線程差別
二面:
- 項目(項目聊了很久,面試總共五十分鐘,項目大概聊了四十分鐘,當時是和學校實驗室做的一個計算機視覺的科研項目)
- python淺拷貝和深拷貝
- 垃圾回收機制
- 鎖
- 沒有做題
美團
美團的筆試還是有點難度的,後面也聽說卡了一批人,5個題我最後A了3.6個,進了面試。
一面
- 項目
- volatile和synchronized
- 線程池
- 容器源碼的具體實作
- TCP和UDP
- 自己實作一個安全的UDP
- 海量資料題,記憶體1G,十億個URL中尋找出現頻率最高的五個
- SQL題
- 資料庫的鎖
- MVCC的實作方式
- 二叉樹,用DFS和BFS兩種方式做
二面
- 最近在看什麼書
- 聊了聊學校做過的科研項目,讓我說下自己學到了什麼
- 知道買菜部門嗎(簡單給我介紹了下)
- OSI七層模型,着重說了下DHCP和NAT穿透
- SSL密碼學原理
- 動态規劃,最長公共子序列
三面
- 項目
- 你覺得自己有什麼不足,說下自己的不足
- 最近在看什麼書,學什麼内容
- 讓我自己實作了redis的一些資料結構(當時隻看過redis很少部分的内容,在面試官的提示下實作了一些資料結構)
- 手寫了紅黑樹的調整過程(部分僞代碼)
- 怎麼配置設定伺服器應對高并發(機率統計-網吧網管問題)
- 動态規劃-字元串的最小删除和
騰訊
騰訊問的問題都比較基礎,一面特别簡單,簡單記錄下二面:
二面:
- 計網基礎
- 資料庫基礎
- 作業系統基礎
- 寫題:tier樹
- 寫題:十億個節點找某兩點的連同路徑(當時用的方法空間複雜度極高,也沒有想到比較好的方法)
- 寫題:找數組中兩個隻出現一次的數(卡時間複雜度)
位元組
基礎題也和上面很相似,記錄下程式設計題:
- k個一組翻轉連結清單
- 快速幂
- leetcode 410 分割數組的最大值
- 柱狀圖中最大的矩形
先記錄這些,後面補上