Java研發算法
- 算法和數據結構基礎
- 數據結構:數組,鏈表,哈希表,堆,隊列,棧,二叉樹,B樹/B+樹,紅黑樹,圖(研發問圖很少)
- 常見的排序算法(冒泡,插入,快排,堆排,歸併排序...)
- 簡單的動態規劃問題(揹包,上樓梯)
- 各類時間空間複雜度分析
- Java 基礎
- 最基本的語言基礎:語法,關鍵字含義,面向對象....
- 集合類(ArrayList, HashMap, ConcurrentHashmap...等等)
- 多線程(鎖,CAS,線程池,concurrent 包下的類)
- 語言特性:反射,動態代理,泛型,Java 8 新特性
- IO (裝飾器模式,NIO)
- JVM:內存模型,垃圾回收,類加載機制
- Java Web
- Tomcat,Servlet,JSP,Cookie/Session 等基本概念
- 框架使用和原理:Spring(AOP,IoC),MyBatis 等
- 數據庫(主要是 MySQL)
- 基本 SQL 語句,索引優化
- 存儲引擎(InnoDB,MyISAM),索引原理
- 事務 ACID,隔離級別
- 分庫分表,主從複製,讀寫分離
- 計算機網絡
- OSI 7 層模型和 TCP 4 層模型
- 傳輸層:TCP/IP 相關知識,和 UDP 比較
- HTTP 協議:報文結構,POST/GET 方法
- 網絡編程 (socket, NIO, select 等)
- 操做系統
- 基本 Linux 的操做指令
- 進程/線程比較,進程間通訊方式,P/V 操做
- 磁盤調度,虛擬內存
- 死鎖,中斷