背景

2020屆 軟體工程專業 本碩都是武大 又菜又慫,春招就沒投幾家公司,看著大佬們個個BAT,又悔又恨京東 商城平台中間件部門(offer)

一面

  1. 自我介紹
  2. 項目介紹(我對於項目說的比較細,項目簡介、用到的技術、總體框架、個人貢獻,著重講了項目中遇到的問題,我這裡說的是並***形下的性能和數據精確性問題)
  3. 項目中用到了Redis,介紹一下Redis數據類型
  4. 你們怎麼保證Redis緩存和資料庫的數據一致性?緩存雪崩?擊穿?穿透?
  5. 演算法的時間複雜度和空間複雜度的含義,分析一下快排的?
  6. MySQL外鍵刪除策略?
  7. 如何做的MySQL優化?
  8. MySQL索引結構?介紹一下B樹和B+樹?MyISAM和InnoDB索引的區別?
  9. 什麼是事務?事務隔離級別和MVCC?(我對於這裡比較了解,在徵得面試官同意後,展開說了InnoDB底層對於各個隔離級別以及MVCC的實現,包括各種鎖、ReadView機制和版本鏈機制)
  10. 最短路徑演算法
  11. HashMap和ConcurrentHashMap
  12. Thread的join方法了解嗎?

    (我說相當於if(isAlive())wait(0))

    那為啥不直接用wait(0)?(不知道)
  13. final關鍵字,final修飾的方法不能被重寫,能被重載嗎(在這裡額外提了Java內存模型對於final的底層實現)
  14. JVM了解嗎,說說所知道的(??我講了內存區域、垃圾回收、類載入,然後,面試官說可以了)
  15. 有什麼要問我的?

二面

  1. 自我介紹
  2. 項目介紹
  3. Redis線程安全嗎,事務支持一致性嗎
  4. 數組與鏈表的區別?
  5. 項目中數據安全性如何保證的?

    (我答對於請求使用 session+token+時間戳 校驗,對於傳輸的數據進行非對稱加密,使用HTTPS,面試官不是很滿意)

  6. MySQL分庫分表的方案?(我介紹了我們使用的三種方式,hash法、range法以及當前正在使用的hash+range法)
  7. Zookeeper了解嗎?(。不了解)
  8. dubbo了解嗎?(。。不了解)
  9. 意向城市?意向部門?
  10. 有什麼要問我的?

HR面

  1. 自我介紹
  2. 自身的優點和最大的缺點
  3. 周圍人的評價
  4. 為什麼選擇北京
  5. 職業規劃
  6. 有什麼要問的

華為 武長地區(offer)

一面
  1. 自我介紹
  2. 項目介紹
  3. 項目中遇到的最大的問題?
  4. 畫一下項目的後端架構圖
  5. 看你資料庫用的不錯,資料庫三範式+BCNF範式?
  6. 項目中如何處理終端之間的信息交互?

    (Web網頁之間使用的WebSocket, 與手機的交互使用的自己用Netty實現的IM框架)

  7. 平時怎麼學習技術?
  8. 有沒有做Android的興趣?(????)
  9. 為什麼想去北京?武漢行嗎?
  10. 有沒有要問我的?

二面

  1. 自我介紹
  2. 項目介紹
  3. 學習成績相關情況
  4. 保研還是考研?(保研)
  5. 獎學金情況
  6. 最想去的三個公司
  7. 意向城市,意向部門
  8. 有沒有其他問題?

去哪兒 機票部門(offer)

吐槽一下去哪兒,四月十二號一面之後,隔了好幾個星期,Team Leader打了個電話二面,感覺涼透了,內推人那裡的狀態是簡歷篩選未通過(???),然後今天接到HR的HR面(???),然後給了口頭offer(???),讓我兩天內回復。。。一面

  1. 自我介紹
  2. 項目介紹
  3. 項目中遇到的難題
  4. 項目中用到了線程池,用的什麼線程池,怎麼配置的參數?
  5. 項目中的並發臨界資源是怎麼處理的?
  6. AtomicInteger怎麼實現的?
  7. CAS三大問題及解決方式
  8. 事務隔離級別,MySQL默認級別,(可重複讀),為啥使用可重複讀?(可重複讀+MVCC達到了序列化要求)
  9. 一個類裡面有兩個方法A和B,方法A有@Transaction,B沒有,但B調用了A,外界調用B會不會觸發事務?
  10. OS進程間通信的方式?Java使用的哪種方式?
  11. 介紹一下Java中的鎖?可重入鎖如何實現的可重入?
  12. 瀏覽器從輸入URL到返回結果中間經歷了什麼?
  13. 分析一下快速排序的時間複雜度和演算法複雜度?
  14. 你有什麼要問的?

二面

  1. 自我介紹
  2. 研究方向
  3. 學習的課程
  4. 說一下資料庫範式
  5. 進程與線程的區別
  6. 演算法題:計算一個有環鏈表的節點數

這個二面讓我一臉懵逼,項目都沒讓介紹。。。

HR面
  1. 自我介紹
  2. 項目介紹
  3. 學習方法、學習成績
  4. 現有的offer情況
  5. 興趣愛好
  6. 意向城市及原因
  7. 遇到的最大的問題及解決方式
  8. 有什麼要問的
  9. 直接介紹了這個部門和業務,然後說了待遇和要求,讓我兩天內回復(???這就offer了?)

總結

  1. 運氣好,三次面試都拿到offer
  2. 太慫了,沒敢投BAT之類的
  3. 太菜了,好多東西沒搞明白
  4. 秋招繼續加油

最後,歡迎做Java的工程師朋友們加入Java高級架構

群內有技術大咖指點難題,還提供免費的Java架構學習資料(裡面有高可用、高並發、高性能及分散式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)寶劍鋒從磨礪出,梅花香自苦寒來趁年輕,使勁拼,給未來的自己一個交代!

歡迎關注專欄:Java高級架構

裡面有大量batj面試題集錦,還有各種技術分享,如有好文章也歡迎投稿哦。


推薦閱讀:
相关文章