Java開發:錯過金三銀四 你還要錯過金九銀十嗎?面試大綱總結
前言:
一年之計在於春 金三銀四已過,2018也已經年過一半多,作為一個開發人員,你是否面上了自己理想的公司,薪資達到心中理想的高度?
面試:如果不準備充分的面試,完全是浪費時間,更是對自己的不負責。
今天給大家分享下我整理的Java面試大綱,其中大部分都是自己面試過程中的面試題,可以對照這查漏補缺,當然了,這裡所列的肯定不可能覆蓋全部方式。
專案介紹
大部分情況,這是一場面試的開門題,面試官問這個問題,主要是考察你的概述能力和全域性視野。有的人經常抱怨自己每天在堆業務,但沒有成長。事實上,很多情況下確實在堆業務,但並不是沒有成長的。並非做中介軟體或者技術架構才是成長,例如我們的需求分析能力,溝通協作能力,產品思維能力,抽象建模能力等都是一個非常重要的硬實力。
在進入正文之前,順便給大家推薦一個Java架構方面的交流學習群: 698581634 ,裡面會分享一些資深架構師錄製的影片錄影:有Spring,MyBatis,Netty原始碼分析,高併發、高效能、分散式、微服務架構的原理,JVM效能最佳化這些成為架構師必備的知識體系。相信對於已經工作和遇到技術瓶頸的同學,在這個群裡會有你需要的內容 有需要的朋友請抓緊時間加入進來。
好的,現在進入正文。
1、明確專案是做什麼的
2、明確專案的價值。(為什麼做這個專案,它解決了使用者什麼痛點,它帶來什麼價值?)
3、明確專案的功能。(這個專案涉及哪些功能?)
4、明確專案的技術。(這個專案用到哪些技術?)
5、明確個人在專案中的位置和作用。(你在這個專案的承擔角色?)
6、明確專案的整體架構。
7、明確專案的優缺點,如果重新設計你會如何設計。
8、明確專案的亮點。(這個專案有什麼亮點?)
9、明確技術成長。(你透過這個專案有哪些技術成長?)
一丶Java基礎
1、List 和 Set 的區別
2、HashSet 是如何保證不重複的
3、HashMap 是執行緒安全的嗎,為什麼不是執行緒安全的(最好畫圖說明多執行緒環境下不安全)?
4、HashMap 的擴容過程
5、HashMap 1.7 與 1.8 的 區別,說明 1.8 做了哪些最佳化,如何最佳化的?
6、final finally finalize
7、強引用 、軟引用、 弱引用、虛引用
8、Java反射
9、Arrays.sort 實現原理和 Collection 實現原理
10、LinkedHashMap的應用
11、cloneable介面實現原理
12、異常分類以及處理機制
13、wait和sleep的區別
14、陣列在記憶體中如何分配
二丶Java 併發
1、synchronized 的實現原理以及鎖最佳化?
2、volatile 的實現原理?
3、Java 的訊號燈?
4、synchronized 在靜態方法和普通方法的區別?
5、怎麼實現所有執行緒在等待某個事件的發生才會去執行?
6、CAS?CAS 有什麼缺陷,如何解決?
7、synchronized 和 lock 有什麼區別?
8、Hashtable 是怎麼加鎖的 ?
9、HashMap 的併發問題?
10、ConcurrenHashMap 介紹?1.8 中為什麼要用紅黑樹?
11、AQS
12、如何檢測死鎖?怎麼預防死鎖?
13、Java 記憶體模型?
14、如何保證多執行緒下 i++ 結果正確?
15、執行緒池的種類,區別和使用場景?
16、分析執行緒池的實現原理和執行緒的排程過程?
17、執行緒池如何調優,最大數目如何確認?
18、ThreadLocal原理,用的時候需要注意什麼?
19、CountDownLatch 和 CyclicBarrier 的用法,以及相互之間的差別?
20、LockSupport工具
21、Condition介面及其實現原理
22、Fork/Join框架的理解
23、分段鎖的原理,鎖力度減小的思考
24、八種阻塞佇列以及各個阻塞佇列的特性
三丶Spring
1、BeanFactory 和 FactoryBean?
2、Spring IOC 的理解,其初始化過程?
3、BeanFactory 和 ApplicationContext?
4、Spring Bean 的生命週期,如何被管理的?
5、Spring Bean 的載入過程是怎樣的?
6、如果要你實現Spring AOP,請問怎麼實現?
7、如果要你實現Spring IOC,你會注意哪些問題?
8、Spring 是如何管理事務的,事務管理機制?
9、Spring 的不同事務傳播行為有哪些,幹什麼用的?
10、Spring 中用到了那些設計模式?
11、Spring MVC 的工作原理?
12、Spring 迴圈注入的原理?
13、Spring AOP的理解,各個術語,他們是怎麼相互工作的?
14、Spring 如何保證 Controller 併發的安全?
四丶Netty
1、BIO、NIO和AIO
2、Netty 的各大元件
3、Netty的執行緒模型
4、TCP 粘包/拆包的原因及解決方法
5、瞭解哪幾種序列化協議?包括使用場景和如何去選擇
6、Netty的零複製實現
7、Netty的高效能表現在哪些方面
五丶分散式相關
1、Dubbo的底層實現原理和機制
2、描述一個服務從釋出到被消費的詳細過程
3、分散式系統怎麼做服務治理
4、介面的冪等性的概念
5、訊息中介軟體如何解決訊息丟失問題
6、Dubbo的服務請求失敗怎麼處理
7、重連機制會不會造成錯誤
8、對分散式事務的理解
9、如何實現負載均衡,有哪些演算法可以實現?
10、Zookeeper的用途,選舉的原理是什麼?
11、資料的垂直拆分水平拆分。
12、zookeeper原理和適用場景
13、zookeeper watch機制
14、redis/zk節點當機如何處理
15、分散式叢集下如何做到唯一序列號
16、如何做一個分散式鎖
17、用過哪些MQ,怎麼用的,和其他mq比較有什麼優缺點,MQ的連線是執行緒安全的嗎
18、MQ系統的資料如何保證不丟失
19、列舉出你能想到的資料庫分庫分表策略;分庫分表後,如何解決全表查詢的問題
20、zookeeper的選舉策略
21、全域性ID
六丶資料庫
1、mysql分頁有什麼最佳化
2、悲觀鎖、樂觀鎖
3、組合索引,最左原則
4、mysql 的表鎖、行鎖
5、mysql 效能最佳化
6、mysql的索引分類:B+,hash;什麼情況用什麼索引
7、事務的特性和隔離級別
七丶快取
1、Redis用過哪些資料資料,以及Redis底層怎麼實現
2、Redis快取穿透,快取雪崩
3、如何使用Redis來實現分散式鎖
4、Redis的併發競爭問題如何解決
5、Redis持久化的幾種方式,優缺點是什麼,怎麼實現的
6、Redis的快取失效策略
7、Redis叢集,高可用,原理
8、Redis快取分片
9、Redis的資料淘汰策略
八丶JVM
1、詳細jvm記憶體模型
2、講講什麼情況下回出現記憶體溢位,記憶體洩漏?
3、說說Java執行緒棧
4、JVM 年輕代到年老代的晉升過程的判斷條件是什麼呢?
5、JVM 出現 fullGC 很頻繁,怎麼去線上排查問題?
6、類載入為什麼要使用雙親委派模式,有沒有什麼場景是打破了這個模式?
7、類的例項化順序
8、JVM垃圾回收機制,何時觸發MinorGC等操作
9、JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的
10、各種回收器,各自優缺點,重點CMS、G1
11、各種回收演算法
12、OOM錯誤,stackoverflow錯誤,permgen space錯誤
九丶Java開發體系路線圖
1.閱讀原始碼
2.分散式架構
3.微服務架構技能總彙
4.併發程式設計
5.效能最佳化
6.Java開發必知工具
7.實踐一個雙十一電商專案
十丶總結
針對上面的面試題 及技術思維圖 我特意整理了一下,有很多技術不是靠幾句話能講清楚,很多問題其實答案很簡單,但是背後的思考和邏輯不簡單,要做到知其然還要知其所以然,在此我向大家推薦一個交流學習群: 698581634 。裡面會分享:面試資料, ,MyBatis, 原始碼分析, 、高效能、分散式、微服務架構的原理,JVM效能最佳化這些成為 必備的知識體系。相信對於已經工作和遇到技術瓶頸的朋友,在這個群裡會有你需要的內容 有需要的朋友請抓緊時間加入進來。
最後,做一個愛思考,懂思考,會思考的程式設計師。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545684/viewspace-2200244/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 金三銀四跳槽季,Java面試大綱Java面試
- Java高階程式設計師面試大綱——備戰金三銀四跳槽季Java程式設計師面試
- 【面試篇】金九銀十面試季,這些面試題你都會了嗎?面試題
- 金三銀四跳槽季,這些面試題你都會了嗎?面試題
- 1、List 和 Set 、Map的區別-金三銀四跳槽季Java面試大綱(答案篇)Java面試
- Android&Java面試題大全—金九銀十面試必備AndroidJava面試題
- 金三銀四,如何征服面試官,拿到Offer面試
- 金三銀四:螞蟻金服JAVA開發面試題及答案之一面(持續更新)Java面試題
- 金三銀四的面試黃金季節,Android面試題來了!Android面試題
- 《金三銀四面試系列》—面試必問Spring面試Spring
- “金九銀十”,產品經理面試準備手冊面試
- 2020年最全多執行緒面試題總結,助你“金三銀四”過五斬六!執行緒面試題
- 2020金三銀四,面試求生指南面試
- 金三銀四求職季,面試阿里Java崗你必須知道些什麼!求職面試阿里Java
- 每日十題:五分鐘備戰金九銀十,你也能輕鬆過關SpringSpring
- 金九銀十來了,你的簡歷寫好了麼?
- 金九銀十中,看看這31道Android面試題Android面試題
- “金三銀四” 是找工作的最佳時期嗎?
- 金三銀四銅五鐵六,現在看看面試題還不晚(上篇)面試題
- Java程式設計師金三銀四求職季,這些多執行緒面試題你會嗎?Java程式設計師求職執行緒面試題
- 2018金三銀四,Android大廠面試題整理Android面試題
- 《金三銀四面試系列》— jvm與效能優化面試JVM優化
- 常見面試題整理,金三銀四全靠它了面試題
- 金三銀四面試季來臨,最新BAT面試資料分享給你面試BAT
- 金九銀十Android面試複習題集:關於四大元件中的Activity你瞭解多少?Android面試元件
- 金三銀四,那瀏覽器相容你知多少?瀏覽器
- 2020年“金九銀十”的面試寶典:騰訊,位元組等大廠面試真題彙總面試
- 金三銀四,衝擊大廠,你值得擁有的一份2019初中級Android開發社招面試總結+解答Android面試
- 面試官一道題就把你刷下?21道大廠高階面試題,助力金三銀四!面試題
- 金三銀四,你的面試利器:一站式資源導航面試
- 中高階前端大廠面試祕籍,為你保駕護航金三銀四,直通大廠(上)前端面試
- 金三銀四,記錄一次前端面試經歷前端面試
- 金三銀四魔都兩年半前端面經前端
- 2020年最全Spring面試題總結,“金三銀四”戴上口罩不畏懼!Spring面試題
- 金九銀十要來了?不要慌,這些Android BAT高階面試題刷一刷AndroidBAT面試題
- 金九銀十最新的美團技術四面已拿熱乎乎的offer,分享面經總結
- 金三銀四:面試官如何篩選簡歷、挑選求職者?面試求職
- 金三銀四面試季—20道精選JVM重點面試問題!面試JVM