| | | | | | | | | |
- 主動體驗所參與研發的産品,了解負責需求涉及的業務場景及要解決的問題,以及這些典型業務場景下涉及的角色、業務流程及核心關注點。
- 了解所涉及完整業務的基礎概念、術語及名稱。
| -
了解面向對象的特性,了解重載、重寫等機制 參考: 了解面向對象的特性,了解重載、重寫等機制-美團面試基本題 - 熟悉常用資料結構對象的實作原理 參考:Java 常用資料結構對象的實作原理 集合類 List Set Map 哪些線程安全 (美團面試題目)
- 了解線程池使用 參考:Java-線程池專題 (美團面試題)
- 了解lock與synchronized的應用場景差別 參考:解決多線程安全問題-無非兩個方法synchronized和lock 具體原理(百度-美團) 還有:java多線程中 volatile與synchronized的差別-阿裡面試
- 熟悉java異常體系 參考:Java 異常體系(美團面試)
- 熟悉1-2個多線程控制類的适用場景
| - 了解BIO和NIO的差別 參考:IO複用,AIO,BIO,NIO,同步,異步,阻塞和非阻塞 差別(百度)
- 了解TCP四層協定棧或ISO7層協定棧 參考:七層協定和四層協定(阿裡)
- 了解TCP-UDP的差別 參考:TCP UDP 協定的差別和聯系
- 了解HTTP協定、方法以及常見狀态碼的含義(不少于5個)參考:HTTP協定 結構,get post 差別-HTTP狀态碼(阿裡)
| - 至少了解包括單例和工廠之外的其他任意1種設計模式,并能知道其應用場景和類設計原型,每能寫出一項代碼實作再加0.5分
| - 了解事務特性及其定義
- 了解索引設計的基本思路
- 基本了解常見存儲引擎的差别
| - 了解spring aop 及其實作原理
- 了解至少一種orm架構的使用注意事項
| - 了解常用基礎資料結構的定義和适用場景:數組、連結清單、隊列、哈希表、二叉樹等
- 熟悉常見的一些排序算法的思路
| 不要求 | - 了解程序和線程的差別
- 系統運作狀況檢視、文本處理等指令每種至少熟悉一到兩個
| 2-2 總分:37分 |
- 熟悉負責子產品所提供的功能和服務,這些功能和服務涉及的一系列業務場景及要解決的問題,以及這些典型業務場景下涉及的角色、業務流程及核心關注點。
- 熟悉涉及的上下遊業務,能形成完整的業務端到端閉環,比如對于“供應鍊上單”,需要了解生産出來的資料如何被下遊環節所使用,涉及的完整業務過程是怎樣的。
| - 熟悉2個以上多線程類的适用場景
- 熟練掌握java 記憶體模型,了解happens before理論,了解jsr 133
- 知道如何檢視記憶體棧運作時情況,熟練掌握線程狀态
- 知道如何檢視java記憶體占用情況,了解各種gc收集器的執行過程和部分控制參數
- 熟悉java記憶體管理基礎知識:記憶體分區、收集器分類等等
| - 熟悉tcp-ip三次握手四次揮手的的過程,以及對應狀态 參考:三次握手,四次揮手 具體發送的封包和狀态都要掌握(阿裡)
- 熟悉http 協定,了解dns解析等知識。了解1.0,1.1的長連接配接實作方案。常見狀态碼了解不少于10個。參考:HTTP協定 結構,get post 差別-HTTP狀态碼(阿裡)
| - 至少了解包括單例和工廠之外的其他任意3種設計模式,并能知道其應用場景和類設計原型,每能寫出一項代碼實作再加0.5分
| - 了解事務隔離級别,以及不同隔離級别可能出現的問題定義以及現象。
- 了解執行計劃,有調優經驗
- 了解mysql innodb 常見鎖模式
| - 了解spring 事務傳播特性,以及實作原理
- 了解spring mvc 兩層容器原理
| - 了解常用的資料拆分方案
- 了解常見的緩存設計方案
- 了解常見的資料分片和擴容方案
- 了解常見的系統穩定性保障方法
| - 了解常見的系統運作狀态檢視指令的核心輸入輸出,具備利用指令分析問題的能力
| 2-3 總分:43分 |
- 熟悉掌握java多線程類的實作原理
- 熟練掌握java 鎖優化機制:鎖膨脹、鎖消除等
- 熟練掌握java 記憶體管理模型,知道常見的優化方案
- 有不依賴先前工作機關自建工具意外的線上記憶體問題排查和優化經驗
- 了解java 位元組碼相關知識
| - 了解滑動視窗協定,sack等進階概念,有線上定位和解決網絡問題實戰的經驗。
- 了解nio 常見實作方法
- 了解http 2.0的規範以及新的長連接配接實作方案。
| - 至少了解包括單例和工廠之外的其他任意5種設計模式,并能知道其應用場景和類設計原型,每能寫出一項代碼實作再加0.5分
| - 熟悉掌握mysql innodb鎖模式
- 了解redo /undo /binlog的應用場景
- 了解mvcc 原理思路
| - | - 掌握3種左右的複雜資料結構,包括但不限于(B/B+數、字典樹、紅黑樹、bitmap、bloomfilter等等)
- 掌握一些常見字元串搜尋算法,如KMP等
| - 了解cap理論或base理論
- 熟悉一到兩種常見的分布式資料存儲系統的高可用設計思路
- 有一套比較健全的技術選型理論
| - 了解cpu 基礎原理(常見指令與模式)
- 了解linux記憶體管理模型
- 能準确描述不少于4個top指令名額參數含義
| 3-1 總分:42分 |
- 熟悉參與系統的關鍵産品特性、核心業務流程、對産品的定位、業務的發展以及目标使用者分析等有一定的思考。
- 了解系統涉及業務的領域知識,如銷售管理、供應鍊上單、營銷營運等。包括但不限于:系統所服務的關鍵組織和角色的關鍵目标、核心職責、重點工作、關鍵作業流程等;系統涉及業務領域的最佳實踐及做法,産品的核心價值和關注點;行業主流的解決方案及産品等等。
| - 線上死鎖和長事務問題處理經驗,從現象到答案到手段的系統化過程
- 了解innodb 查詢緩存、事務/mvcc實作原理
| - 熟悉掌握1-2種架構模式,系統通道架構模式優先:如BPM/EDA/CEP/中繼資料與模闆模式等,了解具體某些系統實作的加分
- 有中小型系統架構經驗,準确描述設計思路和架構特性(比如,sla名額)
- 比較系統化的系統穩定性建設理論
- 說明架構特性制定的合理性
- 了解DDD,BDD等常用業務架構分析和模組化理論知識
- 知道企業架構模式
| - 對于線上非功能問題定位有系統化的思路和查證和解決方案,并熟練掌握整個過程中涉及的知識和工具
| 3-2 總分:47分 |