金九银十,Java 程序员面试历程(附字节,阿里,百度,网易,美团等面经)
目前拿到了字節,百度,網易(白菜價,已拒),美團,小米的意向書,等最終結果通知的是華泰(已收到體檢通知),招行信用卡,阿里
招銀(資料審查中),網易互娛(二面沒去),浦發(沒去體檢),農行(面試通過,沒去筆試),騰訊(兩次被撈都是一面掛,第三次還是深圳拒絕了面試),微軟(筆試完),銀聯(筆試完),微博(拒絕了現場面試)
還有各種筆試掛的(流利說,愛奇藝,小紅書,B 站),后續拒絕了很多面試,再也沒有精力再去了,持續躺尸中....
實習的時候真的是屢戰屢敗(阿里三次已回絕),真的要好好調整自己,面試過程中要充分思考,祝大家都收獲自己滿意的 Offer
一. 字節跳動(北京)
字節跳動是提前批面的第一家公司,部門也是核心部門,但是但是當時腦抽投的北京崗位,很后悔沒投南京的,日常眼饞實驗室同學的南京字節 Offer
面試體驗很好,給了自己信心和很多面試的查漏補缺以及思考方式,感恩。
還記得視頻面緊張的不行,因為代碼能力比較弱,很怕手撕代碼,一面面試官看我沒寫出來,還換了一道特別簡單的判斷有無環,真的是感恩。
一面+二面+三面:(視頻面)
-
Redis 數據類型的底層數據結構,String 類型和 SortedSet 類型
-
中斷處理中 cpu 現場環境存儲在哪里
-
MySQL 中有 a,b 兩列各自建立索引,在進行查詢的時候,走哪個索引,怎么設計
-
三面主要問項目中的消息中間件和場景題
-
代碼題目:leetcode 85 最大矩形 , 判斷鏈表有無環,手寫 hashmap
-
好多不記得了。。
-
還記得當時收到四面通知的崩潰,以為結束了,都在躺尸的時候收到了四面通知。。
四面(視頻面)
-
靈魂拷問:覺得自己前面幾輪面的怎么樣,為什么覺得三面沒面好,三面面試官提出的問題下面有去思考嗎
-
針對被三面面試官問懵的項目問題,開始深挖和設置場景題...
-
如何比較對于同一個問題的兩種算法的優劣性,不能計算時間復雜度和空間復雜度(信息增量)
二. 百度(上海)
一面(視頻面)(1h20min)
-
代碼題:單例模式,數組的題
-
阻塞隊列實現
-
怎么設計一個線程池的各個參數,各種場景下線程池的設計
-
cas 底部是怎么實現的保證原子性(底部到硬件指令)
-
最后,講一下虛擬機的知識點吧
-
只記得一些典型的問題了,一面還是基礎問的比較多,細致~
二面(電話面)
-
聊項目.gif(感受到一絲涼意)
-
hadoop 和 spark 區別,為什么用 spark,優勢
-
為什么用這個消息隊列,高可用,保證消息不丟失的機制
-
為什么用線程池,線程池有哪些,以及應用場景
-
垃圾回收的知識,為什么要垃圾回收,可達性分析,回收算法,垃圾回收器
-
寫 sql 語句,查詢各門科目成績都>80 的學生姓名
-
聚簇索引和非聚簇索引
-
mysql 事務和隔離級別,默認的隔離級別
-
sychronized 和可重入鎖的區別
-
ORM 框架——mybatis
-
Spring 和 Springboot (我以為會被掛的地方,不太懂 Spring)
三面(電話面)
-
是個小姐姐,技術加 HR 面綜合的感覺
-
主要問的分布式的項目以及 Spark 項目,沒有基礎知識和代碼題
-
覺得自己的缺點是什么,周圍人對你是什么評價,最有成就感的一件事
三. 網易(杭州)
幾乎和百度同時進行~
一面(視頻面)
-
為什么研究方向是機器學習,不做算法。。(我也想啊,這不是菜嘛)
-
聊項目.jpg,主要聊了分布式的項目,源碼等等
-
那我們來問一下 java 知識吧
-
java 內存區域
-
java 有哪些等待通知機制
-
Countdownlatch 了解嘛,底層怎么實現的?
-
說下 AQS
-
什么時候申請堆外內存
-
內存映射以及內存映射的方法是哪個
-
分布式緩存 redis,怎么做成分布式
-
一致性 hash
-
不用 redis cluster 怎么做?
-
redis cluster 一個宕機了會有哪些處理?
-
分布式數據庫了解嗎?
-
發布訂閱模式,以及一個消費者組集群模式怎么消費
-
了解 Spring 嗎(不了解不清楚別問我我沒看)
-
web 下服務器怎么做負載均衡的?
二面(視頻面)
-
項目和場景題
-
負載均衡的幾種方法
-
緩存擊穿,雪崩的應對方法,詳細講
HR 面(現場面)
-
常規 HR 問題
四. 阿里(等最終通知)
一面(電話面)
-
項目相關:有調研其他的消息中間件嗎?為什么用 rocketmq?
-
線程池的原理以及各種線程池的應用場景
-
線程池中使用有限的阻塞隊列和無限的阻塞隊列的區別
-
如果你發現你的 sql 語句始終走另一個索引,但是你希望它走你想要的索引,怎么辦
-
mysql 執行計劃
-
數據庫索引為什么用 b+樹(磁盤 io 的深入了解)
-
你在做 sql 優化主要從哪幾個方面做,用到哪些方法工具
二面 + 三面 + 交叉面 + HR 面(電話面)
(我已經忘完了,忘記記錄面經了)
在坐地鐵的路上面了個疑似交叉面的面試,剛開始以為是掛了,然后被別的部門撈了,也沒聽清楚是什么部門,內心很崩潰,當時面的感覺是秋招面的最差的一次。
卻意外地等到了 HR 面,才知道前一面可能是交叉面(來自從沒體驗過交叉面的疑惑)~~
面試官讓我幫忙推沒有面過的簡歷,太難找了,問了別的實驗室也沒有,盡力啦,等最終通知!!
五. 美團(上海)
一面(電話面)
太太遙遠了,不記得了.jpg
二面+三面+HR 面(現場面)
距離一面有 1 個多月,期間收到了 HR 通知去上海現場面,但當時有些懶得跑,想等南京現場面,就木有去,終于等到南京現場面
-
線程池的原理以及各種線程池的應用場景
-
項目深挖,畫出架構圖,加 MQ 源碼
-
MQ 不能保證只會消費一次,如果讓你在 MQ 中加入,你要怎么設計
-
消息去重保證冪等性有哪些方法
我是只有七秒記憶么,這是最近面的一個了,大多還是不記得了
六. 小米(南京)
一面(現場面 2h)
去了南京小米公司面了一波,整整兩個小時讓我懷疑人生
-
問了研究方向
-
項目中使用的 MySQL 版本號,使用哪個引擎,為什么
-
MySQL 兩個引擎的區別,為什么 INNODB 使用聚簇索引,而不用 MyISAM 行指針的形式
-
SQL 優化的幾個方面
-
Redis 的數據類型,SortedSet 底部實現
-
Redis 分片的幾種形式,Redis Cluster
-
介紹一下 JVM 知識
-
Java 線程池原理及其應用場景
-
Concurrent 并發包里幾個類介紹一下
-
HashMap 求 hash 值的時候,無符號右移 16 位的意義
-
解決 hash 沖突的幾種方法,在哪些地方用哪種
-
tcp 粘包和拆包的方法,tcp 可靠性通過哪幾個方面保證
-
http 無狀態的,session 和 cookie 存儲在哪里
-
調用一個模塊的服務的請求參數是加在哪里,修改 http 請求頭來保持請求的狀態
-
一個服務部署在多個服務器上,怎么負載均衡,怎么讓請求打到某個服務器上,怎么尋址,一個服務器宕機怎么感知
-
io 多路復用,select,poll,epoll 的底部原理
-
手寫一致性 hash
-
算法題:兩個集合求交集,其中相同的數字出現多次就輸出多次,無序
二面(電話面)
不想再跑一趟了,向面試官改成了電話面
-
避免幻讀的方法,MVCC 中怎么避免幻讀的某個方面
-
Full GC 什么時候發生,各種垃圾回收器,哪些是年輕代,哪些是老年代
-
數據庫索引結構,為什么是 B+樹
-
項目 ing
-
感覺面的不太好,二面面試官說有三面,沒等來三面,等來了 Offer Call
七. 華泰(南京)
一面
-
項目問題 ing....
-
http 的 get 和 post 區別
-
大量數據不能一次性放到內存,出現頻率最大的數字,數據傾斜的極端情況怎么辦
課題考察
分布式全局唯一 ID 生成器
-
耗費心血,熬夜三天
HR 面(5 分鐘)
主要問成績,家庭情況和職業規劃
已經收到體檢通知啦,希望一切順利,加油
八. 招商銀行信用卡中心(等最終通知)
初面
-
項目里用了什么設計模式,詳細講一下
-
項目 ing
-
微服務
終面(技術+HR 面)
-
問了研究方向....詳細講講看
-
項目問題
-
HR 問題:如果轉前端可以嗎,學習要多久(回答的是更想做后端,害怕.jpg)
總結
以上是生活随笔為你收集整理的金九银十,Java 程序员面试历程(附字节,阿里,百度,网易,美团等面经)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaweb教师教学档案管理系统
- 下一篇: 【大学四年自学Java的学习路线】写了一