前言
畢業(yè)轉行做開發(fā)3年以來, 學到了很多, 加上自己的興趣愛好, 個人認為已經(jīng)成為了一個合格的程序員.
與剛開始找工作面試相同的是都會問一些相同的問題, 不同的是現(xiàn)在面試官會更注重為什么, 也就是說注重深度而非廣度. 3年, 5年, 10年分別是個人從事技術方面職業(yè)規(guī)劃中的一個坎, 3年大部分時間應對了業(yè)務邏輯, 培養(yǎng)良好的規(guī)范和思想, 基礎知識還是欠缺.
找工作時, 除了薪資符合個人職業(yè)規(guī)劃也是相當重要的.廢話少說, 以下是我前兩天面試總結的面試題.
JavaSE
集合
hashmap結構及原理
擴容因子, 如何擴容, 數(shù)據(jù)結構圖….
ArrayList, LinkedList 原理及區(qū)別(畫出數(shù)據(jù)結構)
集合四要素: 是否可重復, 是否允許空值, 是否有序, 是否線程安全…
線程安全集合,map 為什么是線程安全的, 哪些操作關系到線程安全
算法
說幾個常見的排序算法, 實現(xiàn)原理, 對應的時間空間復雜度, 穩(wěn)定性
手撕一個算法(書寫): 可以選擇冒泡
遞歸算法
面向對象
多態(tài)的表現(xiàn)
面向對象特征
static的用法
String StringBuilder區(qū)別, 什么情況下用’+’. 最好答出javap編譯后’+’實現(xiàn)原理
多線程
線程的實現(xiàn)方式
線程的狀態(tài)
常見線程池及使用
一個線程結束開始另外一個線程的實現(xiàn)方式
線程原理(ThreadLocal)
start與run的區(qū)別
悲觀鎖樂觀鎖
IO流
寫一個讀寫文件
事務相關
事務機制
AB分別是一個事務, C里面有A, B, 如果C里A或B失敗回滾C是什么狀態(tài)
什么是事務及使用場景
框架相關
Spring , MVC, MyBatis
介紹下Spring以及其常用的注解, Spring IOC實現(xiàn)原理, AOP實現(xiàn)原理及使用場景, 依賴注入原理
Spring事務傳播與隔離級別
MyBatis映射原理
分布式相關架構
系統(tǒng)架構介紹, 架構設計圖以及什么場景使用了什么架構
Dubbo機制, Zookeeper機制以及他們的關系
Redis數(shù)據(jù)類型以及使用場景, 刷新時間間隔
Kafka介紹及使用場景承擔的角色
講述一下Storm
數(shù)據(jù)庫
MySQl
mysql數(shù)據(jù)庫存儲類型及其優(yōu)缺點
分布式分片分庫設計, 主從結構
其他
sql優(yōu)化
索引創(chuàng)建原則(手寫一個SQL)
SQL集中DDL, DMl==
建表的規(guī)則或者注意事項
數(shù)據(jù)庫隔離級別及原因
設計模式
介紹下常見的設計模式以及使用場景
寫一個單例模式實現(xiàn)
通訊
HTTP相關介紹, GET, POST的區(qū)別
JVM相關
Java垃圾回收機制
Java內(nèi)存結構(與回收機制有關)
其他
RBAC權限模型, 分布式Session實現(xiàn)
常見linux命令(如何查看文件第200行, 如何查找文件)
寫在最后, 兩天面了四家有了3個offer, 其中京東的沒過. 總結了一下, 京東這種互聯(lián)網(wǎng)以技術驅動的公司會更注重個人的基礎知識,自學能力以及動手能力, 他們會問的很細, 毫無準備的我, 應對起來相當吃力, 沒過是正常.. 因為請假面試先探探行情, 所以并無準備, 很多東西答得不好, 但由于經(jīng)驗在這兒一般公司也就認同了, 不過這種情況下薪資會不是很理想, 建議還是多多準備.
java 開發(fā)工程師朋友可以加入我們Java架構交流群:760940986
群內(nèi)提供 高可用猩谊,高并發(fā),spring源碼,mybatis源碼,JVM耍缴,大數(shù)據(jù)峡继,Netty等多個技術知識的架構視頻資料
還有大把大牛在群內(nèi)交流以及解答面試指導,問題答疑~~