3年Java開發經驗面試題總結
前言
畢業轉行做開發3年以來, 學到了很多, 加上自己的興趣愛好, 個人認為已經成為了一個合格的程式員.
與剛開始找工作面試相同的是都會問一些相同的問題, 不同的是現在面試官會更注重為什麼, 也就是說注重深度而非廣度. 3年, 5年, 10年分別是個人從事技術方面職業規劃中的一個坎, 3年大部分時間應對了業務邏輯, 培養良好的規範和思想, 基礎知識還是欠缺.
找工作時, 除了薪資符合個人職業規劃也是相當重要的.廢話少說, 以下是我前兩天面試總結的面試題.
JavaSE
集合
hashmap結構及原理
擴容因子, 如何擴容, 資料結構圖….
ArrayList, LinkedList 原理及區別(畫出資料結構)
集合四要素: 是否可重複, 是否允許空值, 是否有序, 是否執行緒安全…
執行緒安全集合,map 為什麼是執行緒安全的, 哪些操作關係到執行緒安全
演算法
說幾個常見的排序演算法, 實現原理, 對應的時間空間複雜度, 穩定性
手撕一個演算法(書寫): 可以選擇冒泡
遞迴演算法
面向物件
多型的表現
面向物件特徵
static的用法
String StringBuilder區別, 什麼情況下用’+’. 最好答出javap編譯後’+’實現原理
多執行緒
執行緒的實現方式
執行緒的狀態
常見執行緒池及使用
一個執行緒結束開始另外一個執行緒的實現方式
執行緒原理(ThreadLocal)
start與run的區別
悲觀鎖樂觀鎖

IO流
寫一個讀寫檔案
事務相關
事務機制
AB分別是一個事務, C裡面有A, B, 如果C裡A或B失敗回滾C是什麼狀態
什麼是事務及使用場景
框架相關
介紹下Spring以及其常用的註解, Spring IOC實現原理, AOP實現原理及使用場景, 依賴注入原理
Spring事務傳播與隔離級別
MyBatis對映原理

分散式相關架構
系統架構介紹, 架構設計圖以及什麼場景使用了什麼架構
Dubbo機制, Zookeeper機制以及他們的關係
Redis資料型別以及使用場景, 重新整理時間間隔
Kafka介紹及使用場景承擔的角色
講述一下Storm
資料庫
MySQl
mysql資料庫儲存型別及其優缺點
分散式分片分庫設計, 主從結構

其他
sql優化
索引建立原則(手寫一個SQL)
SQL集中DDL, DMl==
建表的規則或者注意事項
資料庫隔離級別及原因
設計模式
介紹下常見的設計模式以及使用場景
寫一個單例模式實現

通訊
HTTP相關介紹, GET, POST的區別
JVM相關
Java垃圾回收機制
Java記憶體結構(與回收機制有關)

其他
RBAC許可權模型, 分散式Session實現
常見linux命令(如何檢視檔案第200行, 如何查詢檔案)
寫在最後, 兩天面了四家有了3個offer, 其中京東的沒過. 總結了一下, 京東這種網際網路以技術驅動的公司會更注重個人的基礎知識,自學能力以及動手能力, 他們會問的很細, 毫無準備的我, 應對起來相當吃力, 沒過是正常.. 因為請假面試先探探行情, 所以並無準備, 很多東西答得不好, 但由於經驗在這兒一般公司也就認同了, 不過這種情況下薪資會不是很理想, 建議還是多多準備.
java 開發工程師朋友可以加入我們Java架構交流群:760940986
群內提供 高可用,高併發,spring原始碼,mybatis原始碼,JVM,大資料,Netty等多個技術知識的架構視訊資料
還有大把大牛在群內交流以及解答面試指導,問題答疑~~