2019阿里JVM組實習面經


面試質量非常高。。。。非常高。。。高。。。

一面

  1. 自我介紹
  2. 看過hotspot哪些模塊,模板解釋器工作說一下,生成的native code放在哪,怎么處理safepoint的
  3. 說項目,實現了哪些字節碼指令;monitorenter monitorexit怎么實現的;GC;new Thread怎么實現的;synchronized怎么實現的,對象鎖是每個對象都有嗎,怎么確定是否給對象分配對鎖;怎么進行對象分配的,STW之后用戶線程還能繼續嗎so on
  4. 算法題,無向圖的復制;不消耗額外空間重寫一個;如果多線程怎么做,說一下
  5. lookupswitch和tableswitch區別
  6. 學校開過哪些課,編譯原理自己學的嗎
  7. Collections.sort(),歸並快排區別,為什么jawa老版本用歸並不用快排
  8. HashMap說一下,cpp的map和jawa的HashMap區別,hash沖突有哪些解決方法,unordered_map怎么解決hash沖突的
  9. GC新生代復制怎么解決對象指針改變(移動)的問題的,CMS寫屏障,三色標記
  10. 調試方法有哪些,條件斷點打過嗎
  11. 有什么要問的

二面

  1. C++和jawa區別,確定性gc非確定性gc區別
  2. JMM 看過哪些,volatile重排序,sfence lfence mfence
  3. X86/x64 加不加volatile原子性與否,如果用jawa你會怎么做
  4. 口述引用計數智能指針實現
  5. C++ RAII, jawa能實現RAII嗎
  6. C++怎么做一個內存檢測,那種可以看內存分布情況的
  7. C++怎么做一個內存泄漏檢測工具,類似valgrind
  8. 如果讓你給C++加一個gc怎么做
  9. 參加過哪些開源社區,提交的請求為什么沒有merge;成績怎么樣,實習滿分是什么概念,英語怎么樣,翻譯的effective modern cpp是幫老師翻譯的嗎etc
  10. 標量替換,逃逸分析,標量是什么
  11. 你的JVM怎么處理safepoint,這種實現有什么問題,如果for循環很久到不了safe point就內存溢出怎么辦,回邊有了解嗎
  12. 有什么要問的

三面

三面問了一個宇宙。。。

  1. HotSpot的oop是什么,簡單說一下
  2. JVM的偏向鎖,輕量級鎖,重量級鎖。偏向鎖怎么做的,輕量級怎么膨脹到重量級。
  3. JVM新生代划分,TLAB
  4. CMS詳細階段以及做的事情
  5. C++的RAII,lock_guard,有什么好處
  6. C++的shared_ptr和unique_ptr
  7. Full GC是什么,在什么時候發生,這個正常嗎,解決方案
  8. Safepoint知道嗎,如果在JNI方法里面走到JNI的safepoint,hotspot大概是怎么實現safepoint的
  9. G1GC用過嗎,用戶能控制吞吐量嗎,CMS和G1GC各有什么好處,什么場景用什么
  10. 一個程序的編譯流程,詞法分析語法分析,中間IR,代碼生成
  11. MySQL分庫分表,思路就行 (!)
  12. 分布式鎖怎么實現 (!)
  13. 如果一個問題你實在解決不了怎么辦,就是gdb coredump,文檔都搞不定的情況
  14. 如果項目很急,另一個同事非常不給力,你怎么辦
  15. SpringBoot用過嗎,相對於傳統spring有什么好處 (!)
  16. MVC是什么,分別說一下,你覺得VUE做MVC和后端做有什么不同 (!)
  17. Go語言用過嗎,協程說一下,和線程比較一下
  18. Maven可以做什么,能自動管理依賴嗎,git rebase,git merge區別
  19. 持續集成用過嗎,是什么東西,為什么要用它,交叉編譯不也是可以嗎
  20. CAS在底層做了,lock cmpxchg怎么做的
  21. SIMD知道嗎,說一下 (!)
  22. JVMTI說一下 (!)
  23. 算法,二叉樹的分層遍歷

四面

  1. 自我介紹
  2. 創建線程的方式有哪些,Java線程模型;1:1和N:M優缺點
  3. 線程死鎖怎么排查;jps jmap分別用於什么,如果上述方案排查不到怎么辦
  4. 怎么查看Java線程對應的OS線程PID
  5. synchronized和ReentrantLock
  6. 線程池工作原理,怎么處理IDLE線程的,代碼上說一下
  7. ConcurrentHashmap和JDK8之前有什么區別;size是怎么求的
  8. 對象的hashCode底層有哪幾種方法;
  9. 快排原理,非遞歸怎么實現;堆排序原理
  10. MySQL隔離級別,臟讀幻讀是什么,會在哪一級發生
  11. 索引的底層在InnoDB和MyISAM上的不同
  12. 參加過什么開源社區;生活學習比賽etc;
  13. 有什么要問的

HR面

人生境遇追求


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM