雙非一本非科班,位元組三面+微信四面+PayPal四面,大廠面經分享

關注我學java發表於2020-10-22

本人雙非一本非科班,之前在百度和位元組實習過,這次其實沒抱著什麼特別大的希望投遞,沒想到位元組可以再給我一次機會,還是挺開心的。

幾場面試下來,面試得自信,聲音自信,給面試官一種你啥都會穩如狗的感覺(實際內心慌得不行...),然後表達流暢,吐字清晰,不卑不亢,說話要有邏輯性,不能吞吞吐吐半天說不明白,得總結自己的面經,形成自己的知識體系,別人的面經寫的再好也是別人的,自己刷面經總結自己不會的點整理出來才是最有用的,文末我分享了一些我學習的方法和我收集的資源,我都整理成一套資源庫了希望能幫到大家

下面是面試經歷全部寫的是技術面試,hr面就沒寫了

1. 位元組跳動

整個面試過程,主要圍繞演算法和實習經歷考察,基礎知識的話不是很難。每一面的面試官都很nice,特別是三面的面試官,感覺在討論的時候沒有帶著面試的壓力,就是朋友之間的對話。

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

位元組跳動一面(60分鐘)

  1. 自我介紹
  2. 說下TreeMap和LinkedHashMap
  3. TreeMap怎麼按照自己想要的順序排序
  4. ConcurrentHashMap怎麼取的size值
  5. 怎麼防止惡意請求刷介面
  6. 那ES怎麼切詞的呢,有寫過切詞外掛嗎
  7. 你在專案中用Redis的場景
  8. 說下Redis有哪些資料型別
  9. Redis怎麼分片的
  10. Redis的刪除策略

位元組跳動二面(60分鐘)

  1. 你希望你處於一個什麼樣的工作環境
  2. 怎麼根據0-5隨機函式得到0-8隨機函式
  3. 快取和DB之間怎麼保證資料一致性
  4. 延時訊息佇列怎麼設計Redis的zset
  5. zset做延時佇列會有什麼問題死迴圈輪詢耗時
  6. 說下索引二八原理、提升讀效能犧牲寫效能的資料結構一個索引對應一顆B+樹雜湊、有序陣列、二叉樹查詢的優缺點那為什麼不用跳錶呢?
  7. 火車票區間查詢怎麼設計資料結構比如上海去武漢,途經南京、合肥現在要快速查詢出兩點之間票的庫存
  8. 手撕程式碼,leetcode54螺旋矩陣

位元組跳動 三面(60分鐘)

  1. 手撕程式碼,模擬微信群隨機紅包,輸入金額、人數,返回金額陣列;注意最小單位分;
  2. 聊專案,專案中的難點、模組然後還問了一些依賴模組的底層實現
  3. 專案的資料量以及QPS能達到多少
  4. 說下RPC,與HTTP的區別
  5. 你來位元組最想得到什麼我說希望技術能突飛猛進,面試官說你別說的太虛,實實在在的說...
  6. 你有什麼想問我的嗎

2. Paypal

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

Paypal 一面(60分鐘)

  1. 聊專案,說專案中的模組、技術難點
  2. 聊下ES內部的一些機制
  3. ForkPoolJoin相對於執行緒池的優點,及底層實現
  4. 詳細說下CMS和G1收集器
  5. CMS怎麼處理垃圾碎片的
  6. GC Root有哪些
  7. String的intern方法有什麼用
  8. 說下公平鎖、非公平鎖,為什麼非公平鎖效能更高
  9. CAS的三個問題及解決方案

Paypal 二面(60分鐘)

  1. 說下專案中的難點
  2. 說下多執行緒中有哪些鎖
  3. volatile關鍵字原理
  4. 說下ES的底層實現
  5. 大資料Spark、Hadoop、MapReduce有了解嗎
  6. 100萬的陣列怎麼求最小的100個數字和最大的100個數字
  7. 手撕程式碼,leetcode378有序矩陣中第K小的元素

Paypal 三面(60分鐘)

  1. leetcode121買賣股票的最佳時機
  2. JVM調優
  3. 詳細說說偏向鎖、輕量級鎖、重量級鎖問
  4. 新生代配合CMS收集器用的什麼收集器
  5. JVM裡面會有幾個棧
  6. 為什麼synchronized演變成重量級鎖後效能會下降
  7. kafka有沒有用過
  8. Redis怎麼保證高可用主從機制,哨兵機制

Paypal 四面(60分鐘)

  1. 問我機器學習和大資料這塊熟不熟悉答不會面試官說那我問你些java相關的問題
  2. Spring Boot內部怎麼實現像tomcat那樣直接把war包扔到某個目錄然後執行起來整個專案
  3. Spring Boot很大的jar包裡面比如說有個lib目錄,那這個lib如果讓你去載入,怎麼載入
  4. 你怎麼深入的去學習JVM的
  5. 你怎麼去看的虛擬機器的記憶體
  6. Jconsole和VisualVM會拿到記憶體佔用的一個趨勢,那你覺得什麼樣的趨勢才是合理的
  7. Full GC和OOM時,我怎麼知道是哪一段程式碼引起的記憶體溢位和洩漏
  8. G1收集器有沒有Full GC線上服務GC日誌有沒有看過,G1 GC會有什麼關鍵詞

3. 微信支付

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

微信支付 一面(75分鐘)

  1. 自我介紹
  2. 雜湊和紅黑樹的特點和應用場景
  3. 說下time wait,出現在哪一端,什麼原因會導致time wait過多,怎麼解決
  4. TCP和UDP的區別
  5. 用過什麼微服務的框架
  6. 專案中怎麼實現負載均衡的NginxF5
  7. 為什麼一年不到就出來看機會
  8. 為什麼不用MySQL的分庫分表,直接用ES
  9. ES索引裡面都儲存了哪些欄位
  10. 排程平臺模組是怎麼排程的,什麼時間排程,讓你設計怎麼實現

微信支付 二面(60分鐘)

  1. ES的倒排索引
  2. 瞭解分散式事務嗎
  3. MySQL的事務隔離級別
  4. MySQL的主從備份機制
  5. 資料庫的表結構設計有哪些經驗
  6. 資料庫的分庫分表
  7. 關鍵幀提取的原理
  8. 限流怎麼實現的
  9. DB和快取怎麼保證資料的一致性

微信支付 三面(40分鐘)

  1. 怎麼保證快取和DB之間的資料一致性
  2. 快取穿透、快取擊穿、快取雪崩區別及解決方案
  3. 怎麼預估熱點key,怎麼解決熱點key問題
  4. 快取的淘汰策略
  5. CPP會嗎

微信支付 四面(170分鐘)

  1. 雜湊存在的問題
  2. Redis有序集合底層實現
  3. 為什麼用跳錶不用紅黑樹
  4. MySQL索引為什麼用B+樹不用紅黑樹
  5. zset有什麼應用場景
  6. 為什麼用ES不用MySQL
  7. 專案的資料規模
  8. 為什麼ES和MySQL都是基於磁碟,ES的查詢效能要高
  9. 面試官讓我共享螢幕講專案,邊講邊問

面試結束覆盤查漏補缺

面試本質是一個自我優勢展示的過程,不要把面試變成面試官問一句自己回答一句,主動丟擲一些可能的點等面試官來問,比如我基本都被問到了DB和快取之間怎麼保證資料的一致性,其實都是我自己刻意往上引的,比如面試官說,你用過Redis嗎,你可以說,用過,一般用來作為快取配合MySQL提高效能,需要注意它們之間資料的一致性問題(不要太刻意,自己把握分寸),面試官大概率會接著問你是怎麼保證的

以下最新總結的阿里P7資深Java必考題範圍和答案,包含最全MySQL、Redis、Java併發程式設計等感興趣的朋友,小編可以免費分享給你一起學習

刷面試題

  • 2020大廠面試題65份

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

  • 知識點最全的java面試寶典(共227頁)

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

Leetcode演算法刷題

刷leetcode,刷leetcode,刷leetcode!重要的事情說三遍,作為一個程式設計師,程式碼寫的爛就是原罪,面試時前面答得再天花亂墜演算法寫的捉急也沒用,只會讓面試官產生你是背面經的感覺,所以寫演算法題還是要快準狠,快速無bug寫出最優解在面試官那裡是非常亮眼的,這個是沒有捷徑的,我自己這次面試leetcode高頻300題刷了好幾遍,面試演算法很順利,當然最主要的還是刷中等難度的題,hard題價效比太低,反正我沒怎麼刷...

  • Leetcode演算法刷題寶典(共666頁)

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

  • Java資料結構和演算法.(第二版)(共584頁)

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

  • 演算法刷題LeetCode中文版(共264頁)

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

  • 演算法刷題100天

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

MySQL調優

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

微服務

  • Spring Cloud Alibaba全解

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

 

2020備戰全套資源庫

程式碼寫的爛才是原罪?位元組三面+微信四面+PayPal四面,大廠面經分享

 

不要眼高手低,不少小夥伴看面經覺得自己啥都會,但是自己會與面試過程中能清晰有層次的說出來是兩回事,並且自己會到什麼程度,有個說法很好,判斷你是不是真的掌握一個知識的一個點在於你能不能通過通俗易懂的語言教會一個完全沒有相關知識背景的人,如果這可以做到,那對知識的掌握一定是融會貫通的,面試過程中一定可以信手拈來。比如volatile關鍵字的原理,能不能說出點面試官眼前一亮的東西,和別的同學蜻蜓點水不一樣的感覺,這還是不容易的

有需要小編整理的全套Java資源庫的小夥伴,麻煩大家幫忙點贊+關注,加助理VX:mxx2020666,即可免費領取

相關文章