成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于做網站、成都做網站、沈陽網絡推廣、微信小程序開發(fā)、沈陽網絡營銷、沈陽企業(yè)策劃、沈陽品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供沈陽建站搭建服務,24小時服務熱線:13518219792,官方網址:www.rwnh.cn
前言:
一年之計在于春 金三銀四已過,2018也已經年過一半多,作為一個開發(fā)人員,你是否面上了自己理想的公司,薪資達到心中理想的高度?
面試:如果不準備充分的面試,完全是浪費時間,更是對自己的不負責。
今天給大家分享下我整理的Java面試大綱,其中大部分都是自己面試過程中的面試題,可以對照這查漏補缺,當然了,這里所列的肯定不可能覆蓋全部方式。
項目介紹
大部分情況,這是一場面試的開門題,面試官問這個問題,主要是考察你的概述能力和全局視野。有的人經常抱怨自己每天在堆業(yè)務,但沒有成長。事實上,很多情況下確實在堆業(yè)務,但并不是沒有成長的。并非做中間件或者技術架構才是成長,例如我們的需求分析能力,溝通協(xié)作能力,產品思維能力,抽象建模能力等都是一個非常重要的硬實力。
在進入正文之前,順便給大家推薦一個Java架構方面的交流學習群: 698581634 ,里面會分享一些資深架構師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務架構的原理,JVM性能優(yōu)化這些成為架構師必備的知識體系。相信對于已經工作和遇到技術瓶頸的同學,在這個群里會有你需要的內容 有需要的朋友請抓緊時間加入進來。
好的,現在進入正文。
1、明確項目是做什么的
2、明確項目的價值。(為什么做這個項目,它解決了用戶什么痛點,它帶來什么價值?)
3、明確項目的功能。(這個項目涉及哪些功能?)
4、明確項目的技術。(這個項目用到哪些技術?)
5、明確個人在項目中的位置和作用。(你在這個項目的承擔角色?)
6、明確項目的整體架構。
7、明確項目的優(yōu)缺點,如果重新設計你會如何設計。
8、明確項目的亮點。(這個項目有什么亮點?)
9、明確技術成長。(你通過這個項目有哪些技術成長?)
一丶Java基礎
1、List 和 Set 的區(qū)別
2、HashSet 是如何保證不重復的
3、HashMap 是線程安全的嗎,為什么不是線程安全的(最好畫圖說明多線程環(huán)境下不安全)?
4、HashMap 的擴容過程
5、HashMap 1.7 與 1.8 的 區(qū)別,說明 1.8 做了哪些優(yōu)化,如何優(yōu)化的?
6、final finally finalize
7、強引用 、軟引用、 弱引用、虛引用
8、Java反射
9、Arrays.sort 實現原理和 Collection 實現原理
10、LinkedHashMap的應用
11、cloneable接口實現原理
12、異常分類以及處理機制
13、wait和sleep的區(qū)別
14、數組在內存中如何分配
二丶Java 并發(fā)
1、synchronized 的實現原理以及鎖優(yōu)化?
2、volatile 的實現原理?
3、Java 的信號燈?
4、synchronized 在靜態(tài)方法和普通方法的區(qū)別?
5、怎么實現所有線程在等待某個事件的發(fā)生才會去執(zhí)行?
6、CAS?CAS 有什么缺陷,如何解決?
7、synchronized 和 lock 有什么區(qū)別?
8、Hashtable 是怎么加鎖的 ?
9、HashMap 的并發(fā)問題?
10、ConcurrenHashMap 介紹?1.8 中為什么要用紅黑樹?
11、AQS
12、如何檢測死鎖?怎么預防死鎖?
13、Java 內存模型?
14、如何保證多線程下 i++ 結果正確?
15、線程池的種類,區(qū)別和使用場景?
16、分析線程池的實現原理和線程的調度過程?
17、線程池如何調優(yōu),最大數目如何確認?
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 循環(huán)注入的原理?
13、Spring AOP的理解,各個術語,他們是怎么相互工作的?
14、Spring 如何保證 Controller 并發(fā)的安全?
四丶Netty
1、BIO、NIO和AIO
2、Netty 的各大組件
3、Netty的線程模型
4、TCP 粘包/拆包的原因及解決方法
5、了解哪幾種序列化協(xié)議?包括使用場景和如何去選擇
6、Netty的零拷貝實現
7、Netty的高性能表現在哪些方面
五丶分布式相關
1、Dubbo的底層實現原理和機制
2、描述一個服務從發(fā)布到被消費的詳細過程
3、分布式系統(tǒng)怎么做服務治理
4、接口的冪等性的概念
5、消息中間件如何解決消息丟失問題
6、Dubbo的服務請求失敗怎么處理
7、重連機制會不會造成錯誤
8、對分布式事務的理解
9、如何實現負載均衡,有哪些算法可以實現?
10、Zookeeper的用途,選舉的原理是什么?
11、數據的垂直拆分水平拆分。
12、zookeeper原理和適用場景
13、zookeeper watch機制
14、redis/zk節(jié)點宕機如何處理
15、分布式集群下如何做到唯一序列號
16、如何做一個分布式鎖
17、用過哪些MQ,怎么用的,和其他mq比較有什么優(yōu)缺點,MQ的連接是線程安全的嗎
18、MQ系統(tǒng)的數據如何保證不丟失
19、列舉出你能想到的數據庫分庫分表策略;分庫分表后,如何解決全表查詢的問題
20、zookeeper的選舉策略
21、全局ID
六丶數據庫
1、MySQL分頁有什么優(yōu)化
2、悲觀鎖、樂觀鎖
3、組合索引,最左原則
4、mysql 的表鎖、行鎖
5、mysql 性能優(yōu)化
6、mysql的索引分類:B+,hash;什么情況用什么索引
7、事務的特性和隔離級別
七丶緩存
1、Redis用過哪些數據數據,以及Redis底層怎么實現
2、Redis緩存穿透,緩存雪崩
3、如何使用Redis來實現分布式鎖
4、Redis的并發(fā)競爭問題如何解決
5、Redis持久化的幾種方式,優(yōu)缺點是什么,怎么實現的
6、Redis的緩存失效策略
7、Redis集群,高可用,原理
8、Redis緩存分片
9、Redis的數據淘汰策略
八丶JVM
1、詳細jvm內存模型
2、講講什么情況下回出現內存溢出,內存泄漏?
3、說說Java線程棧
4、JVM 年輕代到年老代的晉升過程的判斷條件是什么呢?
5、JVM 出現 fullGC 很頻繁,怎么去線上排查問題?
6、類加載為什么要使用雙親委派模式,有沒有什么場景是打破了這個模式?
7、類的實例化順序
8、JVM垃圾回收機制,何時觸發(fā)MinorGC等操作
9、JVM 中一次完整的 GC 流程(從 ygc 到 fgc)是怎樣的
10、各種回收器,各自優(yōu)缺點,重點CMS、G1
11、各種回收算法
12、OOM錯誤,stackoverflow錯誤,permgen space錯誤
九丶Java開發(fā)體系路線圖
1.閱讀源碼
2.分布式架構
3.微服務架構技能總匯
4.并發(fā)編程
5.性能優(yōu)化
6.Java開發(fā)必知工具
7.實踐一個雙十一電商項目
十丶總結
針對上面的面試題 及技術思維圖 我特意整理了一下,有很多技術不是靠幾句話能講清楚,很多問題其實答案很簡單,但是背后的思考和邏輯不簡單,要做到知其然還要知其所以然,在此我向大家推薦一個交流學習群: 698581634 。里面會分享:面試資料, Spring ,MyBatis, Netty 源碼分析, 高并發(fā) 、高性能、分布式、微服務架構的原理,JVM性能優(yōu)化這些成為 架構師 必備的知識體系。相信對于已經工作和遇到技術瓶頸的朋友,在這個群里會有你需要的內容 有需要的朋友請抓緊時間加入進來。
最后,做一個愛思考,懂思考,會思考的程序員。
本文標題:Java開發(fā):錯過金三銀四你還要錯過金九銀十嗎?面試大綱總結
轉載來于:http://www.rwnh.cn/article28/igjjjp.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供外貿建站、小程序開發(fā)、網站制作、企業(yè)網站制作、Google、移動網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)