下面就簡單說下自己的一些淺薄的經驗吧,希望能爲屏幕前的你提供一點的啓發。該文章會先將經常問到的問題一一列出來,等以後有時間了我會給出參考答案,當然其中一些答案只是筆者現有技術上的一些個人想法,僅供參考,如果有什麼不妥的地方還望指出。

簡歷篇

建議簡歷中按照圖中1的方式去寫,讓簡歷篩選者一眼就能看到你項目中的亮點(圖中僅供參考)

面試篇

(1)從java基礎說起

1.HashMap和HashTable兩個類的底層實現,HashTable的get方法加鎖了嗎?爲什麼?兩者異同點是什麼?ConcurrentHashMap的底層實現,和HashTable相比,爲什麼性能更高。

2.ArrayList和LinkedList區別,實現方式

3.jvm是如何管理內存的?垃圾回收算法有哪些?垃圾回收器有哪些?如何使用?什麼是垃圾?可達性算法和引用計數算法瞭解嗎?什麼是GCRoot?如果對象一直創建,直到發生fullgc,說一下這整個過程。minor gc和full gc都會造成stop the world嗎?如何降低fullgc發生的次數?

4.說一下雙親委派機制,jvm爲什麼要使用雙親委派機制?類加載器可能被繼承嗎?可以出現違背雙親委派機制的情況嗎?如果有,解釋爲什麼要違背雙親委派機制?

(2)多線程問題

1.如何正確終止一個線程?

2.實際工作中是如何使用多線程的?用多線程方式去求一個數組的和。寫一個生產者消費者模型

3.線程池用過嗎?解釋下線程池的重要參數,阻塞隊列用過哪些?底層是怎麼實現的?task不斷的湧現,說一下線程池是如何消費任務的(什麼時候創建線程,銷燬線程)?

4.synchronized和lock的區別,使用時的注意點在哪?CyclicBarrier和CountDownLatch分別在什麼情況下使用?多線程之間如何通信?

5.volitile的語義,jdk爲我們提供了哪些基本數據類型的原子操作類?AtomicInteger是如何實現原子遞增的?CAS有什麼缺點?如何避免?

(3)框架篇

1.spring是如何管理bean的?spring管理的bean的生命週期是什麼?spring如何解決循環依賴?

2.spring爲我們提供了哪些註解用於AOP?他們的執行順序如何?

3.spring的事務傳播機制是什麼?事務的隔離級別是什麼?

4.你們的程序是如何處理異常的?

5.springmvc的執行過程,mybatis的執行過程

6.瞭解哪些springcloud組件?微服務和soa有什麼區別?

(4)數據庫篇

1.mysql中索引的算法有幾種?什麼情況下使用索引?如果有sql執行比較慢,該怎麼解決?

2.mysql中的innodb和mysaim有什麼區別?

事務、外鍵、hash結構索引的支持、全文索引的支持、鎖的粒度、物理文件異同

3.事務的隔離級別,innodb是如何解決幻讀的?mvvc(多版本事務控制)瞭解嗎?

4.如何分庫分表?

5.如何查看sql的執行計劃,如果有sql沒有走預期的索引怎麼辦?

(5)中間件篇

1、項目中如何使用redis的,redis支持哪幾種數據類型?持久化機制有哪些?分別有什麼用,什麼異同點?aof文件會一直增大嗎?redis如何做分佈式鎖的?redis支持事務嗎,如果支持是怎麼實現的?底層原理是什麼?和傳統數據庫提供的事務有什麼區別?

2、mongodb是怎麼使用的?技術選型的時候爲什麼選擇mongodb?mongodb是如何支持事務的,多文檔事務是在什麼版本開始支持的?

3、memcached如何使用,底層的內存管理是什麼樣子的?

4、rabbitmq、activemq、kafka有什麼區別?怎麼做技術選型?底層實現了什麼協議?

5、zookeeper是什麼?節點類型有哪幾種?瞭解paxos協議嗎?瞭解ZAB算法嗎?zookeeper是如何保證事務的?用zookeeper如何實現分佈式鎖?

(6)linux篇

1、能進行shell編程嗎?有沒有過實際經驗?

2、直接將文件B.TXT中的所有123替換成345

sed -i 's/123/456/g' B.TXT

3、寫出命令。統計日誌文件weblog.log中 今天14:00~15:00的記錄條數(時間格式: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內容爲"12:34:68",只輸出A.txt中的"34"

awk -F ":" '{print $2}' A.txt

面試後

1、二面和三面之後,面試官一定會問,你還有什麼要問我的嗎?

這個時候請一定不要說“沒有了”,如果你覺的面試的還可以的話,請務必問以下幾個問題(1)如果我有幸進入項目組,我的任務是什麼?會面臨哪些技術難題?(2)部門效益怎麼樣?公司對部門看好嗎?

希望可以給各位帶來一些幫助,如果有什麼不妥的地方儘管提出來就好,畢竟人無完人,祝大家都能找到自己心儀的offer。

相關文章