跳槽時時刻刻都在發生,可是我建議你們跳槽以前,先想清楚爲何要跳槽。切不可跟風,看到同事一個個都走了,本身也盲目的開始面試起來(期間也沒有準備充分),究竟是由於技術緣由(影響本身的發展,偏移本身規劃的軌跡),仍是錢給少了,不受重視。程序員
準備不充分的面試,徹底是浪費時間,更是對本身的不負責(若是title很高,當我沒說)。面試
今天給你們分享下我在此次跳槽中整理的Java面試大合集,其中大部分都是面試過程當中的面試題,能夠對照這查漏補缺,固然了,這裏所列的確定不可能覆蓋所有方式。設計模式
首先是Java基礎,基礎確定不用說了,越紮實越好。安全
1、項目介紹多線程
大部分狀況,這是一場面試的開門題,面試官問這個問題,主要是考察你的概述能力和全局視野。有的人常常抱怨本身天天在堆業務,但沒有成長。事實上,不少狀況下確實在堆業務,但並非沒有成長的。並不是作中間件或者技術架構纔是成長,例如咱們的需求分析能力,溝通協做能力,產品思惟能力,抽象建模能力等都是一個很是重要的硬實力。架構
好的,如今進入正文。併發
一、明確項目是作什麼的框架
二、明確項目的價值。(爲何作這個項目,它解決了用戶什麼痛點,它帶來什麼價值?)分佈式
三、明確項目的功能。(這個項目涉及哪些功能?)微服務
四、明確項目的技術。(這個項目用到哪些技術?)
五、明確我的在項目中的位置和做用。(你在這個項目的承擔角色?)
六、明確項目的總體架構。
七、明確項目的優缺點,若是從新設計你會如何設計。
八、明確項目的亮點。(這個項目有什麼亮點?)
九、明確技術成長。(你經過這個項目有哪些技術成長?)
2、Java 併發
一、synchronized 的實現原理以及鎖優化?
二、volatile 的實現原理?
三、Java 的信號燈?
四、synchronized 在靜態方法和普通方法的區別?
五、怎麼實現全部線程在等待某個事件的發生纔會去執行?
六、CAS?CAS 有什麼缺陷,如何解決?
七、synchronized 和 lock 有什麼區別?
八、Hashtable 是怎麼加鎖的 ?
九、HashMap 的併發問題?
十、ConcurrenHashMap 介紹?1.8 中爲何要用紅黑樹?
十一、AQS
十二、如何檢測死鎖?怎麼預防死鎖?
1三、Java 內存模型?
1四、如何保證多線程下 i++ 結果正確?
1五、線程池的種類,區別和使用場景?
1六、分析線程池的實現原理和線程的調度過程?
1七、線程池如何調優,最大數目如何確認?
1八、ThreadLocal原理,用的時候須要注意什麼?
1九、CountDownLatch 和 CyclicBarrier 的用法,以及相互之間的差異?
20、LockSupport工具
2一、Condition接口及其實現原理
2二、Fork/Join框架的理解
2三、分段鎖的原理,鎖力度減少的思考
2四、八種阻塞隊列以及各個阻塞隊列的特性
3、Spring架構
Spring確定不用多說了,這是必問的,若是還沒研究過趕忙抽時間去研究吧。
一、BeanFactory 和 FactoryBean?
二、Spring IOC 的理解,其初始化過程?
三、BeanFactory 和 ApplicationContext?
四、Spring Bean 的生命週期,如何被管理的?
五、Spring Bean 的加載過程是怎樣的?
六、若是要你實現Spring AOP,請問怎麼實現?
七、若是要你實現Spring IOC,你會注意哪些問題?
八、Spring 是如何管理事務的,事務管理機制?
九、Spring 的不一樣事務傳播行爲有哪些,幹什麼用的?
十、Spring 中用到了那些設計模式?
十一、Spring MVC 的工做原理?
十二、Spring 循環注入的原理?
1三、Spring AOP的理解,各個術語,他們是怎麼相互工做的?
1四、Spring 如何保證 Controller 併發的安全?
好了今天的面試題就分享到這裏,以前看了一篇也是關於Java面試大全的分享,發些裏面有不少面試題目不全,也跟不上如今的技術,因此本身花了半個月時間整理,四月也已通過去了一半了,相信大部分年後跳槽的程序員也都找到了本身的新起點了,此次只分享了一半,另一半會在整理以後會發出來,但願這篇面試題對你會幫助。若是對Java分佈式、微服務、工程化、高併發、JVM以及大數據等技術感興趣的能夠加個人Java交流進階羣,574683650,分享更多有趣有用的東西給你們,歡迎你們轉發評論
轉發此文章請帶上原文連接,不得用於商業用途,不然將追究法律責任!