截止到現(xiàn)在前前后后面了將近十家公司纠修,最終拿到四家公司的offer巾乳,保密起見公司名就不說了,雖然期間苦悶不堪鸟召,但還好有了個自己比較滿意的結(jié)局胆绊,所以說只要你努力,老天總會把你應(yīng)該得到的全部給你欧募。下面就簡單說下自己的一些淺薄的經(jīng)驗吧压状,希望能為屏幕前的你提供一點的啟發(fā)。該博客會先將經(jīng)常問到的問題一一列出來跟继,等以后有時間了我會給出參考答案种冬,當(dāng)然其中一些答案只是筆者現(xiàn)有技術(shù)上的一些個人想法,僅供參考舔糖,如果有什么不妥的地方還望指出娱两。
簡歷篇
建議簡歷中按照圖中1的方式去寫,讓簡歷篩選者一眼就能看到你項目中的亮點(圖中僅供參考)
面試篇
(1)從java基礎(chǔ)說起
1.HashMap和HashTable兩個類的底層實現(xiàn)金吗,HashTable的get方法加鎖了嗎十兢?為什么?兩者異同點是什么摇庙?ConcurrentHashMap的底層實現(xiàn)旱物,和HashTable相比,為什么性能更高卫袒。
2.ArrayList和LinkedList區(qū)別宵呛,實現(xiàn)方式
3.jvm是如何管理內(nèi)存的?垃圾回收算法有哪些夕凝?垃圾回收器有哪些宝穗?如何使用?什么是垃圾码秉?可達(dá)性算法和引用計數(shù)算法了解嗎逮矛?什么是GCRoot?如果對象一直創(chuàng)建泡徙,直到發(fā)生fullgc,說一下這整個過程膜蠢。minor gc和full gc都會造成stop the world嗎堪藐?如何降低fullgc發(fā)生的次數(shù)?
4.說一下雙親委派機制挑围,jvm為什么要使用雙親委派機制礁竞?類加載器可能被繼承嗎?可以出現(xiàn)違背雙親委派機制的情況嗎杉辙?如果有模捂,解釋為什么要違背雙親委派機制?
(2)多線程問題
1.如何正確終止一個線程?
2.實際工作中是如何使用多線程的狂男?用多線程方式去求一個數(shù)組的和综看。寫一個生產(chǎn)者消費者模型
3.線程池用過嗎?解釋下線程池的重要參數(shù)岖食,阻塞隊列用過哪些红碑?底層是怎么實現(xiàn)的?task不斷的涌現(xiàn)泡垃,說一下線程池是如何消費任務(wù)的(什么時候創(chuàng)建線程析珊,銷毀線程)?
4.synchronized和lock的區(qū)別蔑穴,使用時的注意點在哪忠寻?CyclicBarrier和CountDownLatch分別在什么情況下使用?多線程之間如何通信存和?
5.volitile的語義奕剃,jdk為我們提供了哪些基本數(shù)據(jù)類型的原子操作類?AtomicInteger是如何實現(xiàn)原子遞增的哑姚?CAS有什么缺點祭饭?如何避免?
6.說說對AQS的理解
(3)框架篇
1.spring是如何管理bean的叙量?spring管理的bean的生命周期是什么倡蝙?spring如何解決循環(huán)依賴?
2.spring為我們提供了哪些注解用于AOP绞佩?他們的執(zhí)行順序如何寺鸥?
3.spring的事務(wù)傳播機制是什么?事務(wù)的隔離級別是什么品山?
4.你們的程序是如何處理異常的胆建?
5.springmvc的執(zhí)行過程,mybatis的執(zhí)行過程
6.了解哪些springcloud組件肘交?微服務(wù)和soa有什么區(qū)別笆载?
(4)數(shù)據(jù)庫篇
1.mysql中索引的算法有幾種?什么情況下使用索引涯呻?如果有sql執(zhí)行比較慢凉驻,該怎么解決?
2.mysql中的innodb和mysaim有什么區(qū)別复罐?
事務(wù)涝登、外鍵、hash結(jié)構(gòu)索引的支持效诅、全文索引的支持胀滚、鎖的粒度趟济、物理文件異同
3.事務(wù)的隔離級別,innodb是如何解決幻讀的咽笼?mvvc(多版本事務(wù)控制)了解嗎顷编?
4.如何分庫分表?
5.如何查看sql的執(zhí)行計劃褐荷,如果有sql沒有走預(yù)期的索引怎么辦勾效?
(5)中間件篇
1、項目中如何使用redis的叛甫,redis支持哪幾種數(shù)據(jù)類型层宫?持久化機制有哪些?分別有什么用其监,什么異同點萌腿?aof文件會一直增大嗎?redis如何做分布式鎖的抖苦?redis支持事務(wù)嗎毁菱,如果支持是怎么實現(xiàn)的?底層原理是什么锌历?和傳統(tǒng)數(shù)據(jù)庫提供的事務(wù)有什么區(qū)別贮庞?
2、mongodb是怎么使用的究西?技術(shù)選型的時候為什么選擇mongodb窗慎?mongodb是如何支持事務(wù)的,多文檔事務(wù)是在什么版本開始支持的卤材?
3遮斥、memcached如何使用,底層的內(nèi)存管理是什么樣子的扇丛?
4术吗、rabbitmq、activemq帆精、kafka有什么區(qū)別较屿?怎么做技術(shù)選型?底層實現(xiàn)了什么協(xié)議卓练?
5隘蝎、zookeeper是什么?節(jié)點類型有哪幾種昆庇?了解paxos協(xié)議嗎末贾?了解ZAB算法嗎闸溃?zookeeper是如何保證事務(wù)的整吆?用zookeeper如何實現(xiàn)分布式鎖拱撵?
(6)linux篇
1、能進行shell編程嗎表蝙?有沒有過實際經(jīng)驗拴测?
2、直接將文件B.TXT中的所有123替換成345
sed -i 's/123/456/g' B.TXT
3府蛇、寫出命令集索。統(tǒng)計日志文件weblog.log中 今天14:00~15:00的記錄條數(shù)(時間格式:2011-01-01—15:30:11)
sum14=`grep -c "2011-01-01-14" weblog.log`
sum15=`grep -c "2011-01-01-15" weblog.log`
echo $[$sum14+$sum15]
4、文件A.txt內(nèi)容為"12:34:68"汇跨,只輸出A.txt中的"34"
awk -F ":" '{print $2}' A.txt
面試后
1务荆、二面和三面之后,面試官一定會問穷遂,你還有什么要問我的嗎函匕?
這個時候請一定不要說“沒有了”,如果你覺的面試的還可以的話蚪黑,請務(wù)必問以下幾個問題(1)如果我有幸進入項目組盅惜,我的任務(wù)是什么?會面臨哪些技術(shù)難題忌穿?(2)部門效益怎么樣抒寂?公司對部門看好嗎?
好了掠剑,純手打屈芜,花費了整個午休時間,希望可以給各位帶來一些幫助澡腾,如果有什么不妥的地方盡管提出來就好沸伏,畢竟人無完人。