衆所周知今年大市場不太好,所以我身先士卒給大家打個樣,幫大家面試帶題(這個是不是和直播帶貨有點像呢?),帶了一些重點回來,下文不會涵蓋所有知識點,但是會提取一些關鍵問題點。希望對大家今年求職有所幫助,先羅列再分析。
拼多多
- 算法題:返回字符串中包含的 IP 地址數
- Dubbo VS Spring Cloud 原理(網關、輪詢、協議)與不同
- 冪等的設計
- 分佈式事務(TCC、2PC),RocketMQ 的分佈式事務實現原理
- MySQL 的索引原理、分庫分表原理
- AQS 原理、Lock 和 Sync 的原理與區別、輕量級鎖重量級鎖
美團
- 算法題:字符串相加
- Dubbo VS Spring Cloud 原理與不同
- 分佈式主鍵的設計方案與原理
- JVM(CMS原理和優缺點、新生代晉升原則)
- 分佈式事務, RocketMQ 的分佈式事務原理
- MySQL 索引、鎖、幻讀的原理,慢 SQL 治理的原則
快手
- 算法題:手寫 topN
- 分佈式鎖的實現和原理
- MySQL 爲什麼有時不能命中索引?
- 可重複讀、幻讀原理,索引的設計原理
- 緩存設計,擊穿、熱點等策略和原理
頭條
- 算法題:電話號碼的字母組合
- 分佈式鎖的實現原理和鎖續期
- 分佈式事務的實現方案和原理
- Dubbo VS Spring Cloud 原理與不同
- Netty,Nio 原理
綜上所述,我們不難看出來一些共性
- 算法題必考,所以 LeetCode 你該安排起來了,你刷的不是題庫,而是手感。
- Dubbo VS Spring Cloud 原理性的東西必考,3/4的概率,所以你除了學習你現有項目使用的分佈式框架以外,還要了解其原理,橫向解決方案的優缺點的理解和互相比較,這個原理不僅限於框架本身,包括註冊中心、調度、容錯、服務跟蹤等解決方案和原理。
- 冪等、分佈式事務、分佈式鎖是配合微服務項目的必要的能力點,所以也是必考問題,你需要不僅僅瞭解一到兩個解決方案,還需要了解他們的優缺點,能夠做到舉一反三,觸類旁通。
- MySQL 永遠都是必考題,主要涉及索引原理、針對慢 SQL 的一些解決方案,默認隔離級別的實現原理、如何解決幻讀問題、MySQL 都有哪種力度的鎖,什麼時候觸發?
- 最常用的 JDK8、9 的默認垃圾回收器是什麼?內存模型、垃圾回收過程、AQS 和基本的併發工具包這些依然是非常熱門的知識點。
好了,說了這麼多你會發現面試的知識點其實大的方向是不變的,那麼怎麼樣高效的準備呢?
成功沒有捷徑,這句話永遠都不會錯,針對上面的知識點我還是推薦分享一些書籍和資料給你。
需要這些書籍電子版的老鐵轉發+關注,私信回覆“111”即可獲得免費領取方式!
- Dubbo 和 Spring Cloud 推薦兩本不錯的書《Spring Cloud微服務:入門、實戰與進階》和 《深入理解 Apache Dubbo 與實戰》
- JVM 和基礎知識推薦兩本《深入理解 Java 虛擬機第3版》和 《Java 併發編程的藝術》
- MySQL 推薦學習:MySQL最全整理(面試題+筆記+導圖),面試大廠不再被MySql難倒!和 分佈式推薦書籍《分佈式微服務架構原理與實戰》
有人又問,又看書?真麻煩,看別人整理的面試心經不香麼?別人整理的都是別人思考問題的方式,或者說是他對知識點認知的一個路線,很多知識如果不是自己去推敲,而是藉助別人整理的關鍵點去應付面試,很難應付連環炮的。