三面百度,四面位元組跳動。我是怎麼被百度吊打,又是怎麼拿下位元組offer的?

2020-10-23 16:01:28

首先介紹一下我可個人背景,鄙人小康家庭,父母都是普通職業,供我讀書長大不容易,好在我也算爭氣,高考發揮正常,考了個還算不錯的大學,華南地區某211。今年的金三銀四本是想好好拼一把,奈何受到疫情影響,只能將自己的計劃縮減又縮減,所以第一家選擇去面試的百度,奈何三面被虐得「體無完膚」,好在自己並未氣餒,複習30天后去面試了位元組,最終4面拿下了offer。

百度三面面經

百度一面面試題:

  • 自我介紹
  • 聊聊專案,時間大概15種左右,面試官會根據專案的一些設計點來提問,提前做好準備,別自己坑了自己
  • 分散式鎖是鎖住一部分還是整個系統,既然是鎖住整個,為什麼不用訊息佇列?
  • 詳細講下怎麼用 mq 實現的最終一致性,還有怎麼利用的訊息事務?
  • tcp 於 http 的關係,如何基於 tcp 實現 http
  • Java 開啟一個 http 流不關閉的後果
  • io 流是基於抽象類還是介面實現的
  • 資料庫的樂觀鎖和悲觀鎖是什麼
  • 樂觀鎖實現原理,講到一半,來寫一個樂觀鎖吧
  • java 的類中有什麼方法
  • 執行緒安全是什麼?
  • volatile 和 synchorized 的區別
  • 假如有一個類 A 和一個 類 B,這兩個類都有一個變數和一個自增操作,A 類的變數用 volatile 修飾,B 類沒有用,B 類的自增操作用 synchorized 修飾,他們都是執行緒安全的嗎,如果都是,那為什麼要用 synchorized ,volatile 不是更輕量嗎,synchorized 有什麼作用。
  • 智力題:島上有群人,各自戴著紅帽子或者白帽子,但都不知道自己帽子顏色,只有知道自己帽子顏色,第二天才能出島,這時候有個人進來說了句「你們之中至少有一個人戴了頂紅帽子」,問島上的人最後的離開情況
  • 演演算法:矩陣中的最長上升序列

百度二面面試題:

  • 自我介紹
  • 專案介紹
  • java集合框架全部介紹,從list set queue到map
  • hashmap底層擴容執行緒安全問題
  • 如果一個物件 要作為hashmap的key需要做什麼?
  • Threadlocal類以及記憶體漏失
  • 執行緒同步方式,具體每一個怎麼做的
  • jvm類載入雙親委派模式,有沒有能破壞這個模式的方法?類載入整個過程解釋
  • 垃圾回收演演算法,垃圾回收器有什麼?
  • synchronized用在靜態和非靜態方法的區別
  • 你做專案的思路是什麼,看過什麼原始碼,什麼開源網站經常訪間,看是什麼學的的書不?

百度三面面試題:

  • 問專案相關的技術棧(我回答的是MongoDB)
  • 懟問:為什麼要用MongoDB?為什麼不用MySQL?MongoDB有哪些特性,能說一下嗎?
  • 檔案型資料庫有哪些?ES與MongoDB有什麼區別?為什麼ES搜尋更快?
  • 資料庫都有哪些型別,關係型資料庫和NoSQL有什麼區別?
  • NoSQL有哪些?他們的使用場景都說一下
  • 問JVM,從載入到解除安裝的過程都說一下
  • UML都有哪些圖?如何從這些UML的圖中來實現你的需求設計?
  • 設計模式說一下,Spring原始碼看過吧?那說一下設計模式是如何在Spring中體現的?
  • Spring為什麼要用簡單工廠模式?
  • 微服務瞭解過吧(瞭解過一點),微服務都有什麼好處?
  • 微服務都有哪些框架或中介軟體?
  • SpringCloud都有哪些元件啊?和阿里開源的這些有什麼不同呢?如果要你用你該如何選擇?
  • SOA瞭解過吧?那什麼是SOA?SOA與微服務相比有什麼優缺點?
  • 如果讓你提高一個系統,你該怎麼做?如果讓你設計一個系統,你要考慮哪些方面?
  • 對什麼技術比較熟悉(回答的Java多執行緒),JDK提供了什麼來實現執行緒安全啊?
  • 超執行緒是什麼?知道嗎?(頓時懵了,啥啊,沒聽過)
  • 對未來的技術有什麼規劃?你為什麼要學這些技術?

百度面試題答案+解析:

三面百度被吊打,憑藉這份阿里大牛整理的資料,終拿下位元組offer

 

位元組跳動點評四面面經

位元組跳動點評一面面試題:

  • 介紹專案(我說了用了分散式鎖,然後就開始針對分散式進行提問了)
  • 分散式鎖的實現
  • 分散式鎖過期解決
  • 字首樹是什麼?字首樹的使用場景?
  • 分散式資料庫主從複製(我說我不會分散式的,我會主從複製,然後面試官叫我講講)
  • MySQL 死鎖發生的原因和解決
  • MySQL 分別建立索引 a,b,c ,語句 select ...where b=x,c=x,a=x 能不能用到索引,建立聯合索引能不能用到,a=x,b>x,能不能用到,用到幾個索引?
  • B 樹和 b+ 樹的區別 b+ 樹的優點
  • Linux cpu 滿了怎麼排查?
  • 怎麼檢視佔 cpu 最多的執行緒?
  • Linux怎麼搜尋檔案中的字串,寫到另一個檔案中
  • liunx 網路相關命令
  • 如何判斷連結串列是否有環
  • Java = 和 equals的區別
  • Java contentMap 和 HashMap 什麼區別,執行緒安全怎麼實現
  • HashMap 怎麼解決雜湊衝突,雜湊衝突還有什麼解決方法
  • Java 執行時異常和檢查性異常
  • Java 類載入
  • 什麼是泛型 泛型的使用場景
  • 程式導向和物件導向(一緊張差點三大特性的多型想了十秒才說出來)
  • 多型是什麼?父類別如何呼叫子類的方法
  • 問我看了啥書(設計模式,圖解HTTP,Modern PHP...被打斷然後開始問設計模式)

位元組跳動點評二面面試題:

  • 自我介紹
  • 程序排程、虛擬記憶體、程序與執行緒的區別、如何判斷程序是否發生了記憶體漏失
  • 常見的設計模式
  • tcp與udp區別、tcp三次握手和四次揮手、流量控制、擁塞控制(四個演演算法,問得很細)
  • 分散式事務(並說一下2PC)、redis底層資料結構有哪些、持久化方式
  • B+樹索引和hash索引的區別
  • redis分散式鎖,其他實現方式,zookeeper如何實現的?
  • 分散式的一致性,強一致性和最終一致性
  • Linux如何檢視IO讀寫很高
  • 叢集腦裂
  • Linux中非同步IO是如何實現的,訊息佇列如何實現的?
  • Redis持久化,「並行高,資料量小」和「並行低,資料量大」,redis怎麼選擇儲存模式
  • Mysql主從複製原理,mysql中如何做故障轉移(容災)
  • Nginx生命週期
  • 疫情期間,如果讓你去調研所在城市口罩的可用量,有哪些方案?

位元組跳動點評三面面試題:

  • Java資料型別,同步機制
  • hashmap correnthashmap?
  • Threadlocal原理?
  • 講講貪婪演演算法
  • 並行量很大,伺服器宕機。你會怎麼做?
  • 如果線上使用者出現502錯誤你怎麼排查?
  • 說一下你平時的學習方法?
  • 能告訴我你的部落格地址嗎?(當然可以啊,難道我要說不告訴你嗎)
  • syn和lock的區別,哪個更好?
  • 怎選擇 三次握手,第三次失敗了,失敗怎麼辦?為什麼四次揮手?
  • hashmap原始碼,為什麼8個節點變成紅黑樹 又為什麼到了6個節點才恢復為連結串列?(泊松分佈)
  • 快取穿透,怎解決?
  • 負載均衡演演算法的實現
  • 輪詢和隨機的缺點?
  • 分散式服務治理
  • dns迭代和遞迴的區別
  • 演演算法:最大回文串

位元組跳動點評HR面:

  • 自我介紹,抓住介紹的點讓你詳細說說?
  • 為什麼實習經歷只有一個月?
  • 為什麼不去找其他的實習?
  • 其他的面試流程?
  • 考慮去哪裡工作,北京是唯一選擇嗎?
  • 為什麼來美團?你對美團技術團隊的瞭解有多少?

位元組跳動4面面試題完整答案+解析:

三面百度被吊打,憑藉這份阿里大牛整理的資料,終拿下位元組offer

被百度慘虐後,我是如何拿下位元組跳動offer?

(1)第一步是關鍵:調整心態

由於百度面試沒有通過,所以多少都受到了一些影響,所以接下來的面試中,最關鍵的一步就是要調整自己的心態,以防被自己的消極心態所影響,因為一旦從心底否定了自己,面試過程中就容易出現語言不流暢、說話沒邏輯、條理不清晰、回答不全面,這都是面試中很多面試者容易出現的「致命傷」,所以調整心態,沉著冷靜地面對是非常重要的。

 

(2)第二步要梳理:Java核心知識點(15天時間,讀完這本pdf)

關於第二步要梳理,實際上就是面試過程中,發現自己的知識儲量是比較雜亂的,不知道面試官下一個會問什麼,所以對於Java 的知識點有一個清晰的梳理是很有必要的。關於Java核心知識點,手上也有一本整理好的pdf檔案,需要這份檔案的可以直接我私信(學習)獲得~

這份檔案涵蓋了很多知識技術點,包括Java部分(基礎,並行,多執行緒,JVM等)、資料結構與演演算法、開源框架(Spring,Mybatis,MVC,Netty,Tomcat)、分散式(Redis,Zookeeper,kafka,RabbitMQ,負載均衡等)、微服務(SpringBoot,SpringCloud,Dubbo,Docker)。

三面百度被吊打,憑藉這份阿里大牛整理的資料,終拿下位元組offer

(3)第三步要飛躍:惡補+刷題

關於第三步,就是要做到讓自己有一個質的飛躍。對於惡補和刷題這兩個方面,我自己也整理了我個人的一些資料,也是我自己的一些做法,希望具有參考性:

  • 實戰系列:Spring全家桶+Redis等

三面百度被吊打,憑藉這份阿里大牛整理的資料,終拿下位元組offer

  • 其他相關的電子書:原始碼+調優

三面百度被吊打,憑藉這份阿里大牛整理的資料,終拿下位元組offer

  • 大廠面試題題庫:BAT、位元組跳動、美團、網易、拼多多、滴滴等

三面百度被吊打,憑藉這份阿里大牛整理的資料,終拿下位元組offer

 

結尾:錦上添花

程式碼改變世界,要早日成為明日大牛,程式設計師肩上的擔子可是很重啊。趁現在開始,還不晚!

最後祝願你也能順利拿下大廠offer,共勉!

以上文章內容中所談及到的面試資料、學習資料、學習筆記等等,均可以免費分享,需要這些PDF的小夥伴,一鍵三連後;