一、Java基礎
Java基礎
- java多線程(要求手寫)
- java線程池(要求手寫)
- java集合(源碼級別)
- JAVA反射機制源碼,泛型
- JAVA異常處理機制
- 值傳遞引用傳遞
- 基礎類型以及佔用長度
- lambda表達式問得不多
- JAVA三目運算符注意事項
- JAVA註解工作原理,以及生命週期
- java斷言
Java虛擬機
- java 內存模型
- java 類加載機制
- java 垃圾回收機制
Java性能調優
二、設計模式
- 六大原則
- 23種設計模式
三、框架使用
Spring容器框架(源碼)
- AOP(原理)
- IOC(生命週期,加載過程,原理)
- Spring Session
- Spring 異常處理機制
- Spring 事務(原理,傳播機制,隔離級別)
MVC框架
- SpringMVC框架
- 生命週期
- 加載流程
- 分發機制
- 跨域問題產生和解決
- 同一協議,同一ip,同一端口,三同中有一不同就產生了跨域。
- 跨域問題是瀏覽器同源策略造成的,如果我們沒有設置Header頭三件套的話(‘Access-Control-Allow-*’:)那麼對一切跨域請求操作瀏覽器都是拒絕的。
Access-Control-Allow-Origin:* Access-Control-Allow-Methods:POST Access-Control-Allow-Headers:x-requested-with,content-type
- Struts2框架
ORM框架
- Mybatis框架
- PageHelper物理分頁原理
- Mybatis的傳參爲空時,報錯如何解決?Mybatis字段爲JSON格式,如何解析成一個對象?有一個字段,包括轉義字符,無法直接入庫,save和select都需要轉換一下,如何解決?
- 自定義一個類,實現TypeHandler接口
- 在resultMap中使用,即可配置age的默認值(上述代碼中age的默認值爲"")
<resultMap id="list" type="java.util.LinkedHashMap"> <result property="name" column="name" /> <result property="sex" column="sex" /> <result property="age" column="age" typeHandler="com.demo.EmptyStringIfNull"/> </resultMap>
- SpringDataJPA框架
- JOOQ
- Hibernate框架
SpringBoot框架
- 啓動流程
- SpringBoot的理解
分佈式服務場景下的框架
四、數據庫
- Mysql數據庫
- 數據庫引擎類型
- 索引
- 索引類型
- 索引結構
- 索引存儲位置
- 多列索引
- 索引失效條件
- 創建索引的原則
- 主從複製的機制
- 數據庫的三範式
- 數據庫的事務機制
- Sql執行順序
- 查詢優化
- 手寫SQL
- Memcached、Redis非關係型數據庫
五、 消息隊列Kafka
- kafka原理
- kafka的一些命令
- kafka的流程原理圖
- kafka保證順序執行
- kafka保證消息不丟失,會被消費
- kafka保證消息的可達
- kafka的acks=1
- kafka的offset
- 消息的起始位置
六、Linux命令
- 修改用戶權限,awk,telnet等等其他常用命令
七、數據結構和算法
- 數據結構
- 隊列,棧的區別
- 鏈表(如何判斷一個鏈表爲循環鏈表)
- 二叉樹的先序後序遍歷
- 算法
- 排序算法
- 冒泡排序(多次要求手寫)
- 快速排序,插入排序等(可選擇寫,加分)
- 查找算法
- 二分查找等(要求寫)
- 排序算法
八、網絡協議
- 分層模型,各層的職責,又如解析端口是在哪一層等。
- 【Http協議:詳解】
- 三次握手和四次揮手
其他
- Maven項目構建管理
- 一些常用的命令
- SpringSecrity 安全框架
- Quartz 作業調度框架
- Log4J 分佈式文件系統
- Swagger2接口測試框架
- Jenkins持續集成框架
- Nginx問題