三面騰訊,已拿offer!分享複習經驗和後臺開發面經

緊張的準備了一個多月,終於拿到最想要的offer啦!這一個多月刷了挺多題,也看了許多筆經面經

複習過程

  • 項目準備;
  • leetcode:刷完劍指之後每天會刷2-4道leetcode
  • java基礎: 主要刷面經、重點掌握垃圾回收機制
  • 操作系統: 之前沒學過,用幾天時間看了一下最重要的進程線程、死鎖、消費者生產者、哲學家問題、銀行家算法
  • 計算機網絡:花幾天時間複習了一下,重點複習tcp(三次握手四次揮手擁塞控制流量控制)、udp、https
  • 數據庫: 重點了解了索引的實現以及引擎的區別
  • 數據結構和算法: 主要通過劍指offer和leetcode進行復習
  • 其他:期間也做過大大小小好幾次筆試,還有一些往屆練習卷

騰訊

一面(3.13電話面)

  1. 自我介紹
  2. 介紹項目以及項目遇到的難點
  3. java的hashmap是否安全?hashmap、hashtable、concurrenthashmap的區別、底層和實現
  4. mysql索引的底層實現
  5. jvm垃圾回收機制
  6. tcp、udp區別和適用場景
  7. tcp三次握手、四次揮手,爲什麼揮手不能只有三次
  8. 線程和進程的區別
  9. 進程通信的方式有哪些
  10. 堆是線程共有還是私有,堆是進程共有還是私有,棧呢
  11. 瞭解過協程嗎(我:攜程???不瞭解嗚嗚嗚)
  12. mysql查詢優化
  13. 快速排序的時間複雜度、原理(口述算法)
  14. 最近在看什麼書
  15. 除了騰訊還投了其他的公司嗎
  16. 問我願不願意轉go,並推薦我瞭解一下協程,最後讓我耐心等待,面試的人太多,需要對面試的同學進行挑選,兩週內會告知我結果
  17. 有什麼想問的(對我的評價和學習建議)

二面(3.22現場面)

  1. 自我介紹
  2. 問我爲什麼發現自己不喜歡做客戶端(簡歷中有一個安卓實習項目)而想做後臺
  3. 介紹項目(一個電商小程序)
  4. 項目中的商品是否有考慮過xxx(忘記叫什麼了,意思就是是否有考慮過同一種商品有不同的顏色、規格,在數據庫中如何區分這些不同)
  5. 介紹項目的支付流程,並畫一下流程(白板)
  6. 介紹一下訂單狀態碼的含義,以及交易過程中訂單狀態碼如何變化
  7. 如何防止商品的超賣現象
  8. 項目是否具有秒殺功能
  9. 併發的時候,如何保證性能
  10. 在分庫之後,如何設計id
  11. 在分庫後,一條插入請求,在上層不做處理,如何直接在數據庫找到相應的庫並插入庫中的某個表
  12. 當服務器的cpu一直很高時,如何找出原因
  13. 是否用過調試工具
  14. 當項目一直無法訪問的時候,如何定位錯誤
  15. 介紹一下aop和ioc
  16. 如何將一個ip地址由點分制(xxx.xxx.xxx.xxx)和int類型間進行相互轉化
  17. 如何判斷一個數是否爲2的n次方
  18. 可實習時間
  19. 是否願意轉go
  20. 有什麼想問的(對我的評價和學習建議)

hr面(3.26電話面)

  1. 自我介紹
  2. 介紹一下實習經歷
  3. 實習中遇到的困難以及如何解決這些困難
  4. 未來計劃,是否讀研

面試總結

一面的問題都很中規中矩,唯一卡住的就是協程了,確實不會,只能和面試官說我不瞭解。
主要和大家分享一下二面的面試體驗吧。因爲二面自我感覺答得不是很好,有很多問題當時沒記錄下來,現在一時也想不起來。所以上面的面經並不完整。
當時面試完走出大廈以爲自己掛掉了,結果刷新了一下狀態發現變爲hr面,真的超級意外。現在想想大概是因爲我在遇到不會的問題時,沒有直接說自己不會,儘量把答案往自己知道的方向回答。

  • 第7題,項目沒有秒殺功能我也沒做過,但是瞭解過一些,只能和面試官說確實沒有,然後讓他聽我講一下我的實現思路,期間又讓面試官挖出了很多問題考我TAT
  • 第9題、第10題,面試官要求我在分庫的場景下回答問題,我先回答了分表情況下如何實現,他肯定了我在分表下的做法,但是分庫情況還需要另外考慮,我實在想不出來,才和他說自己沒有辦法實現,但這總比我直接說自己不會好。
  • 第13題,如何定位錯誤的時候,先講了一下無法訪問的幾種情況,以及大量tcp處於time_wait、close_wait這兩種狀態的原因和解決方法。
  • 面試結束後,等電梯的時候突然想起面試中一個一直理解錯誤導致解不出的問題,發現自己想歪了之後趕緊編輯完答案又給面試官發了過去,這個答案後來得到了面試官的認可。

寫在最後

作爲一名即將求職的程序員,面對一個可能跟近些年非常不同的 2019 年,你的就業機會和風口會出現在哪裏?在這種新環境下,工作應該選擇大廠還是小公司?已有幾年工作經驗的老兵,又應該如何保持和提升自身競爭力,轉被動爲主動?

就目前大環境來看,跳槽成功的難度比往年高很多。一個明顯的感受:今年的面試,無論一面還是二面,都很考驗Java程序員的技術功底。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章