1.筆試常見的問題?
面試常見的問題上面給的面試題鏈接基本都有。我只提幾點(diǎn):1)寫SQL:寫SQL很常考察group by、內(nèi)連接和外連接。2)手寫代碼:手寫代碼一般考單例、排序、線程、消費(fèi)者生產(chǎn)者。我建議排序算法除了冒泡排序,最好還能手寫一種其他的排序代碼。試想:如果一般面試者都寫的冒泡排序,而你寫的是快速排序/堆排序,肯定能給面試官留下不錯的印象。
2.面試
1)讓你自我介紹
2)問Java基礎(chǔ)知識
3)問項(xiàng)目
4)情景問題,例如:
你的一個功能上了生產(chǎn)環(huán)境后,服務(wù)器壓力驟增,該怎么排查。
比如你做電商秒殺活動場景下,如何在高并發(fā)的情況下, 避免出現(xiàn)負(fù)庫存的情況,我的回答是用消息隊列的中間件,你如 果有什么好的處理方式也可以說
我需要向不同的客戶發(fā)送消息,怎么去保證消息的準(zhǔn)確性和延時性(消息隊列處理)
5)你有什么想問面試官的
3.面試常問的知識點(diǎn)?
1)集合相關(guān)問題(必問):
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底層實(shí)現(xiàn)。
HashMap和Hashtable的區(qū)別。
ArrayList、LinkedList、Vector的區(qū)別。
HashMap和ConcurrentHashMap的區(qū)別。
HashMap和LinkedHashMap的區(qū)別。
HashMap是線程安全的嗎。
ConcurrentHashMap是怎么實(shí)現(xiàn)線程安全的。
2)線程相關(guān)問題(必問):
創(chuàng)建線程的3種方式。
什么是線程安全。
Runnable接口和Callable接口的區(qū)別。
wait方法和sleep方法的區(qū)別。
synchronized、Lock、ReentrantLock、ReadWriteLock。
介紹下CAS(無鎖技術(shù))。
什么是ThreadLocal。
創(chuàng)建線程池的4種方式。
ThreadPoolExecutor的內(nèi)部工作原理。
分布式環(huán)境下,怎么保證線程安全。
3)JVM相關(guān)問題:
介紹下垃圾收集機(jī)制(在什么時候,對什么,做了什么)。
垃圾收集有哪些算法,各自的特點(diǎn)。
類加載的過程。 雙親委派模型。
有哪些類加載器。
能不能自己寫一個類叫java.lang.String。
4)設(shè)計模式相關(guān)問題(必問):
先問你熟悉哪些設(shè)計模式,然后再具體問你某個設(shè)計模式具體實(shí)現(xiàn)和相關(guān)擴(kuò)展問題。
5)數(shù)據(jù)庫相關(guān)問題,針對Mysql(必問):
給題目讓你手寫SQL。
有沒有SQL優(yōu)化經(jīng)驗(yàn)。
Mysql索引的數(shù)據(jù)結(jié)構(gòu)。
SQL怎么進(jìn)行優(yōu)化。
SQL關(guān)鍵字的執(zhí)行順序。
有哪幾種索引。
什么時候該(不該)建索引。
Explain包含哪些列。
Explain的Type列有哪幾種值。
6)框架相關(guān)問題:
Hibernate和Mybatis的區(qū)別。
Spring MVC和Struts2的區(qū)別。
微服務(wù)之間是如何獨(dú)立通信的
什么是服務(wù)熔斷,什么是服務(wù)降級
Spring用了哪些設(shè)計模式。
Spring中AOP主要用來做什么。
Spring注入bean的方式。
什么是IOC,什么是依賴注入。
Spring是單例還是多例,怎么修改。
Spring事務(wù)隔離級別和傳播性。
介紹下Mybatis/Hibernate的緩存機(jī)制。
Mybatis的mapper文件中#和$的區(qū)別。
Mybatis的mapper文件中resultType和resultMap的區(qū)別。
Mybatis中DAO層接口沒有寫實(shí)現(xiàn)類,Mapper中的方法和DAO接口方法是怎么綁定到一起的,其內(nèi)部是怎么實(shí)現(xiàn)的。
7)其他遇到問題:
介紹下棧和隊列。
IO和NIO的區(qū)別。
接口和抽象類的區(qū)別。
int和Integer的自動拆箱/裝箱相關(guān)問題。 常量池相關(guān)問題。
==和equals的區(qū)別。
重載和重寫的區(qū)別。
String和StringBuilder、StringBuffer的區(qū)別。
靜態(tài)變量、實(shí)例變量、局部變量線程安全嗎,為什么。 try、catch、finally都有return語句時執(zhí)行哪個。
介紹下B樹、二叉樹。
ajax的4個字母分別是什么意思。
xml全稱是什么。
分布式鎖的實(shí)現(xiàn)。
分布式session存儲解決方案。
常用的linux命令。
談?wù)凾CP/IP的工作原理,能實(shí)現(xiàn)基本的網(wǎng)絡(luò)編程
你是否了解網(wǎng)絡(luò)安全機(jī)制
Java8的新特性
說說Java開發(fā)常用的一些注解
微信支付完成以后返回的信息是什么形式的,xml格式的