版權聲明:本文爲博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接和本聲明。
前言
面試必備技能清單,這裏不會詳細論述,更多的是清單列舉,羅列一些關鍵字和連接註釋。php
數據結構與算法
-
排序算法html
-
數據結構java
-
思惟拓展git
Java
-
Java 基礎部分
- Java 集合框架
- ArrayList 與 LinkedList
- Hashtable、Hashmap 與 ConcurrentHashmap
- Java 併發編程
- 線程狀態
- 新建、可運行(運行和就緒)、阻塞、無限期等待、限期等待、死亡
- 實現線程三種方式(繼承Thread,實現 Runnable 接口,實現 Callable 接口)
- 併發兩個關鍵問題
- volatile 和 synchronized
- lock 和 synchronized
- Java內存模型(JMM),解決併發中的可見性,原子性,有序性問題
- Java IO
- Java 虛擬機
- Java 設計模式
Java Web
數據庫
-
存儲引擎程序員
- MyISAM(表級鎖,不支持事務,全文索引,只讀應用)
- InnoDB(行級鎖,最大支持併發,事務,表更新和查詢都至關的頻繁)
- .frm / .ibd
- 彙集索引,以主鍵爲索引來組織數據
-
索引(衡量標準:IO漸進複雜度)github
- Hash(衝突,沒法作範圍查詢)
- FullText(全文搜索,優化:前綴索引)
- R-Tree(空間索引,附近三千米的數據怎麼查詢)
- B+ Tree(B Tree:每一個key、data信息存在結點,B+ Tree存在葉子節點)
-
哪些狀況下不會使用索引面試
- 全表掃描更快
- 條件中有or
- 不是複合索引的第一部分
- like以%開始
-
隔離級別正則表達式
-
Redis 數據類型算法
- String:字符串
- Hash:字典
- List:鏈表
- Set:集合
- Sorted Set:有序集合
操做系統
-
進程和線程的區別thinkphp
-
線程間通訊
- synchronized
- while輪詢
- wait() / notify()
- 管道
-
進程通訊
計算機網絡
-
應用層
-
傳輸層
- 爲何三次握手,兩次不行嗎
- 四次揮手 TimeWait 做用
- TCP可靠傳輸
分佈式
項目
-
掃碼登陸原理
-
Cookie 和 Session 的原理
-
單點登陸
-
參考資料
1、數據結構與算法
包含數據結構與算法兩部分。
📚閱讀清單
📺學習課程
2、Java
包含 Java 核心知識和 Java Web 框架。
📚閱讀清單
📺學習課程
- 【廖雪峯】Java教程
- 【龍果學院】Java併發編程原理與實戰
- 【龍果學院】深刻理解Java虛擬機(jvm性能調優+內存模型+虛擬機原理)
- 【慕課網】Java零基礎入門
- 【尚學堂】白鶴翔_jvm虛擬機優化
- 【網易雲課堂】Java開發工程師(Web方向)翁凱
- 【慕課網】Spring Cloud微服務實戰_廖師兄
- 【黑馬程序員】SSH框架_王澤
- 【黑馬程序員】SpringMVC+Mybatis
- 【牛客網】初中高Python+Java項目實戰_葉神
3、Web Server
- 【網易雲課堂】thinkphp5開發restful-api接口
4、面向對象
5、數據庫
📚閱讀清單
📺學習課程
- 【慕課網】MySQL性能管理及架構設計
- 【慕課網】Redis從入門到高可用,分佈式實踐
6、操做系統
📚閱讀清單
- 《Linux+C程序設計大全》
- 《快樂的Linux命令行》
- 《深刻理解計算機系統》
- 《UNIX環境高級編程》
- 《Linux+高性能服務器編程》
📺學習課程
7、計算機網絡
📚閱讀清單
- 《圖解HTTP》
- 《計算機網絡原理創新教程》韓立剛主編
📺學習課程
- 【51CTO】韓老師-計算機網絡原理-156講
- 【慕課網】HTTP協議原理+實踐 Web開發工程師必學
8、系統架構
📚閱讀清單
📺學習課程
- 【慕課網】Nginx從入門到實踐
- 【咕泡學院】架構師系列課程
9、面試
10、機器學習
📚閱讀清單
📺學習課程
- 【慕課網】Python3入門機器學習 經典算法與應用
- 【莫煩Python】機器學習系列
11、工具
📺學習課程