一次偶然祸泪,從朋友那里得到一份“java高分面試指南”吗浩,里面涵蓋了25個(gè)分類的面試題以及詳細(xì)的解析:JavaOOP、Java集合/泛型没隘、Java中的IO與NIO懂扼、Java反射、Java序列化右蒲、Java注解阀湿、多線程&并發(fā)、JVM、Mysql杯巨、Redis尉剩、Memcached、MongoDB罩旋、Spring、Spring Boot眶诈、Spring Cloud涨醋、RabbitMQ、Dubbo 逝撬、MyBatis 浴骂、ZooKeeper 、數(shù)據(jù)結(jié)構(gòu)宪潮、算法溯警、Elasticsearch 、Kafka 狡相、微服務(wù)梯轻、Linux。這不尽棕,馬上就要到2021年2月份了喳挑,很多朋友又開始準(zhǔn)備“金三銀四”的春招啦,那我想這份“java高分面試指南”應(yīng)該起到不小的作用滔悉,所以今天想給大家分享一下伊诵。
請(qǐng)注意:關(guān)于這份“java高分面試指南”,每一個(gè)方向?qū)n}(25個(gè))的題目這里幾乎都會(huì)列舉回官,在不看答案的情況下曹宴,大家可以自行測(cè)試一下水平 且由于篇幅原因,這邊無(wú)法展示所有完整的答案解析歉提,不過(guò)我早已已將這份【“java高分面試指南-25大專題分類”(→原件)】整理成一份獨(dú)立的pdf文件
專題1:JavaOOP
1笛坦、什么是B/S架構(gòu)区转?什么是C/S架構(gòu)
2、Java都有哪些開發(fā)平臺(tái)版扩?
3蜗帜、什么是JDK?什么是JRE?
4资厉、Java語(yǔ)言有哪些特點(diǎn)
5厅缺、面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別
6、什么是數(shù)據(jù)結(jié)構(gòu)宴偿?
7湘捎、Java的數(shù)據(jù)結(jié)構(gòu)有哪些?
8窄刘、什么是OOP?
9窥妇、類與對(duì)象的關(guān)系?
10、Java中有幾種數(shù)據(jù)類型
11娩践、標(biāo)識(shí)符的命名規(guī)則活翩。
12、instanceof關(guān)鍵字的作用
13翻伺、什么是隱式轉(zhuǎn)換材泄,什么是顯式轉(zhuǎn)換
14、Char類型能不能轉(zhuǎn)成int類型吨岭?能不能轉(zhuǎn)化成string類型拉宗,能不能轉(zhuǎn)成double類型
15、什么是拆裝箱辣辫?
16旦事、Java中的包裝類都是哪些?
17急灭、一個(gè)java類中包含哪些內(nèi)容姐浮?
18、那針對(duì)浮點(diǎn)型數(shù)據(jù)運(yùn)算出現(xiàn)的誤差的問(wèn)題葬馋,你怎么解決卖鲤?
19、面向?qū)ο蟮奶卣饔心男┓矫?
20点楼、訪問(wèn)修飾符 public,private,protected,以及不寫(默認(rèn)) 時(shí)的區(qū)別扫尖?
21、String 是最基本的數(shù)據(jù)類型嗎掠廓?
22、float f=3.4;是否正確甩恼?
23蟀瞧、short s1 = 1; s1 = s1 + 1;有錯(cuò)嗎?short s1 = 1; s1 += 1; 有錯(cuò)嗎沉颂?
24、重載和重寫的區(qū)別
25悦污、equals與==的區(qū)別
36铸屉、++i與i++的區(qū)別
37、程序的結(jié)構(gòu)有哪些彻坛?
38竞帽、數(shù)組實(shí)例化有幾種方式鸿捧?
39屹篓、Java中各種數(shù)據(jù)默認(rèn)值
40、Java常用包有哪些匙奴?
41抱虐、Object類常用方法有哪些?
42饥脑、java中有沒(méi)有指針恳邀?
43、java中是值傳遞引用傳遞灶轰?
44谣沸、實(shí)例化數(shù)組后,能不能改變數(shù)組長(zhǎng)度呢笋颤?
45乳附、假設(shè)數(shù)組內(nèi)有5個(gè)元素,如果對(duì)數(shù)組進(jìn)行反序伴澄,該如何做赋除?
46、形參與實(shí)參區(qū)別
47非凌、構(gòu)造方法能不能顯式調(diào)用举农?
48、什么是方法重載敞嗡?
49颁糟、構(gòu)造方法能不能重寫航背?能不能重載?
50棱貌、內(nèi)部類與靜態(tài)內(nèi)部類的區(qū)別玖媚?
51、Static關(guān)鍵字有什么作用婚脱?
52今魔、final在java中的作用,有哪些用法?
53障贸、StringString StringBuffffer 和 StringBuilder 的區(qū)別是什么错森?
54、String str=”aaa”,與String str=new String(“aaa”)一樣嗎惹想?
55问词、講下java中的math類有那些常用方法?
56嘀粱、String類的常用方法有哪些激挪?
57、Java中的繼承是單繼承還是多繼承
58锋叨、Super與this表示什么垄分?
59熟史、普通類與抽象類有什么區(qū)別芳室?
60闷游、什么是接口谅阿?為什么需要接口?
61久锥、接口有什么特點(diǎn)辆床?
62说订、抽象類和接口的區(qū)別?
63听诸、Hashcode的作用
64坐求、 Java的四種引用,強(qiáng)弱軟虛
65晌梨、Java創(chuàng)建對(duì)象有幾種方式桥嗤?
66、有沒(méi)有可能兩個(gè)不相等的對(duì)象有相同的hashcode
67仔蝌、拷貝和淺拷貝的區(qū)別是什么?
68泛领、static都有哪些用法?
69、a=a+b與a+=b有什么區(qū)別嗎?
70敛惊、final渊鞋、finalize()、finally
71、JDBC操作的步驟
72篓像、在使用jdbc的時(shí)候动知,如何防止出現(xiàn)sql注入的問(wèn)題皿伺。
73员辩、怎么在JDBC內(nèi)調(diào)用一個(gè)存儲(chǔ)過(guò)程
74、是否了解連接池鸵鸥,使用連接池有什么好處奠滑?
75、你所了解的數(shù)據(jù)源技術(shù)有那些妒穴?使用數(shù)據(jù)源有什么好處宋税?
76、&和&&的區(qū)別
77讼油、靜態(tài)內(nèi)部類如何定義
78杰赛、什么是成員內(nèi)部類
79、Static Nested Class 和 Inner Class的不同
80矮台、什么時(shí)候用assert
81乏屯、Java有沒(méi)有g(shù)oto
82、數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法
83瘦赫、用最有效率的方法算出2乘以8等於幾
84辰晕、float型float f=3.4是否正確?
85、排序都有哪幾種方法确虱?請(qǐng)列舉
86含友、靜態(tài)變量和實(shí)例變量的區(qū)別?
87校辩、說(shuō)出一些常用的類窘问,包,接口宜咒,請(qǐng)各舉5個(gè)
88惠赫、a.hashCode() 有什么用?與 a.equals(b) 有什么關(guān)系荧呐?
89汉形、Java 中的編譯期常量是什么?使用它又什么風(fēng)險(xiǎn)倍阐?
90概疆、在 Java 中,如何跳出當(dāng)前的多重嵌套循環(huán)峰搪?
91岔冀、構(gòu)造器(constructor)是否可被重寫(override)?
92概耻、兩個(gè)對(duì)象值相同(x.equals(y) == true)使套,但卻可有不同的hash code罐呼,這句話對(duì)不對(duì)?
93侦高、是否可以繼承 String 類嫉柴?
94、當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后奉呛,此方法可改變這個(gè)對(duì)象的屬性计螺,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞瞧壮?
95登馒、String 和 StringBuilder、StringBuffer 的區(qū)別咆槽?
96陈轿、重載(Overload)和重寫(Override)的區(qū)別。重載的方法能否根據(jù)返回類型進(jìn)行區(qū)分秦忿?
97麦射、char 型變量中能不能存貯一個(gè)中文漢字,為什么小渊?
98法褥、抽象類(abstract class)和接口(interface)有什么異同 ?
99酬屉、靜態(tài)嵌套類(Static Nested Class)和內(nèi)部類(Inner Class)的不同半等?
100、Java 中會(huì)存在內(nèi)存泄漏嗎呐萨,請(qǐng)簡(jiǎn)單描述杀饵。
101、抽象的(abstract)方法是否可同時(shí)是靜態(tài)的(static),是否可同時(shí)是本地方法(native)谬擦,是否可同時(shí)被 synchronized修飾切距?
102、是否可以從一個(gè)靜態(tài)(static)方法內(nèi)部發(fā)出對(duì)非靜態(tài)(non-static)方法的調(diào)用惨远?
103谜悟、如何實(shí)現(xiàn)對(duì)象克隆北秽?
104葡幸、接口是否可繼承(extends)接口?抽象類是否可實(shí)現(xiàn)(implements)接口贺氓?抽象類是否可繼承具體類(concreteclass)蔚叨?
105、一個(gè)”.java”源文件中是否可以包含多個(gè)類(不是內(nèi)部類)?有什么限制蔑水?
106邢锯、Anonymous Inner Class(匿名內(nèi)部類)是否可以繼承其它類?是否可以實(shí)現(xiàn)接口搀别?
107丹擎、內(nèi)部類可以引用它的包含類(外部類)的成員嗎?有沒(méi)有什么限制领曼?
108鸥鹉、Java 中的 final 關(guān)鍵字有哪些用法蛮穿?
專題2:Java集合/泛型
1庶骄、ArrayList和linkedList的區(qū)別
2、 HashMap和HashTable的區(qū)別
3践磅、Collection包結(jié)構(gòu)单刁,與Collections的區(qū)別
4、泛型常用特點(diǎn) (待補(bǔ)充)
5府适、說(shuō)說(shuō)List,Set,Map三者的區(qū)別
6羔飞、Array與ArrayList有什么不一樣宵统?
7优妙、Map有什么特點(diǎn)
8、集合類存放于 Java.util 包中盯仪, 主要有幾 種接口
9疟暖、什么是list接口
10卡儒、說(shuō)說(shuō)ArrayList(數(shù)組)
11、Vector( 數(shù)組實(shí)現(xiàn)俐巴、 線程同步)
12骨望、說(shuō)說(shuō)LinkList(鏈表)
13、什么Set集合
14欣舵、HashSet( Hash 表)
15擎鸠、什么是TreeSet(二叉樹)
16、說(shuō)說(shuō)LinkHashSet( HashSet+LinkedHashMap)
17缘圈、HashMap(數(shù)組+鏈表+紅黑樹)
18劣光、說(shuō)說(shuō)ConcurrentHashMap
19、HashTable(線程安全)
20糟把、TreeMap(可排序)
21绢涡、LinkHashMap(記錄插入順序)
22、泛型類
23糊饱、類型通配符?
24、類型擦除
專題3:Java中的IO與NIO
1、Java 中 IO 流抗蠢?
2悴势、Java IO與 NIO的區(qū)別
3笨腥、常用io類有那些
4脖母、字節(jié)流與字符流的區(qū)別
5士鸥、阻塞 IO 模型
6、<typo id="typo-3740" ignoretag="true" data-origin="非">非</typo>阻塞 IO 模型
7镶奉、多路復(fù)用 IO 模型
8础淤、信號(hào)驅(qū)動(dòng) IO 模型
9、異步 IO 模型
10哨苛、JAVA NIO
11、NIO 的緩沖區(qū)
12币砂、NIO 的非阻塞
13建峭、Channel
14、Buffer
15决摧、Selector
專題4:Java反射
1亿蒸、除了使用new創(chuàng)建對(duì)象之外,還可以用什么方法創(chuàng)建對(duì)象掌桩?
2边锁、Java反射創(chuàng)建對(duì)象效率高還是通過(guò)new創(chuàng)建對(duì)象的效率高?
3波岛、java反射的作用
4茅坛、哪里會(huì)用到反射機(jī)制?
5则拷、反射的實(shí)現(xiàn)方式:
6贡蓖、實(shí)現(xiàn)Java反射的類:
7、反射機(jī)制的優(yōu)缺點(diǎn):
8煌茬、Java 反射 API
9斥铺、反射使用步驟(獲取 Class 對(duì)象、調(diào)用對(duì)象方法)
10坛善、獲取 Class 對(duì)象有幾種方法
11晾蜘、利用反射動(dòng)態(tài)創(chuàng)建對(duì)象實(shí)例
專題5:Java序列化
1邻眷、什么是java序列化,如何實(shí)現(xiàn)java序列化剔交?
2耗溜、保存(持久化)對(duì)象及其狀態(tài)到內(nèi)存或者磁盤
3、序列化對(duì)象以字節(jié)數(shù)組保持-靜態(tài)成員不保存
4省容、序列化用戶遠(yuǎn)程對(duì)象傳輸
5抖拴、Serializable 實(shí)現(xiàn)序列化
6、writeObject 和 readObject 自定義序列化策略
7腥椒、序列化 ID
8阿宅、序列化并不保存靜態(tài)變量
9、Transient 關(guān)鍵字阻止該變量被序列化到文件中
10笼蛛、序列化(深 clone 一中實(shí)現(xiàn))
專題6:Java注解
1洒放、4種標(biāo)準(zhǔn)元注解是哪四種?
2滨砍、注解是什么往湿?
專題7:多線程&并發(fā)
1、Java中實(shí)現(xiàn)多線程有幾種方法
2惋戏、繼承 Thread 類
3领追、實(shí)現(xiàn) Runnable 接口。
4响逢、ExecutorService绒窑、 Callable、 Future 有返回值線程
5舔亭、基于線程池的方式
6些膨、4 種線程池
7、如何停止一個(gè)正在運(yùn)行的線程
8钦铺、notify()和notifyAll()有什么區(qū)別订雾?
9、sleep()和wait() 有什么區(qū)別矛洞?
10洼哎、volatile 是什么?可以保證有序性嗎?
11、Thread 類中的start() 和 run() 方法有什么區(qū)別缚甩?
12谱净、為什么wait, notify 和 notifyAll這些方法不在thread類里面?
13擅威、為什么wait和notify方法要在同步塊中調(diào)用壕探?
14、Java中interrupted 和 isInterruptedd方法的區(qū)別郊丛?
15李请、Java中synchronized 和 ReentrantLock 有什么不同瞧筛?
16、有三個(gè)線程T1,T2,T3,如何保證順序執(zhí)行导盅?
17较幌、SynchronizedMap和ConcurrentHashMap有什么區(qū)別?
18白翻、什么是線程安全
19乍炉、Thread類中的yield方法有什么作用?
20滤馍、Java線程池中submit() 和 execute()方法有什么區(qū)別岛琼?
21、說(shuō)一說(shuō)自己對(duì)于 synchronized 關(guān)鍵字的了解
22巢株、說(shuō)說(shuō)自己是怎么使用 synchronized 關(guān)鍵字槐瑞,在項(xiàng)目中用到了嗎synchronized關(guān)鍵字最主要的三種使用方式
23、什么是線程安全阁苞?Vector是一個(gè)線程安全類嗎困檩?
24、volatile關(guān)鍵字的作用那槽?
25悼沿、簡(jiǎn)述一下你對(duì)線程池的理解
26、線程生命周期(狀態(tài))
27倦炒、新建狀態(tài)(NEW)
28显沈、就緒狀態(tài)(RUNNABLE)
29、運(yùn)行狀態(tài)(RUNNING)
30逢唤、阻塞狀態(tài)(BLOCKED)
31、線程死亡(DEAD)
32涤浇、終止線程 4 種方式
33鳖藕、start 與 run 區(qū)別
34、JAVA 后臺(tái)線程
35只锭、什么是樂(lè)觀鎖
36、什么是悲觀鎖
37、什么是自旋鎖
38说榆、Synchronized 同步鎖
39渔隶、ReentrantLock
40、Condition 類和 Object 類鎖方法區(qū)別區(qū)別
41纵顾、tryLock 和 lock 和 lockInterruptibly 的區(qū)別
42伍茄、Semaphore 信號(hào)量
43、Semaphore 與 ReentrantLock 區(qū)別
44施逾、可重入鎖(遞歸鎖)
45敷矫、公平鎖與非公平鎖
46例获、ReadWriteLock 讀寫鎖
47、共享鎖和獨(dú)占鎖
48曹仗、重量級(jí)鎖(Mutex Lock)
49榨汤、輕量級(jí)鎖
50、偏向鎖
51怎茫、分段鎖
52收壕、鎖優(yōu)化
53、線程基本方法
54轨蛤、線程等待(wait)
55蜜宪、線程睡眠(sleep)
56、線程讓步(yield)
57俱萍、線程中斷(interrupt)
58端壳、Join 等待其他線程終止
59、為什么要用 join()方法枪蘑?
60损谦、線程喚醒(notify)
61、線程其他方法
62岳颇、進(jìn)程
63照捡、上下文
64、寄存器
65话侧、程序計(jì)數(shù)器
66栗精、PCB-“切換楨”
67、上下文切換的活動(dòng)
68瞻鹏、引起線程上下文切換的原因
69悲立、同步鎖
70、死鎖
71新博、線程池原理
72薪夕、線程復(fù)
73、線程池的組成
74赫悄、拒絕策略
75原献、Java 線程池工作過(guò)程
76、JAVA 阻塞隊(duì)列原理
77埂淮、Java 中的阻塞隊(duì)列
78姑隅、ArrayBlockingQueue(公平、非公平)
79倔撞、LinkedBlockingQueue(兩個(gè)獨(dú)立鎖提高并發(fā))
80讲仰、PriorityBlockingQueue(compareTo 排序?qū)崿F(xiàn)優(yōu)先)
81、DelayQueue(緩存失效误窖、定時(shí)任務(wù) )
82叮盘、SynchronousQueue(不存儲(chǔ)數(shù)據(jù)秩贰、可用于傳遞數(shù)據(jù))
83、LinkedTransferQueue
84柔吼、LinkedBlockingDeque
85毒费、在 java 中守護(hù)線程和本地線程區(qū)別
86、線程與進(jìn)程的區(qū)別愈魏?
87觅玻、什么是多線程中的上下文切換?
88培漏、死鎖與活鎖的區(qū)別溪厘,死鎖與饑餓的區(qū)別?
89牌柄、Java 中用到的線程調(diào)度算法是什么畸悬?
90、什么是線程組珊佣,為什么在 Java 中不推薦使用蹋宦?
91、為什么使用 Executor 框架咒锻?
92冷冗、在 Java 中 Executor 和 Executors 的區(qū)別?
93惑艇、如何在 Windows 和 Linux 上查找哪個(gè)線程使用的 CPU 時(shí)間最長(zhǎng)蒿辙?
94、什么是原子操作滨巴?在 Java Concurrency API 中有哪些原子類(atomic classes)思灌?
95、Java Concurrency API 中的 Lock 接口(Lock interface)是什么恭取?對(duì)比同步它有什么優(yōu)勢(shì)习瑰?
96、什么是 Executors 框架秽荤?
97、什么是阻塞隊(duì)列柠横?阻塞隊(duì)列的實(shí)現(xiàn)原理是什么窃款?如何使用阻塞隊(duì)列來(lái)實(shí)現(xiàn)生產(chǎn)者-消費(fèi)者模型?
98牍氛、什么是 Callable 和 Future?
99晨继、什么是 FutureTask?使用 ExecutorService 啟動(dòng)任務(wù)。
100搬俊、什么是并發(fā)容器的實(shí)現(xiàn)紊扬?
101蜒茄、多線程同步和互斥有幾種實(shí)現(xiàn)方法,都是什么餐屎?
102檀葛、什么是競(jìng)爭(zhēng)條件?你怎樣發(fā)現(xiàn)和解決競(jìng)爭(zhēng)腹缩?
103屿聋、為什么我們調(diào)用 start()方法時(shí)會(huì)執(zhí)行 run()方法,為什么我們不能直接調(diào)用 run()方法藏鹊?
104润讥、Java中,你怎樣喚醒一個(gè)阻塞的線程盘寡?
105楚殿、在 Java 中 CycliBarriar 和 CountdownLatch 有什么區(qū)別?
106竿痰、什么是不可變對(duì)象脆粥,它對(duì)寫并發(fā)應(yīng)用有什么幫助?
107菇曲、Java 中用到的線程調(diào)度算法是什么冠绢?
108、什么是線程組常潮,為什么在 Java 中不推薦使用弟胀?
專題8:JVM
1、java中會(huì)存在內(nèi)存泄漏嗎喊式,請(qǐng)簡(jiǎn)單描述孵户。
2、64 位 JVM 中岔留,int 的長(zhǎng)度是多數(shù)夏哭?
3、Serial 與 Parallel GC 之間的不同之處献联?
4竖配、32 位和 64 位的 JVM,int 類型變量的長(zhǎng)度是多數(shù)里逆?
5进胯、Java 中 WeakReference 與 SoftReference 的區(qū)別?
6原押、JVM 選項(xiàng) -XX:+UseCompressedOops 有什么作用胁镐?為什么要使用套像?
7鹦筹、怎樣通過(guò) Java 程序來(lái)判斷 JVM 是 32 位 還是 64位?
8、32 位 JVM 和 64 位 JVM 的最大堆內(nèi)存分別是多數(shù)销部?
9裳擎、JRE吁脱、JDK尤溜、JVM 及 JIT 之間有什么不同?
10违崇、解釋 Java 堆空間及 GC?
11羞延、JVM 內(nèi)存區(qū)域
12伴箩、程序計(jì)數(shù)器(線程私有)
13入愧、虛擬機(jī)棧(線程私有)
14、本地方法區(qū)(線程私有)
15嗤谚、你能保證 GC 執(zhí)行嗎棺蛛?
16、怎么獲取 Java 程序使用的內(nèi)存巩步?堆使用的百分比旁赊?
17、Java 中堆和棧有什么區(qū)別椅野?
18终畅、描述一下 JVM 加載 class 文件的原理機(jī)制
19、GC 是什么竟闪?為什么要有 GC离福?
20、堆(Heap-線程共享) -運(yùn)行時(shí)數(shù)據(jù)區(qū)
21炼蛤、方法區(qū)/永久代(線程共享)
22妖爷、JVM 運(yùn)行時(shí)內(nèi)存
23、新生代
24理朋、老年代
25絮识、永久代
26、JAVA8 與元數(shù)據(jù)
27嗽上、引用計(jì)數(shù)法
28笋除、可達(dá)性分析
29、標(biāo)記清除算法( Mark-Sweep)
30炸裆、復(fù)制算法(copying)
31、標(biāo)記整理算法(Mark-Compact)
32鲜屏、分代收集算法
33烹看、新生代與復(fù)制算法
34国拇、老年代與標(biāo)記復(fù)制算法
35、JAVA 強(qiáng)引用
36惯殊、JAVA軟引用
37酱吝、JAVA弱引用
38、JAVA虛引用
39土思、分代收集算法
40务热、在新生代-復(fù)制算法
41、在老年代-標(biāo)記整理算法
42己儒、分區(qū)收集算法
43崎岂、GC 垃圾收集器
44、Serial 垃圾收集器(單線程闪湾、 復(fù)制算法)
45冲甘、ParNew 垃圾收集器(Serial+多線程)
46、Parallel Scavenge 收集器(多線程復(fù)制算法途样、高效)
57江醇、Serial Old 收集器(單線程標(biāo)記整理算法 )
58、Parallel Old 收集器(多線程標(biāo)記整理算法)
59何暇、CMS 收集器(多線程標(biāo)記清除算法)
60陶夜、G1 收集器
61、JVM 類加載機(jī)制
62裆站、類加載器
63条辟、雙親委派
64、OSGI( 動(dòng)態(tài)模型系統(tǒng))
65遏插、動(dòng)態(tài)改變構(gòu)造
66捂贿、模塊化編程與熱插拔
67、JVM內(nèi)存模型
68胳嘲、棧
69厂僧、本地方法棧
70、程序計(jì)數(shù)器
71了牛、堆
72颜屠、方法區(qū)
73、分代回收
74鹰祸、堆和棧的區(qū)別
75甫窟、什么時(shí)候會(huì)觸發(fā)FullGC
76、什么是Java虛擬機(jī)蛙婴?為什么Java被稱作是“平臺(tái)無(wú)關(guān)的編程語(yǔ)言”粗井?
77、對(duì)象分配規(guī)則
78、描述一下JVM加載class文件的原理機(jī)制浇衬?
79懒构、Java對(duì)象創(chuàng)建過(guò)程
80、簡(jiǎn)述Java的對(duì)象結(jié)構(gòu)
81耘擂、如何判斷對(duì)象可以被回收
82胆剧、JVM的永久代中會(huì)發(fā)生垃圾回收么
83、垃圾收集算法
84醉冤、調(diào)優(yōu)命令有哪些秩霍?
85、調(diào)優(yōu)工具
86蚁阳、Minor GC與Full GC分別在什么時(shí)候發(fā)生铃绒?
87、你知道哪些JVM性能調(diào)優(yōu)
專題9:Mysql
1韵吨、數(shù)據(jù)庫(kù)存儲(chǔ)引擎
2匿垄、InnoDB(B+樹)
2、TokuDB( Fractal Tree-節(jié)點(diǎn)帶數(shù)據(jù))
3归粉、MyIASM
4椿疗、Memory
5、數(shù)據(jù)庫(kù)引擎有哪些
6糠悼、InnoDB與MyISAM的區(qū)別
7届榄、索引
8、常見索引原則有
9倔喂、數(shù)據(jù)庫(kù)的三范式是什么
10铝条、第一范式(1st NF - 列都是不可再分)
11、第二范式(2nd NF- 每個(gè)表只描述一件事情)
12席噩、第三范式(3rd NF- 不存在對(duì)非主鍵列的傳遞依賴)
13班缰、數(shù)據(jù)庫(kù)是事務(wù)
14、SQL優(yōu)化
15悼枢、簡(jiǎn)單說(shuō)一說(shuō)drop埠忘、delete與truncate的區(qū)別
16、什么是視圖
17馒索、什么是內(nèi)聯(lián)接莹妒、左外聯(lián)接、右外聯(lián)接绰上?
18旨怠、并發(fā)事務(wù)帶來(lái)哪些問(wèn)題?
19、事務(wù)隔離級(jí)別有哪些?MySQL的默認(rèn)隔離級(jí)別是?
20蜈块、大表如何優(yōu)化鉴腻?
21迷扇、水平分區(qū)
22、分庫(kù)分表之后,id 主鍵如何處理
23拘哨、存儲(chǔ)過(guò)程(特定功能的 SQL 語(yǔ)句集)
24谋梭、存儲(chǔ)過(guò)程優(yōu)化思路
25、觸發(fā)器(一段能自動(dòng)執(zhí)行的程序)
26倦青、數(shù)據(jù)庫(kù)并發(fā)策略
27、MySQL 中有哪幾種鎖盹舞?
28产镐、MySQL 中有哪些不同的表格?
29踢步、簡(jiǎn)述在 MySQL 數(shù)據(jù)庫(kù)中 MyISAM 和 InnoDB 的區(qū)別
30、MySQL 中 InnoDB 支持的四種事務(wù)隔離級(jí)別名稱,以及逐級(jí)之間的區(qū)別党饮?
31胆建、CHAR 和 VARCHAR 的區(qū)別?
32兼丰、主鍵和候選鍵有什么區(qū)別玻孟?
33、myisamchk 是用來(lái)做什么的鳍征?
34黍翎、MyISAM Static 和 MyISAM Dynamic 有什么區(qū)別?
35艳丛、如果一個(gè)表有一列定義為 TIMESTAMP匣掸,將發(fā)生什么?
36氮双、你怎么看到為表格定義的所有索引碰酝?
37、LIKE 聲明中的%和_是什么意思戴差?
38送爸、列對(duì)比運(yùn)算符是什么?
39造挽、BLOB 和 TEXT 有什么區(qū)別碱璃?
40、MySQL_fetch_array 和 MySQL_fetch_object 的區(qū)別是什么饭入?
41嵌器、MyISAM 表格將在哪里存儲(chǔ),并且還提供其存儲(chǔ)格式谐丢?
42爽航、MySQL 如何優(yōu)化 DISTINCT蚓让?
43、如何顯示前 50 行讥珍?
44历极、可以使用多少列創(chuàng)建索引?
45衷佃、NOW()和 CURRENT_DATE()有什么區(qū)別趟卸?
46、什么是非標(biāo)準(zhǔn)字符串類型氏义?
47锄列、什么是通用 SQL 函數(shù)?
48惯悠、MySQL 支持事務(wù)嗎邻邮?
49、MySQL 里記錄貨幣用什么字段類型好
50克婶、MySQL 有關(guān)權(quán)限的表都有哪幾個(gè)筒严?
51、列的字符串類型可以是什么情萤?
52鸭蛙、MySQL 數(shù)據(jù)庫(kù)作發(fā)布系統(tǒng)的存儲(chǔ),一天五萬(wàn)條以上的增量紫岩,預(yù)計(jì)運(yùn)維三年,怎么優(yōu)化规惰?
53、鎖的優(yōu)化策略
54泉蝌、索引的底層實(shí)現(xiàn)原理和優(yōu)化
55歇万、什么情況下設(shè)置了索引但無(wú)法使用
56、實(shí)踐中如何優(yōu)化 MySQL
57勋陪、優(yōu)化數(shù)據(jù)庫(kù)的方法
58贪磺、簡(jiǎn)單描述 MySQL 中,索引诅愚,主鍵寒锚,唯一索引,聯(lián)合索引的區(qū)別违孝,對(duì)數(shù)據(jù)庫(kù)的性能有什么影響(從讀寫兩方面)
59刹前、數(shù)據(jù)庫(kù)中的事務(wù)是什么?
60、SQL 注入漏洞產(chǎn)生的原因雌桑?如何防止喇喉?
61、為表中得字段選擇合適得數(shù)據(jù)類型
62校坑、存儲(chǔ)時(shí)期
63拣技、對(duì)于關(guān)系型數(shù)據(jù)庫(kù)而言千诬,索引是相當(dāng)重要的概念,請(qǐng)回答有關(guān)索引的幾個(gè)問(wèn)題
64膏斤、解釋 MySQL 外連接徐绑、內(nèi)連接與自連接的區(qū)別
65、Myql 中的事務(wù)回滾機(jī)制概述
66莫辨、SQL 語(yǔ)言包括哪幾部分傲茄?每部分都有哪些操作關(guān)鍵
67、完整性約束包括哪些沮榜?
68烫幕、什么是鎖?
69敞映、什么叫視圖?游標(biāo)是什么磷斧?
70振愿、什么是存儲(chǔ)過(guò)程?用什么來(lái)調(diào)用弛饭?
71冕末、如何通俗地理解三個(gè)范式?
72侣颂、什么是基本表档桃?什么是視圖?
73憔晒、試述視圖的優(yōu)點(diǎn)藻肄?
74、NULL 是什么意思
75拒担、主鍵嘹屯、外鍵和索引的區(qū)別?
76从撼、你可以用什么來(lái)確保表格里的字段只接受特定范圍里的值?
77州弟、說(shuō)說(shuō)對(duì) SQL 語(yǔ)句優(yōu)化有哪些方法?(選擇幾條)
78低零、什么是樂(lè)觀鎖
79婆翔、什么是悲觀鎖
80、什么是時(shí)間戳
81掏婶、什么是行級(jí)鎖
82啃奴、什么是表級(jí)鎖
83、什么是頁(yè)級(jí)鎖
專題10:Redis
1气堕、什么是 Redis?
2纺腊、Redis 與其他 key-value 存儲(chǔ)有什么不同畔咧?
3、Redis 的數(shù)據(jù)類型揖膜?
4誓沸、使用 Redis 有哪些好處?
5壹粟、Redis 相比 Memcached 有哪些優(yōu)勢(shì)拜隧?
6、Memcache 與 Redis 的區(qū)別都有哪些趁仙?
7洪添、Redis 是單進(jìn)程單線程的?
8雀费、一個(gè)字符串類型的值能存儲(chǔ)最大容量是多少干奢?
9、Redis持久化機(jī)制
10盏袄、緩存雪崩忿峻、緩存穿透、緩存預(yù)熱辕羽、緩存更新逛尚、緩存降級(jí)等問(wèn)題
11、熱點(diǎn)數(shù)據(jù)和冷數(shù)據(jù)是什么
12刁愿、單線程的redis為什么這么快
13绰寞、redis的數(shù)據(jù)類型,以及每種數(shù)據(jù)類型的使用場(chǎng)景
14铣口、redis的過(guò)期策略以及內(nèi)存淘汰機(jī)制
15毡泻、Redis 常見性能問(wèn)題和解決方案抬虽?
16诲锹、為什么Redis的操作是原子性的状囱,怎么保證原子性的?
17旭蠕、Redis事務(wù)
18停团、Redis 的持久化機(jī)制是什么?各自的優(yōu)缺點(diǎn)掏熬?
19佑稠、Redis 常見性能問(wèn)題和解決方案:
20、redis 過(guò)期鍵的刪除策略旗芬?
21舌胶、Redis 的回收策略(淘汰策略)?
22、為什么 edis 需要把所有數(shù)據(jù)放到內(nèi)存中疮丛?
23幔嫂、Redis 的同步機(jī)制了解么辆它?
24、Pipeline 有什么好處履恩,為什么要用 pipeline锰茉?
25、是否使用過(guò) Redis 集群切心,集群的原理是什么飒筑?
26、Redis 集群方案什么情況下會(huì)導(dǎo)致整個(gè)集群不可用绽昏?
27协屡、Redis 支持的 Java 客戶端都有哪些?官方推薦用哪個(gè)全谤?
28肤晓、Jedis 與 Redisson 對(duì)比有什么優(yōu)缺點(diǎn)?
29认然、Redis 如何設(shè)置密碼及驗(yàn)證密碼材原?
30、說(shuō)說(shuō) Redis 哈希槽的概念季眷?
31、Redis 集群的主從復(fù)制模型是怎樣的卷胯?
32子刮、Redis 集群會(huì)有寫操作丟失嗎?為什么窑睁?
33挺峡、Redis 集群之間是如何復(fù)制的?
34担钮、Redis 集群最大節(jié)點(diǎn)個(gè)數(shù)是多少橱赠?
35、Redis 集群如何選擇數(shù)據(jù)庫(kù)箫津?
36狭姨、怎么測(cè)試 Redis 的連通性?
37苏遥、怎么理解 Redis 事務(wù)饼拍?
38、Redis 事務(wù)相關(guān)的命令有哪幾個(gè)田炭?
39师抄、Redis key 的過(guò)期時(shí)間和永久有效分別怎么設(shè)置?
40教硫、Redis 如何做內(nèi)存優(yōu)化叨吮?
41辆布、Redis 回收進(jìn)程如何工作的?
42茶鉴、都有哪些辦法可以降低 Redis 的內(nèi)存使用情況呢锋玲?
43、Redis 的內(nèi)存用完了會(huì)發(fā)生什么蛤铜?
44嫩絮、一個(gè) Redis 實(shí)例最多能存放多少的 keys?List围肥、Set剿干、Sorted Set 他們最多能存放多少元素
45、MySQL 里有 2000w 數(shù)據(jù)穆刻,redis 中只存 20w 的數(shù)據(jù)置尔,如何保證 redis 中的數(shù)據(jù)都是熱點(diǎn)數(shù)據(jù)?
46氢伟、Redis 最適合的場(chǎng)景榜轿?
47、假如 Redis 里面有 1 億個(gè) key朵锣,其中有 10w 個(gè) key 是以某個(gè)固定的已知的前綴開頭的谬盐,如果將它們?nèi)空页鰜?lái)?
48诚些、如果有大量的 key 需要設(shè)置同一時(shí)間過(guò)期飞傀,一般需要注意什么?
49诬烹、使用過(guò) Redis 做異步隊(duì)列么砸烦,你是怎么用的?
50绞吁、使用過(guò) Redis 分布式鎖么幢痘,它是怎么回事?
專題11:Memcached
1家破、Memcached 是什么颜说,有什么作用?
2汰聋、memcached 服務(wù)在企業(yè)集群架構(gòu)中有哪些應(yīng)用場(chǎng)景脑沿?
2、Memcached 服務(wù)分布式集群如何實(shí)現(xiàn)马僻?
3庄拇、Memcached 服務(wù)特點(diǎn)及工作原理是什么?
4、簡(jiǎn)述 Memcached 內(nèi)存管理機(jī)制原理措近?
5溶弟、memcached 是怎么工作的?
6瞭郑、memcached 最大的優(yōu)勢(shì)是什么辜御?
7、memcached 和 MySQL 的 query
8屈张、memcached 和服務(wù)器的 local cache(比如 PHP 的 APC擒权、mmap 文件等)相比,有什么優(yōu)缺點(diǎn)阁谆?
9碳抄、memcached 的 cache 機(jī)制是怎樣的?
10场绿、memcached 如何實(shí)現(xiàn)冗余機(jī)制剖效?
11、memcached 如何處理容錯(cuò)的焰盗?
12璧尸、如何將 memcached 中 item 批量導(dǎo)入導(dǎo)出?
13熬拒、如果緩存數(shù)據(jù)在導(dǎo)出導(dǎo)入之間過(guò)期了爷光,您又怎么處理這些數(shù)據(jù)呢?
14澎粟、memcached 是如何做身份驗(yàn)證的瞎颗?
15、memcached 的多線程是什么捌议?如何使用它們?
16引有、memcached 能接受的 key 的最大長(zhǎng)度是多少瓣颅?
17、memcached 對(duì) item 的過(guò)期時(shí)間有什么限制譬正?
18宫补、memcached 最大能存儲(chǔ)多大的單個(gè) item?
19曾我、memcached 能夠更有效地使用內(nèi)存嗎粉怕?
20、什么是二進(jìn)制協(xié)議抒巢,我該關(guān)注嗎贫贝?
21、memcached 的內(nèi)存分配器是如何工作的?為什么不適用malloc/freeV赏怼崇堵?為何要使用 slabs逻炊?
22累魔、memcached 是原子的嗎嗤放?
23埃叭、如何實(shí)現(xiàn)集群中的 session 共享存儲(chǔ)洛搀?
24倘潜、memcached 與 redis 的區(qū)別格遭?
專題12:MongoDB
1愚铡、mongodb是什么傍妒?
2幔摸、mongodb有哪些特點(diǎn)?
3拍顷、你說(shuō)的NoSQL數(shù)據(jù)庫(kù)是什么意思?NoSQL與RDBMS直接有什么區(qū)別?為什么要使用和不使用NoSQL數(shù)據(jù)庫(kù)?說(shuō)一說(shuō)NoSQL數(shù)據(jù)庫(kù)的幾個(gè)優(yōu)點(diǎn)?
4抚太、NoSQL數(shù)據(jù)庫(kù)有哪些類型?
5、MySQL與MongoDB之間最基本的差別是什么?
6昔案、你怎么比較MongoDB尿贫、CouchDB及CouchBase?
7、MongoDB成為最好NoSQL數(shù)據(jù)庫(kù)的原因是什么?
8踏揣、journal回放在條目(entry)不完整時(shí)(比如恰巧有一個(gè)中途故障了)會(huì)遇到問(wèn)題嗎?
9庆亡、分析器在MongoDB中的作用是什么?
10、名字空間(namespace)是什么?
11捞稿、 如果用戶移除對(duì)象的屬性又谋,該屬性是否從存儲(chǔ)層中刪除?
12、能否使用日志特征進(jìn)行安全備份?
13娱局、允許空值null嗎?
14彰亥、更新操作立刻fsync到磁盤?
15、如何執(zhí)行事務(wù)/加鎖?
16衰齐、為什么我的數(shù)據(jù)文件如此龐大?
17任斋、啟用備份故障恢復(fù)需要多久?
18、什么是master或primary?
19耻涛、什么是secondary或slave?
20废酷、我必須調(diào)用getLastError來(lái)確保寫操作生效了么?
21、我應(yīng)該啟動(dòng)一個(gè)集群分片(sharded)還是一個(gè)非集群分片的 MongoDB 環(huán)境?
22抹缕、分片(sharding)和復(fù)制(replication)是怎樣工作的?
23澈蟆、數(shù)據(jù)在什么時(shí)候才會(huì)擴(kuò)展到多個(gè)分片(shard)里?
24、當(dāng)我試圖更新一個(gè)正在被遷移的塊(chunk)上的文檔時(shí)會(huì)發(fā)生什么?
25卓研、如果在一個(gè)分片(shard)停止或者很慢的時(shí)候趴俘,我發(fā)起一個(gè)查詢會(huì)怎樣?
26、我可以把moveChunk目錄里的舊文件刪除嗎?
27、我怎么查看 Mongo 正在使用的鏈接?
28哮幢、如果塊移動(dòng)操作(moveChunk)失敗了带膀,我需要手動(dòng)清除部分轉(zhuǎn)移的文檔嗎?
29、如果我在使用復(fù)制技術(shù)(replication)橙垢,可以一部分使用日志(journaling)而其他部分則不使用嗎?
30垛叨、當(dāng)更新一個(gè)正在被遷移的塊(Chunk)上的文檔時(shí)會(huì)發(fā)生什么?
31柜某、MongoDB在A:{B,C}上建立索引嗽元,查詢A:{B,C}和A:{C,B}都會(huì)使用索引嗎?
32喂击、如果一個(gè)分片(Shard)停止或很慢的時(shí)候剂癌,發(fā)起一個(gè)查詢會(huì)怎樣?
33翰绊、MongoDB支持存儲(chǔ)過(guò)程嗎佩谷?如果支持的話,怎么用监嗜?
34谐檀、如何理解MongoDB中的GridFS機(jī)制,MongoDB為何使用GridFS來(lái)存儲(chǔ)文件裁奇?
35桐猬、什么是NoSQL數(shù)據(jù)庫(kù)?NoSQL和RDBMS有什么區(qū)別刽肠?在哪些情況下使用和不使用NoSQL數(shù)據(jù)庫(kù)溃肪?
36、MongoDB支持存儲(chǔ)過(guò)程嗎音五?如果支持的話惫撰,怎么用?
37躺涝、如何理解MongoDB中的GridFS機(jī)制厨钻,MongoDB為何使用GridFS來(lái)存儲(chǔ)文件?
38诞挨、為什么MongoDB的數(shù)據(jù)文件很大?
39呢蛤、當(dāng)更新一個(gè)正在被遷移的塊(Chunk)上的文檔時(shí)會(huì)發(fā)生什么惶傻?
40、MongoDB在A:{B,C}上建立索引其障,查詢A:{B,C}和A:{C,B}都會(huì)使用索引嗎银室?
41、如果一個(gè)分片(Shard)停止或很慢的時(shí)候,發(fā)起一個(gè)查詢會(huì)怎樣蜈敢?
42辜荠、分析器在MongoDB中的作用是什么?
43、如果用戶移除對(duì)象的屬性抓狭,該屬性是否從存儲(chǔ)層中刪除伯病?
44、能否使用日志特征進(jìn)行安全備份否过?
45午笛、更新操作立刻fsync到磁盤?
46苗桂、如何執(zhí)行事務(wù)/加鎖药磺?
47、什么是master或primary煤伟?
48癌佩、getLastError的作用
49、分片(sharding)和復(fù)制(replication)是怎樣工作的便锨?
50围辙、數(shù)據(jù)在什么時(shí)候才會(huì)擴(kuò)展到多個(gè)分片(shard)里?
51鸿秆、 當(dāng)我試圖更新一個(gè)正在被遷移的塊(chunk)上的文檔時(shí)會(huì)發(fā)生什么酌畜?
52、 我怎么查看 Mongo 正在使用的鏈接卿叽?
53桥胞、mongodb的結(jié)構(gòu)介紹
54、數(shù)據(jù)庫(kù)的整體結(jié)構(gòu)
55考婴、MongoDB是由哪種語(yǔ)言寫的?
56贩虾、MongoDB的優(yōu)勢(shì)有哪些?
57、什么是集合?
58沥阱、什么是文檔?
59缎罢、什么是”mongod“
60、"mongod"參數(shù)有什么
61考杉、什么是"mongo"
62策精、MongoDB哪個(gè)命令可以切換數(shù)據(jù)庫(kù)
63、什么是非關(guān)系型數(shù)據(jù)庫(kù)
64崇棠、非關(guān)系型數(shù)據(jù)庫(kù)有哪些類型
65咽袜、為什么用MOngoDB?
66枕稀、在哪些場(chǎng)景使用MongoDB
67询刹、MongoDB中的命名空間是什么意思?
68谜嫉、哪些語(yǔ)言支持MongoDB?
69、在MongoDB中如何創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)
70凹联、在MongoDB中如何查看數(shù)據(jù)庫(kù)列表
71沐兰、MongoDB中的分片是什么意思
72、如何查看使用MongoDB的連接Sharding - MongoDB Manual21.如何查看使用MongoDB的連接
73蔽挠、什么是復(fù)制
74住闯、在MongoDB中如何在集合中插入一個(gè)文檔
75、在MongoDB中如何除去一個(gè)數(shù)據(jù)庫(kù)Collection Methods24.在MongoDB中如何除去一個(gè)數(shù)據(jù)庫(kù)
76象泵、在MongoDB中如何創(chuàng)建一個(gè)集合
77寞秃、在MongoDB中如何查看一個(gè)已經(jīng)創(chuàng)建的集合
78、在MongoDB中如何刪除一個(gè)集合
79偶惠、為什么要在MongoDB中使用分析器
80春寿、MongoDB支持主鍵外鍵關(guān)系嗎
81、MongoDB支持哪些數(shù)據(jù)類型
82忽孽、為什么要在MongoDB中用"Code"數(shù)據(jù)類型
83绑改、為什么要在MongoDB中用"Regular Expression"數(shù)據(jù)類型
84、為什么在MongoDB中使用"Object ID"數(shù)據(jù)類型
85兄一、如何在集合中插入一個(gè)文檔
86厘线、"ObjectID"有哪些部分組成
87、在MongoDb中什么是索引
88、如何添加索引
89、用什么方法可以格式化輸出結(jié)果
90泼诱、如何使用"AND"或"OR"條件循環(huán)查詢集合中的文檔
91、在MongoDB中如何更新數(shù)據(jù)
92耳璧、如何刪除文檔
93、在MongoDB中如何排序
94展箱、什么是聚合
95旨枯、在MongoDB中什么是副本集
專題13:Spring
1、不同版本的 Spring Framework 有哪些主要功能混驰?
2攀隔、什么是 Spring Framework?
3栖榨、列舉 Spring Framework 的優(yōu)點(diǎn)昆汹。
4、Spring Framework 有哪些不同的功能婴栽?
5满粗、Spring Framework 中有多少個(gè)模塊,它們分別是什么居夹?
6败潦、什么是 Spring 配置文件?
7准脂、Spring 應(yīng)用程序有哪些不同組件劫扒?
8、使用 Spring 有哪些方式狸膏?
9沟饥、什么是 Spring IOC 容器?
10湾戳、什么是依賴注入贤旷?
11、可以通過(guò)多少種方式完成依賴注入砾脑?
12幼驶、區(qū)分構(gòu)造函數(shù)注入和 setter 注入
13、spring 中有多少種 IOC 容器韧衣?
14盅藻、區(qū)分 BeanFactory 和 ApplicationContext。
15畅铭、列舉 IoC 的一些好處氏淑。
16、Spring IoC 的實(shí)現(xiàn)機(jī)制硕噩。
17假残、什么是 spring bean?
18炉擅、spring 提供了哪些配置方式辉懒?
19、spring 支持集中 bean scope坑资?
20耗帕、spring bean 容器的生命周期是什么樣的?
21袱贮、什么是 spring 的內(nèi)部 bean仿便?
22、什么是 spring 裝配
23攒巍、自動(dòng)裝配有哪些方式嗽仪?
24、自動(dòng)裝配有什么局限柒莉?
25闻坚、什么是基于注解的容器配置
26、如何在 spring 中啟動(dòng)注解裝配兢孝?
27窿凤、@Component, @Controller, @Repository
28仅偎、@Required 注解有什么用?
29雳殊、@Autowired 注解有什么用橘沥?
30、@Qualifier 注解有什么用夯秃?
31座咆、@RequestMapping 注解有什么用?
32仓洼、spring DAO 有什么用介陶?
33、列舉 Spring DAO 拋出的異常色建。
34哺呜、spring JDBC API 中存在哪些類?
35箕戳、使用 Spring 訪問(wèn) Hibernate 的方法有哪些弦牡?
36、列舉 spring 支持的事務(wù)管理類型
37漂羊、spring 支持哪些 ORM 框架
37驾锰、spring 支持哪些 ORM 框架
39、什么是 Aspect走越?
40椭豫、什么是切點(diǎn)(JoinPoint)
41、什么是通知(Advice)旨指?
42赏酥、有哪些類型的通知(Advice)?
43谆构、指出在 spring aop 中 concern 和 cross-cuttingconcern 的不同之處裸扶。
44、AOP 有哪些實(shí)現(xiàn)方式搬素?
45呵晨、Spring AOP and AspectJ AOP 有什么區(qū)別?
46熬尺、如何理解 Spring 中的代理摸屠?
47、什么是編織(Weaving)粱哼?
48季二、Spring MVC 框架有什么用?
49、描述一下 DispatcherServlet 的工作流程
50胯舷、介紹一下 WebApplicationContext
51刻蚯、什么是 spring?
52、使用 Spring 框架的好處是什么桑嘶?
53芦倒、Spring 由哪些模塊組成?
54、Spring的IOC和AOP機(jī)制
55不翩、Spring中Autowired和Resource關(guān)鍵字的區(qū)別
56、依賴注入的方式有幾種麻裳,各是什么?
57口蝠、講一下什么是Spring
58、Spring MVC流程
59津坑、springMVC是什么
60妙蔗、SpringMVC怎么樣設(shè)定重定向和轉(zhuǎn)發(fā)的?
61疆瑰、SpringMVC常用的注解有哪些
62眉反、Spring的AOP理解
63、Spring的IOC理解
64穆役、解釋一下spring bean的生命周期
65寸五、解釋Spring支持的幾種bean的作用域。
66耿币、Spring基于xml注入bean的幾種方式
67梳杏、Spring框架中都用到了哪些設(shè)計(jì)模式
68、核心容器(應(yīng)用上下文) 模塊
69淹接、BeanFactory – BeanFactory 實(shí)現(xiàn)舉例十性。
70、XMLBeanFactory
71塑悼、解釋 AOP 模塊
72劲适、解釋 JDBC 抽象和 DAO 模塊。
72厢蒜、解釋對(duì)象/關(guān)系映射集成模塊霞势。
73、解釋 WEB 模塊斑鸦。
74支示、Spring 配置文件
75、什么是 Spring IOC 容器鄙才?
76颂鸿、IOC 的優(yōu)點(diǎn)是什么?
77攒庵、ApplicationContext 通常的實(shí)現(xiàn)是什么?
78嘴纺、Bean 工廠和 Application contexts 有什么區(qū)別败晴?
79、一個(gè) Spring 的應(yīng)用看起來(lái)象什么栽渴?
80尖坤、什么是 Spring 的依賴注入?
81闲擦、有哪些不同類型的 IOC(依賴注入)方式逝钥?
82写穴、哪種依賴注入方式你建議使用,構(gòu)造器注入,還是 Setter方法注入姥份?
83族操、什么是 Spring beans?
84交胚、一個(gè) Spring Bean 定義 包含什么际邻?
85、如何給 Spring 容器提供配置元數(shù)據(jù)?
86腔彰、你怎樣定義類的作用域?
87叫编、解釋 Spring 支持的幾種 bean 的作用域。
88霹抛、Spring 框架中的單例 bean 是線程安全的嗎?
89搓逾、解釋 Spring 框架中 bean 的生命周期。
90杯拐、哪些是重要的 bean 生命周期方法恃逻?你能重載它們嗎?
91藕施、什么是 Spring 的內(nèi)部 bean寇损?
92、在 Spring 中如何注入一個(gè) java 集合裳食?
93矛市、什么是 bean 裝配?
94、什么是 bean 的自動(dòng)裝配诲祸?
95浊吏、解釋不同方式的自動(dòng)裝配 。
96救氯、自動(dòng)裝配有哪些局限性
97找田、你可以在 Spring 中注入一個(gè) null 和一個(gè)空字符串嗎?
98着憨、什么是基于 Java 的 Spring 注解配置? 給一些注解的例子.
99墩衙、什么是基于注解的容器配置?
100、怎樣開啟注解裝配?
101漆改、@Required 注解
102心铃、@Autowired 注解
103、@Qualifier 注解
104挫剑、在 Spring 框架中如何更有效地使用 JDBC?
105去扣、JdbcTemplate
106、Spring 對(duì) DAO 的支持
107樊破、使用 Spring 通過(guò)什么方式訪問(wèn) Hibernate?
108愉棱、Spring 支持的 ORM
109、如何通過(guò) HibernateDaoSupport 將 Spring 和 Hibernate結(jié)合起來(lái)哲戚?
110奔滑、Spring 支持的事務(wù)管理類型
111、Spring 框架的事務(wù)管理有哪些優(yōu)點(diǎn)惫恼?
112、你更傾向用哪種事務(wù)管理類型澳盐?
113祈纯、解釋 AOP
114、Aspect 切面
115叼耙、在 Spring AOP 中腕窥,關(guān)注點(diǎn)和橫切關(guān)注的區(qū)別是什么?
116筛婉、連接點(diǎn)
117簇爆、通知
118、切點(diǎn)
119爽撒、什么是引入?
120入蛆、什么是目標(biāo)對(duì)象?
121、什么是代理?
122硕勿、有幾種不同類型的自動(dòng)代理哨毁?
123、什么是織入源武。什么是植入應(yīng)用的不同點(diǎn)扼褪?
124、解釋基于 XML Schema 方式的切面實(shí)現(xiàn)粱栖。
125话浇、解釋基于注解的切面實(shí)現(xiàn)
126、什么是 Spring 的 MVC 框架闹究?
127幔崖、DispatcherServlet
128、WebApplicationContext
129、什么是 Spring MVC 框架的控制器岖瑰?
130叛买、@Controller 注解
131、@RequestMapping 注解
專題14:Spring Boot
1蹋订、什么是 Spring Boot率挣?
2、為什么要用SpringBoot
3露戒、Spring Boot 有哪些優(yōu)點(diǎn)椒功?
4、Spring Boot 的核心注解是哪個(gè)智什?它主要由哪幾個(gè)注解組成的动漾?
5、運(yùn)行Spring Boot有哪幾種方式?
6荠锭、如何理解 Spring Boot 中的 Starters旱眯?
7、如何在Spring Boot啟動(dòng)的時(shí)候運(yùn)行一些特定的代碼证九?
8删豺、Spring Boot 需要獨(dú)立的容器運(yùn)行嗎?
9愧怜、Spring Boot中的監(jiān)視器是什么呀页?
10、如何使用Spring Boot實(shí)現(xiàn)異常處理拥坛?
11蓬蝶、你如何理解 Spring Boot 中的 Starters
12、springboot常用的starter有哪些?
13猜惋、SpringBoot 實(shí)現(xiàn)熱部署有哪幾種方式?
14丸氛、如何理解 Spring Boot 配置加載順序
15、Spring Boot 的核心配置文件有哪幾個(gè)著摔?它們的區(qū)別是什么雪位?
16、如何集成 Spring Boot 和 ActiveMQ
17梨撞、什么是 JavaConfig雹洗?
18、如何重新加載 Spring Boot 上的更改卧波,而無(wú)需重新啟動(dòng)服務(wù)器时肿?
19、Spring Boot 中的監(jiān)視器是什么港粱?
20螃成、如何在 Spring Boot 中禁用 Actuator 端點(diǎn)安全性旦签?
21、如何在自定義端口上運(yùn)行 Spring Boot 應(yīng)用程序寸宏?
22宁炫、什么是 YAML?
23氮凝、如何實(shí)現(xiàn) Spring Boot 應(yīng)用程序的安全性羔巢?
24、如何集成 Spring Boot 和 ActiveMQ罩阵?
25竿秆、如何使用 Spring Boot 實(shí)現(xiàn)分頁(yè)和排序?
26稿壁、什么是 Swagger幽钢?你用 Spring Boot 實(shí)現(xiàn)了它嗎?
27傅是、什么是 Spring Profiles匪燕?
28、什么是 Spring Batch喧笔?
29帽驯、什么是 FreeMarker 模板?
30溃斋、如何使用 Spring Boot 實(shí)現(xiàn)異常處理界拦?
31吸申、您使用了哪些 starter maven 依賴項(xiàng)梗劫?
32、什么是 CSRF 攻擊截碴?
33梳侨、什么是 WebSockets?
34日丹、什么是 AOP走哺?
35、什么是 Apache Kafka哲虾?
36丙躏、我們?nèi)绾伪O(jiān)視所有 Spring Boot 微服務(wù)步氏?
37腰耙、Spring Boot 的配置文件有哪幾種格式?它們有什么區(qū)別掷邦?
38汪诉、開啟 Spring Boot 特性有哪幾種方式废恋?
39谈秫、Spring Boot 的目錄結(jié)構(gòu)是怎樣的?
40鱼鼓、運(yùn)行 Spring Boot 有哪幾種方式拟烫?
41、Spring Boot 自動(dòng)配置原理是什么迄本?
42硕淑、如何在 Spring Boot 啟動(dòng)的時(shí)候運(yùn)行一些特定的代碼?
43岸梨、Spring Boot 有哪幾種讀取配置的方式喜颁?
44、Spring Boot 支持哪些日志框架曹阔?推薦和默認(rèn)的日志框架是哪個(gè)半开?
45、Spring Boot 如何定義多套不同環(huán)境配置赃份?
46寂拆、Spring Boot 可以兼容老 Spring 項(xiàng)目嗎,如何做抓韩?
47纠永、保護(hù) Spring Boot 應(yīng)用有哪些方法?
48谒拴、Spring Boot 2.X 有什么新特性尝江?與 1.X 有什么區(qū)別?
49英上、如何重新加載Spring Boot上的更改炭序,而無(wú)需重新啟動(dòng)服務(wù)器?
50苍日、springboot集成mybatis的過(guò)程
51惭聂、Spring Boot、Spring MVC 和 Spring 有什么區(qū)別相恃?
52辜纲、什么是 Spring Boot Stater ?
53拦耐、Spring Boot 還提供了其它的哪些 Starter Project Options耕腾?
54、Spring 是如何快速創(chuàng)建產(chǎn)品就緒應(yīng)用程序的杀糯?
55扫俺、創(chuàng)建一個(gè) Spring Boot Project 的最簡(jiǎn)單的方法是什么?
56火脉、Spring Initializr 是創(chuàng)建 Spring Boot Projects 的唯一方法嗎牵舵?
57柒啤、如何使用 SpringBoot 自動(dòng)重裝我的應(yīng)用程序?
58畸颅、 什么是嵌入式服務(wù)器担巩?我們?yōu)槭裁匆褂们度胧椒?wù)器呢?
59、如何在 Spring Boot 中添加通用的 JS 代碼没炒?
60涛癌、什么是 Spring Date?
61送火、什么是 Spring Data REST?
62拳话、path=”users”, collectionResourceRel=”users” 如何與 Spring Data Rest 一起使用?
63种吸、當(dāng) Spring Boot 應(yīng)用程序作為 Java 應(yīng)用程序運(yùn)行時(shí)弃衍,后臺(tái)會(huì)發(fā)生什么?
64坚俗、我們能否在 spring-boot-starter-web 中用 jetty 代替 tomcat镜盯?
65、如何使用 Spring Boot 生成一個(gè) WAR 文件猖败?
66速缆、如何使用 Spring Boot 部署到不同的服務(wù)器?
67恩闻、RequestMapping 和 GetMapping 的不同之處在哪里艺糜?
68、為什么我們不建議在實(shí)際的應(yīng)用程序中使用 Spring Data Rest?
69幢尚、在 Spring Initializer 中破停,如何改變一個(gè)項(xiàng)目的包名字?
70侠草、可以配置 application.propertierde 的完整的屬性列表在哪里可以找到辱挥?
71犁嗅、JPA 和 Hibernate 有哪些區(qū)別边涕?
72、使用 Spring Boot 啟動(dòng)連接到內(nèi)存數(shù)據(jù)庫(kù) H2 的 JPA 應(yīng)用程序需要哪些依賴項(xiàng)褂微?
73功蜓、如何不通過(guò)任何配置來(lái)選擇 Hibernate 作為 JPA 的默認(rèn)實(shí)現(xiàn)?
74宠蚂、指定的數(shù)據(jù)庫(kù)連接信息在哪里式撼?它是如何知道自動(dòng)連接至 H2 的?
75求厕、我們?nèi)绾芜B接一個(gè)像 MSSQL 或者 orcale 一樣的外部數(shù)據(jù)庫(kù)著隆?
76扰楼、Spring Boot 配置的默認(rèn) H2 數(shù)據(jù)庫(kù)的名字是上面?為什么默認(rèn)的數(shù)據(jù)庫(kù)名字是 testdb美浦?
77弦赖、如果 H2 不在類路徑里面,會(huì)出現(xiàn)上面情況浦辨?
78蹬竖、你能否舉一個(gè)以 ReadOnly 為事務(wù)管理的例子?
79流酬、發(fā)布 Spring Boot 用戶應(yīng)用程序自定義配置的最好方法是什么币厕?
80、配置文件的需求是什么芽腾?
81旦装、如何使用配置文件通過(guò) Spring Boot 配置特定環(huán)境的配置?
82摊滔、我們?nèi)绾问褂肕aven設(shè)置Spring Boot應(yīng)用程序同辣?
83、如何禁用特定的自動(dòng)配置惭载?
84旱函、Spring boot支持哪些外部配置?
85描滔、如何對(duì)Spring Boot應(yīng)用進(jìn)行測(cè)試棒妨?
86、Spring Boot Actuator有什么用含长?
87券腔、SpringBoot 中靜態(tài)首頁(yè)默認(rèn)位置可以放在哪里?
89拘泞、SpringBoot 中靜態(tài)資源直接映射的優(yōu)先級(jí)是怎樣的纷纫?
90、繼承 WebMvcConfigurerAdapter 抽象類陪腌,常用的重寫方法列舉幾個(gè)辱魁?
91、@SpringBootApplication 引入了哪3個(gè)重要的注解诗鸭?
92染簇、@SpringBootApplication 注解中的屬性相當(dāng)于哪幾個(gè)注解?
哎强岸,這個(gè)題目實(shí)在是太多太多了锻弓,前面列舉了14個(gè)方向的題就有近1000+
專題15:Spring Cloud
1、什么是Spring Cloud?
2蝌箍、使用Spring Cloud有什么優(yōu)勢(shì)?
3青灼、服務(wù)注冊(cè)和發(fā)現(xiàn)是什么意思?Spring Cloud如何實(shí)現(xiàn)?
4暴心、負(fù)載平衡的意義什么?
5、什么是 Hystrix?它如何實(shí)現(xiàn)容錯(cuò)?
6杂拨、什么是 Hystrix斷路器?我們需要它嗎?
7酷勺、什么是Netflix Feign?它的優(yōu)點(diǎn)是什么?
8、什么是 Spring Cloud Bus?我們需要它嗎?
9扳躬、什么是微服務(wù)
10脆诉、什么是服務(wù)熔斷?什么是服務(wù)降級(jí)
11、Eureka和zookeeper都可以提供服務(wù)注冊(cè)與發(fā)現(xiàn)的功能贷币,請(qǐng)說(shuō)說(shuō)兩個(gè)的區(qū)別?
12.SpringBoot和SpringCloud的區(qū)別?
13击胜、什么是Hystrix斷路器?我們需要它嗎
14、說(shuō)說(shuō)RPC 的實(shí)現(xiàn)原理
15役纹、微服務(wù)的優(yōu)點(diǎn)缺點(diǎn)?說(shuō)下開發(fā)項(xiàng)目中遇到的坑?
16.spring cloud和dubbo區(qū)別?
17偶摔、REST 和RPC對(duì)比
18、你所知道的微服務(wù)技術(shù)棧?
19促脉、微服務(wù)之間是如何獨(dú)立通訊的?
20辰斋、springcloud如何實(shí)現(xiàn)服務(wù)的注冊(cè)?
21、Eureka和Zookeeper區(qū)別
22瘸味、eureka自我保護(hù)機(jī)制是什么?
23宫仗、什么是Ribbon?
24、什么是feigin?它的優(yōu)點(diǎn)是什么?
25旁仿、Ribbon和Feign的區(qū)別?
26泥彤、什么是Spring Cloud Bus?
27锯厢、springcloud斷路器作用?
28福扬、Spring Cloud Gateway?
29昆咽、作為服務(wù)注冊(cè)中心,Eureka比Zookeeper好在哪里?
30尘奏、什么是Ribbon負(fù)載均衡?
31滩褥、Ribbon負(fù)載均衡能干什么?
32、什么是zuul路由網(wǎng)關(guān)
33炫加、分布式配置中心能干嘛?
34瑰煎、Hystrix相關(guān)注解
35、Eureka和zookeeper都可以提供服務(wù)注冊(cè)與發(fā)現(xiàn)的功能琢感,請(qǐng)說(shuō)說(shuō)兩個(gè)的區(qū)別?
專題16:RabbitMQ
1丢间、什么是 rabbitmq
2探熔、為什么要使用rabbitmq
3驹针、使用rabbitmq 的場(chǎng)景
4、如何確保消息正確地發(fā)送至RabbitMQ?如何確保消息接收方消費(fèi)了消息?
5诀艰、如何避免消息重復(fù)投遞或重復(fù)消費(fèi)?
6柬甥、消息基于什么傳輸?
7饮六、消息如何分發(fā)?
8、消息怎么路由?
9苛蒲、如何確保消息不丟失?
10卤橄、使用RabbitMQ有什么好處?
11、RabbitMQ的集群
12臂外、mq的缺點(diǎn)
13.Kafka窟扑、ActiveMQ、RabbitMQ. RocketMQ都有什么區(qū)別?
14漏健、如何保證高可用的?
15嚎货、如何保證消息的可靠傳輸?如果消息丟了怎么辦
16、如何保證消息的順序性
17蔫浆、如何解決消息隊(duì)列的延時(shí)以及過(guò)期失效問(wèn)題?消息隊(duì)列滿了以后該怎么處理?有幾百萬(wàn)消息持續(xù)積壓幾小時(shí)殖属,說(shuō)說(shuō)怎么解決
18、設(shè)計(jì)MQ的思路
19瓦盛、什么是Message?
20洗显、什么是Publisher ?
21、什么是Exchange(將消息路由給隊(duì)列)
22原环、什么是Binding (消息隊(duì)列和交換器之間的關(guān)聯(lián))
23挠唆、什么是Queue?
24、什么是Connection ?
25嘱吗、什么是Channel?
26损搬、什么是Consumer ?
27、什么是Virtual Host ?
28柜与、什么是Broker?
29巧勤、Exchange類型?
30、Direct 鍵(routing key)分布?
31弄匕、Fanout(廣播分發(fā))?
32.topic交換器(模式匹配)?
專題17:Dubbo
1颅悉、為什么要用 Dubbo?
2、Dubbo的整體架構(gòu)設(shè)計(jì)有哪些分層?
3迁匠、默認(rèn)使用的是什么通信框架剩瓶,還有別的選擇嗎?
4、服務(wù)調(diào)用是阻塞的嗎?
5城丧、一般使用什么注冊(cè)中心?還有別的選擇嗎?
6延曙、默認(rèn)使用什么序列化框架,你知道的還有哪些?
7亡哄、服務(wù)提供者能實(shí)現(xiàn)失效踢出是什么原理?
8枝缔、服務(wù)上線怎么不影響舊版本?
9、如何解決服務(wù)調(diào)用鏈過(guò)長(zhǎng)的問(wèn)題?
10、說(shuō)說(shuō)核心的配置有哪些?
11愿卸、Dubbo 推薦用什么協(xié)議?
12灵临、同一個(gè)服務(wù)多個(gè)注冊(cè)的情況下可以直連某一個(gè)服務(wù)嗎?
13、畫一畫服務(wù)注冊(cè)與發(fā)現(xiàn)的流程圖?
14趴荸、Dubbo集群容錯(cuò)有幾種方案?
15儒溉、Dubbo 服務(wù)降級(jí),失敗重試怎么做?
16发钝、Dubbo使用過(guò)程中都遇到了些什么問(wèn)題?
17顿涣、Dubbo Monitor實(shí)現(xiàn)原理?
18、Dubbo用到哪些設(shè)計(jì)模式?
19酝豪、Dubbo 配置文件是如何加載到 Spring 中的?
20园骆、Dubbo SPI和Java SPI區(qū)別?
21、Dubbo支持分布式事務(wù)嗎?
22寓调、Dubbo可以對(duì)結(jié)果進(jìn)行緩存嗎?
23锌唾、服務(wù)上線怎么兼容舊版本?
24、Dubbo 必須依賴的包有哪些?
25夺英、Dubbo telnet命令能做什么?
26晌涕、Dubbo支持服務(wù)降級(jí)嗎?
27、Dubbo如何優(yōu)雅停機(jī)?
28痛悯、Dubbo和Dubbox之間的區(qū)別?
29余黎、Dubbo和Spring Cloud的區(qū)別?
30、你還了解別的分布式框架嗎?
31载萌、Dubbo是什么?
32惧财、Dubbo默認(rèn)使用什么注冊(cè)中心,還有別的選擇嗎?
33扭仁、Dubbo有哪幾種配置方式?
34垮衷、在Provider上可以配置的Consumer 端的屬性有哪些?
35、Dubbo啟動(dòng)時(shí)如果依賴的服務(wù)不可用會(huì)怎樣?
36乖坠、Dubbo推薦使用什么序列化框架搀突,你知道的還有哪些
37.Dubbo有哪幾種負(fù)載均衡策略,默認(rèn)是哪種?
38熊泵、注冊(cè)了多個(gè)同一樣的服務(wù)仰迁,如果測(cè)試指定的某一個(gè)服務(wù)呢?
39、Dubbo支持服務(wù)多協(xié)議嗎?
40顽分、當(dāng)一個(gè)服務(wù)接口有多種實(shí)現(xiàn)時(shí)怎么做?
41徐许、服務(wù)上線怎么兼容舊版本?
42、Dubbo可以對(duì)結(jié)果進(jìn)行緩存嗎?
43卒蘸、Dubbo服務(wù)之間的調(diào)用是阻塞的嗎?
44雌隅、Dubbo支持分布式事務(wù)嗎?
45、Dubbo支持服務(wù)降級(jí)嗎?
46、Dubbo如何優(yōu)雅停機(jī)?
47澄步、服務(wù)提供者能實(shí)現(xiàn)失效踢出是什么原理?
48冰蘑、如何解決服務(wù)調(diào)用鏈過(guò)長(zhǎng)的問(wèn)題?
49和泌、服務(wù)讀寫推薦的容錯(cuò)策略是怎樣的?
50村缸、Dubbo必須依賴的包有哪些?
51、Dubbo的管理控制臺(tái)能做什么?
52武氓、說(shuō)說(shuō)Dubbo 服務(wù)暴露的過(guò)程梯皿。
53.Dubbo 停止維護(hù)了嗎?
54、Dubbo和 Dubbox有什么區(qū)別?
55县恕、你還了解別的分布式框架嗎?
56东羹、Dubbo 能集成Spring Boot嗎?
57、在使用過(guò)程中都遇到了些什么問(wèn)題?
58忠烛、你讀過(guò)Dubbo的源碼嗎?
59属提、你覺得用Dubbo好還是Spring Cloud好?
專題18:MyBatis
1、什么是 Mybatis?
2美尸、Mybaits 的優(yōu)點(diǎn)
3冤议、MyBatis框架的缺點(diǎn)
4、MyBatis框架適用場(chǎng)合
5师坎、MyBatis 與 Hibernate有哪些不同?
6恕酸、#梧和$的區(qū)別是什么?
7、當(dāng)實(shí)體類中的屬性名和表中的字段名不一樣胯陋,怎么辦?
8蕊温、模糊查詢like語(yǔ)句該怎么寫?
9、通扯羟牵—個(gè)Xml映射文件义矛,都會(huì)寫一個(gè)Dao接口與之對(duì)應(yīng),請(qǐng)問(wèn)盟萨,這個(gè)Dao接口的工作l原理是什么? Dao接口里的方法症革,參數(shù)不同時(shí),方法能重載嗎?
13鸯旁、如何獲取自動(dòng)生成的(主)鍵值?
14噪矛、在mapper 中如何傳遞多個(gè)參數(shù)?
15、Mybatis動(dòng)態(tài) sql有什么用?執(zhí)行原理?有哪些動(dòng)態(tài)sql?
16铺罢、Xml映射文件中艇挨,除了常見的select|insertlupdaeldelete標(biāo)簽之外,還有哪些標(biāo)簽?
17韭赘、Mybatis的Xml映射文件中缩滨,不同的Xml映射文件, id是否可以重復(fù)?
18、為什么說(shuō) Mybatis是半自動(dòng)ORM映射工具?它與全自動(dòng)的區(qū)別在哪里?
19脉漏、一對(duì)一苞冯、一對(duì)多的關(guān)聯(lián)查詢?
20、MyBatis 實(shí)現(xiàn)一對(duì)一有幾種方式?具體怎么操作的?
21侧巨、MyBatis 實(shí)現(xiàn)一對(duì)多有幾種方式,怎么操作的?
22舅锄、Mybatis是否支持延遲加載?如果支持,它的實(shí)現(xiàn)原理是什么?
23司忱、Mybatis 的一級(jí)皇忿、二級(jí)緩存
24、什么是 MyBatis 的接口綁定?有哪些實(shí)現(xiàn)方式?
25坦仍、使用MyBatis的 mapper 接口調(diào)用時(shí)有哪些要求?
26鳍烁、Mapper編寫有哪幾種方式?
27、簡(jiǎn)述Mybatis的插件運(yùn)行原理繁扎,以及如何編寫一個(gè)插件幔荒。
28、MyBatis實(shí)現(xiàn)一對(duì)一有幾種方式?具體怎么操作的?
專題19:ZooKeeper
1梳玫、什么是Zookeeper?
2爹梁、Zookeeper如何保證了分布式一致性特性?
3纠炮、ZooKeeper提供了什么?
4捕捂、Zookeeper文件系統(tǒng)
5玲销、ZAB協(xié)議?
6诈乒、四種類型的數(shù)據(jù)節(jié)點(diǎn)Znode
7盟步、Zookeeper Watcher 機(jī)制--數(shù)據(jù)變更通知
8蓖康、客戶端注冊(cè)Watcher 實(shí)現(xiàn)
9庶骄、服務(wù)端處理Watcher 實(shí)現(xiàn)
10陕悬、客戶端回調(diào)Watcher
11碴犬、ACL權(quán)限控制機(jī)制
12絮宁、Chroot特性
13、會(huì)話管理
14服协、服務(wù)器角色
15绍昂、Zookeeper 下 Server 工作狀態(tài)
16、數(shù)據(jù)同步
17偿荷、zookeeper 是如何保證事務(wù)的順序—致性的?
18窘游、zk節(jié)點(diǎn)宕機(jī)如何處理?
19、zookeeper負(fù)載均衡和nginx負(fù)載均衡區(qū)別
20跳纳、分布式集群中為什么會(huì)有Master?
21忍饰、Zookeeper有哪幾種幾種部署模式?
22、集群最少要幾臺(tái)機(jī)器寺庄,集群規(guī)則是怎樣的?
23艾蓝、集群支持動(dòng)態(tài)添加機(jī)器嗎?
24力崇、Zookeeper 對(duì)節(jié)點(diǎn)的watch監(jiān)聽通知是永久的嗎?為什么不是永久的?
25、Zookeeper的java客戶端都有哪些?
26赢织、chubby是什么亮靴,和zookeeper比你怎么看?
27、說(shuō)幾個(gè)zookeeper '常用的命令于置。
28茧吊、ZAB和Paxos算法的聯(lián)系與區(qū)別?
29、Zookeeper的典型應(yīng)用場(chǎng)景
30俱两、數(shù)據(jù)發(fā)布/訂閱
31饱狂、zk 的命名服務(wù)
32曹步、分布式通知和協(xié)調(diào)
33宪彩、k的命名服務(wù)(文件系統(tǒng))
34、zk的配置管理(文件系統(tǒng)讲婚、通知機(jī)制)
35尿孔、Zookeeper 集群管理(文件系統(tǒng)、通知機(jī)制)
36筹麸、Zookeeper分布式鎖(文件系統(tǒng)活合、通知機(jī)制)
37、Zookeeper隊(duì)列管理(文件系統(tǒng)物赶、通知機(jī)制)
38白指、Zookeeper 角色
39、事務(wù)編號(hào)Zxid(事務(wù)請(qǐng)求計(jì)數(shù)器+epoch)
40酵紫、epoch
41告嘲、Zab 協(xié)議有兩種模式-恢復(fù)模式(選主)、廣播模式(同步)
42.Leader election(選舉階段-選出準(zhǔn)Leader)
43奖地、Discovery(發(fā)現(xiàn)階段-接受提議橄唬、生成epoch、接受epoch)
44.Synchronization(同步階段-同步 follower副本)
45参歹、Broadcast(廣播階段-leader消息廣播)
46仰楚、ZAB協(xié)議JAVA實(shí)現(xiàn)(FLE-發(fā)現(xiàn)階段和同步合并為Recovery Phase (恢復(fù)階段))
47、投票機(jī)制
48犬庇、Zookeeper工作原理(原子廣播)
49僧界、Znode有四種形式的目錄節(jié)
專題20:數(shù)據(jù)結(jié)構(gòu)
1、棧(stack)
2臭挽、隊(duì)列(queue)
3捂襟、鏈表(Link)
4、散列表(Hash Table)
5埋哟、排序二叉樹
6笆豁、前綴樹
7郎汪、紅黑樹
8、B-TREE
9闯狱、位圖
專題21:算法
1煞赢、數(shù)據(jù)里有{1,2,3,4,5,6,7,8,9},請(qǐng)隨機(jī)打亂順序哄孤,生成一個(gè)新的數(shù)組(請(qǐng)以代碼實(shí)現(xiàn))
2照筑、寫出代碼判斷一個(gè)整數(shù)是不是2的階次方(請(qǐng)代碼實(shí)現(xiàn),謝絕調(diào)用API方法)
3瘦陈、假設(shè)今日是2015年3月1日凝危,星期日,請(qǐng)算出13個(gè)月零6天后是星期幾,距離現(xiàn)在多少天(請(qǐng)用代碼實(shí)現(xiàn)晨逝,謝絕調(diào)用API方法)
4蛾默、有兩個(gè)籃子,分別為A和B捉貌,籃子A里裝有雞蛋支鸡,籃子B里裝有蘋果,請(qǐng)用面向?qū)ο蟮乃枷雽?shí)現(xiàn)兩個(gè)籃子里的物品交換(請(qǐng)用代碼實(shí)現(xiàn))
5趁窃、二分查找
6牧挣、冒泡排序算法
7、插入排序算法
8醒陆、快速排序算法
9瀑构、希爾排序算法
10、歸并排序算法
11刨摩、桶排序算法
12寺晌、基數(shù)排序算法
13、剪枝算法
14码邻、回溯算法
15折剃、最短路徑算法
16、最小生成樹算法
17像屋、AES
18怕犁、RSA
19、CRC
20己莺、MD5
21奏甫、更多算法練習(xí)
專題22:Elasticsearc
1.elasticsearch了解多少,說(shuō)說(shuō)你們公司es的集群架構(gòu)凌受,索引數(shù)據(jù)大小阵子,分片有多少,以及一些調(diào)優(yōu)手段胜蛉。
2挠进、elasticsearch的倒排索引是什么
3色乾、elasticsearch索引數(shù)據(jù)多了怎么辦,如何調(diào)優(yōu)领突,部署
4暖璧、 elasticsearch是如何實(shí)現(xiàn)master 選舉的
5、詳細(xì)描述一下Elasticsearch 索引文檔的過(guò)程
6君旦、詳細(xì)描述一下Elasticsearch搜索的過(guò)程?
7澎办、Elasticsearch在部署時(shí),對(duì)Linux的設(shè)置有哪些優(yōu)化方法
8金砍、 lucence內(nèi)部結(jié)構(gòu)是什么?
9局蚀、Elasticsearch是如何實(shí)現(xiàn)Master選舉的?
10、Elasticsearch中的節(jié)點(diǎn)(比如共20個(gè))恕稠,其中的10個(gè)選了一個(gè)master琅绅,另外10個(gè)選了另一個(gè)master,怎么辦?
11、客戶端在和集群連接時(shí)谱俭,如何選擇特定的節(jié)點(diǎn)執(zhí)行請(qǐng)求的?
12奉件、詳細(xì)描述一下 Elasticsearch 索引文檔的過(guò)程宵蛀。
13昆著、詳細(xì)描述—下Elasticsearch更新和刪除文檔的過(guò)程
14、詳細(xì)描述—下Elasticsearch 搜索的過(guò)程
15术陶、在Elasticsearch中凑懂,是怎么根據(jù)一個(gè)詞找到對(duì)應(yīng)的倒排索引的?
16、Elasticsearch在部署時(shí)梧宫,對(duì)Linux的設(shè)置有哪些優(yōu)化方法?
17接谨、對(duì)于GC方面,在使用Elasticsearch時(shí)要注意什么?
18塘匣、Elasticsearch對(duì)于大數(shù)據(jù)量(上億量級(jí))的聚合如何實(shí)現(xiàn)?
19脓豪、在并發(fā)情況下,Elasticsearch 如果保證讀寫一致?
20忌卤、如何監(jiān)控Elasticsearch集群狀態(tài)?
21扫夜、介紹下你們電商搜索的整體技術(shù)架構(gòu)
22、介紹一下你們的個(gè)性化搜索方案?
23驰徊、是否了解字典樹?
24笤闯、拼寫糾錯(cuò)是如何實(shí)現(xiàn)的?
專題23:Kafka
1、Kafka是什么
2. partition的數(shù)據(jù)文件(offset,MessageSize, data)
3棍厂、數(shù)據(jù)文件分段segment(順序讀寫颗味、分段命令、二分
查找)
4牺弹、負(fù)載均衡(partition會(huì)均衡分布到不同broker 上)
5浦马、批量發(fā)送
6时呀、壓縮(GZIP或 Snappy)7、消費(fèi)者設(shè)計(jì)
8晶默、Consumer Group
9退唠、如何獲取topic主題的列表
10、生產(chǎn)者和消費(fèi)者的命令行是什么?
11荤胁、consumer是推還是拉?
12瞧预、講講 kafka維護(hù)消費(fèi)狀態(tài)跟蹤的方法
13、講一下主從同步
14仅政、為什么需要消息系統(tǒng),mysql不能滿足需求嗎?
15垢油、Zookeeper對(duì)于Kafka 的作用是什么?
16、Kafka判斷一個(gè)節(jié)點(diǎn)是否還活著有那兩個(gè)條件?
17圆丹、Kafka與傳統(tǒng) MQ消息系統(tǒng)之間有三個(gè)關(guān)鍵區(qū)別
18滩愁、講一講kafka的ack 的三種機(jī)制
19、消費(fèi)者如何不自動(dòng)提交偏移量辫封,由應(yīng)用提交?
20硝枉、消費(fèi)者故障,出現(xiàn)活鎖問(wèn)題如何解決?
21倦微、如何控制消費(fèi)的位置
22辛辨、kafka分布式(不是單機(jī))的情況下,如何保證消息的順序消費(fèi)?
23馋贤、kafka的高可用機(jī)制是什么?24语泽、kafka如何減少數(shù)據(jù)丟失
專題24:微服務(wù)
2、微服務(wù)架構(gòu)有哪些優(yōu)勢(shì)?
3拓劝、微服務(wù)有哪些特點(diǎn)?
4雏逾、設(shè)計(jì)微服務(wù)的最佳實(shí)踐是什么?
5、微服務(wù)架構(gòu)如何運(yùn)作?
6郑临、微服務(wù)架構(gòu)的優(yōu)缺點(diǎn)是什么?
7栖博、單片,SOA和微服務(wù)架構(gòu)有什么區(qū)別?
8厢洞、在使用微服務(wù)架構(gòu)時(shí)仇让,您面臨哪些挑戰(zhàn)?
9、SOA和微服務(wù)架構(gòu)之間的主要區(qū)別是什么?
10犀变、微服務(wù)有什么特點(diǎn)?
11妹孙、什么是領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)?
12、為什么需要域驅(qū)動(dòng)設(shè)計(jì)(DDD) ?
13获枝、什么是無(wú)所不在的語(yǔ)言?
14蠢正、什么是凝聚力?
15、什么是耦合?
16省店、什么是REST / RESTful 以及它的用途是什么?
17嚣崭、你對(duì)Spring Boot有什么了解?
18笨触、什么是Spring 引導(dǎo)的執(zhí)行器?
19、什么是Spring Cloud?
20雹舀、Spring Cloud解決了哪些問(wèn)題?
21芦劣、在 Spring MVC應(yīng)用程序中使用WebMvcTest注釋有什么用處?
22、你能否給出關(guān)于休息和微服務(wù)的要點(diǎn)?
23说榆、什么是不同類型的微服務(wù)測(cè)試?
24虚吟、您對(duì) Distributed Transaction有何了解?
25、什么是 ldempotence 以及它在哪里使用?
26签财、什么是有界上下文?
27串慰、什么是雙因素身份驗(yàn)證?
28、雙因素身份驗(yàn)證的憑據(jù)類型有哪些?
29唱蒸、什么是客戶證書?
30邦鲫、PACT在微服務(wù)架構(gòu)中的用途是什么?
31、什么是 OAuth?
32神汹、康威定律是什么?
33庆捺、合同測(cè)試你懂什么?
34、什么是端到端微服務(wù)測(cè)試?
35屁魏、Container在微服務(wù)中的用途是什么?1
36滔以、什么是微服務(wù)架構(gòu)中的DRY?
37、什么是消費(fèi)者驅(qū)動(dòng)的合同(CDC)?
38蚁堤、Web醉者,RESTful API在微服務(wù)中的作用是什么?
39、您對(duì)微服務(wù)架構(gòu)中的語(yǔ)義監(jiān)控有何了解?
40披诗、我們?nèi)绾芜M(jìn)行跨功能測(cè)試?
41、我們?nèi)绾卧跍y(cè)試中消除非決定論?
42立磁、Mock 或 Stub有什么區(qū)別?
43呈队、您對(duì)Mike Cohn 的測(cè)試金字塔了解多少?
44、Docker的目的是什么?
45唱歧、什么是金絲雀釋放?
46宪摧、什么是持續(xù)集成(CI)?
47、什么是持續(xù)監(jiān)測(cè)?
48颅崩、架構(gòu)師在微服務(wù)架構(gòu)中的角色是什么?
49几于、我們可以用微服務(wù)創(chuàng)建狀態(tài)機(jī)嗎?
50、什么是微服務(wù)中的反應(yīng)性擴(kuò)展?
專題25:Linux
1沿后、絕對(duì)路徑用什么符號(hào)表示?當(dāng)前目錄沿彭、上層目錄用什么表示?主目錄用什么表示?切換目錄用什么命令?
2、怎么查看當(dāng)前進(jìn)程?怎么執(zhí)行退出?怎么查看當(dāng)前路
徑?
3尖滚、怎么清屏?怎么退出當(dāng)前命令?怎么執(zhí)行睡眠?怎么查看當(dāng)
4喉刘、Ls命令執(zhí)行什么功能?可以帶哪些參數(shù)瞧柔,有什么區(qū)別?
5、查看文件有哪些命令
6睦裳、列舉幾個(gè)常用的Linux命令7造锅、你平時(shí)是怎么查看日志的?
8、建立軟鏈接(快捷方式)廉邑,以及硬鏈接的命令
9哥蔚、目錄創(chuàng)建用什么命令?創(chuàng)建文件用什么命令?復(fù)制文
件用什么命令?
10、查看文件內(nèi)容有哪些命令可以使用?
11蛛蒙、隨意寫文件命令?怎么向屏幕輸出帶空格的字符串肺素,比如"hello world"?
12、終端是哪個(gè)文件夾下的哪個(gè)文件?黑洞文件是哪個(gè)文件夾下的哪個(gè)命令?
13宇驾、移動(dòng)文件用哪個(gè)命令?改名用哪個(gè)命令?
14倍靡、復(fù)制文件用哪個(gè)命令?如果需要連同文件夾一塊復(fù)制呢?如果需要有提示功能呢?
15、刪除文件用哪個(gè)命令?如果需要連目錄及目錄下文件—塊刪除呢?刪除空文件夾用什么命令?
16.Linux下命令有哪幾種可使用的通配符?分別代表什么含義?
17课舍、用什么命令對(duì)一個(gè)文件的內(nèi)容進(jìn)行統(tǒng)計(jì)?(行號(hào)塌西、單詞數(shù)、字節(jié)數(shù))
18筝尾、Grep命令有什么用?如何忽略大小寫?如何查找不含該串的行?
19捡需、Linux中進(jìn)程有哪幾種狀態(tài)?在ps 顯示出來(lái)的信息中分別用什么符號(hào)表示的?
20、怎么使一個(gè)命令在后臺(tái)運(yùn)行?
21筹淫、利用ps怎么顯示所有的進(jìn)程?怎么利用ps查看指定進(jìn)程的信息?
22站辉、哪個(gè)命令專門用來(lái)查看后臺(tái)任務(wù)?
23、把后臺(tái)任務(wù)調(diào)到前臺(tái)執(zhí)行使用什么命令?把停下的后臺(tái)任務(wù)在后臺(tái)執(zhí)行起來(lái)用什么命令?
24损姜、終止進(jìn)程用什么命令?帶什么參數(shù)?
25饰剥、怎么查看系統(tǒng)支持的所有信號(hào)?
26、搜索文件用什么命令?格式是怎么樣的?
27摧阅、查看當(dāng)前誰(shuí)在使用該主機(jī)用什么命令?查找自己所在的終端信息用什么命令?
28汰蓉、使用什么命令查看用過(guò)的命令列表?
29、使用什么命令查看磁盤使用空間?空閑空間呢?30棒卷、使用什么命令查看網(wǎng)絡(luò)是否連通?
31顾孽、使用什么命令查看ip 地址及接口信息?32、查看各類環(huán)境變量用什么命令?
33比规、通過(guò)什么命令指定命令提示符?
34若厚、查找命令的可執(zhí)行文件是去哪查找的?怎么對(duì)其進(jìn)行設(shè)置及添加?
35、通過(guò)什么命令查找執(zhí)行命令?
36蜒什、怎么對(duì)命令進(jìn)行取別名?
37.du和df的定義测秸,以及區(qū)別?
38.awk 詳解。
39、當(dāng)你需要給命令綁定一個(gè)宏或者按鍵的時(shí)候乞封,應(yīng)該怎么做呢?
40做裙、如果一個(gè)linux 新手想要知道當(dāng)前系統(tǒng)支持的所有命令的列表,他需要怎么做?
41肃晚、如果你的助手想要打印出當(dāng)前的目錄棧锚贱,你會(huì)建議他怎么做?
42、你的系統(tǒng)目前有許多正在運(yùn)行的任務(wù)关串,在不重啟機(jī)器的條件下拧廊,有什么方法可以把所有正在運(yùn)行的進(jìn)程移除呢?
43、bash shell中的 hash命令有什么作用?
44晋修、哪一個(gè) bash內(nèi)置命令能夠進(jìn)行數(shù)學(xué)運(yùn)算吧碾。
45、怎樣—頁(yè)一頁(yè)地查看一個(gè)大文件的內(nèi)容呢?
46墓卦、數(shù)據(jù)字典屬于哪一個(gè)用戶的?
47倦春、怎樣查看一個(gè)linux命令的概要與用法?假設(shè)你在/bin目錄中偶然看到一個(gè)你從沒(méi)見過(guò)的的命令,怎樣才能知道它的作用和用法呢?
48落剪、使用哪一個(gè)命令可以查看自己文件系統(tǒng)的磁盤空間配額呢?
最后我想說(shuō)睁本,關(guān)于“java高分面試指南-25大專題分類,227頁(yè)1000+題50w+字解析(題目+完整解析)”整個(gè)的題目我在文章里幾乎都列舉出來(lái)了忠怖,題目太多了以致答案解析只以截圖方式展現(xiàn)部分呢堰,且篇幅有限無(wú)法在一篇文章里寫上所有完整的答案解析,也會(huì)影響到觀感凡泣,所以這里我早已將這份 “java高分面試指南-25大專題分類”(→原件) 整理成一份獨(dú)立的pdf文件