今日頭條3面,被泄露的Java最新面試題

一、面試第 1 輪

  1. linux 網絡模型

  2. b+樹

  3. 阻塞隊列

  4. redis 和 MongoDB 的區別。幾個概念對比,還有底層實現。

  5. 算法題: merge k sorted list,時間複雜度如何?

  6. HashMap 如果一直 put 元素會怎麼樣?hashcode 全都相同如何?equals 方法都相同

如何?

  1. ApplicationContext 的初始化過程?初始化過程中發現循環依賴 Spring 是如何處理的。

  2. GC 用什麼收集器?收集的過程如何?哪些部分可以作爲 GC Root?

  3. Volatile 關鍵字,指令重排序有什麼意義?

10.synchronied 怎麼用?

11.併發包裏的原子類有哪些,怎麼實現?cas 在 CPU 級別用什麼指令實現的?

12.Redis 數據結構有哪些?如何實現 sorted set?這種數據結構在極端情況下可能有什麼

問題?二叉平衡樹?

13.系統設計題:一個推送場景,50 條內容,定時推送,先推 5%用戶,一段時間後再找出

效果最好的幾條,推給所有用戶。設計相關庫表,系統模塊, 需要可以落地,有僞代碼

14.MySql 索引是什麼數據結構?B tree 有什麼特點?優點是什麼?

15.慢查詢怎麼優化?

16.項目:cache 設計,MQ 丟失消息,RPC 使用場景。各部分職責,有哪些優化點。

17.ThreadLocal 使用場景

18.Redis 回收和備份

19.項目設計問題——主要是針對項目找漏洞,然後給出優化方案

20.遇到的坑,怎麼解決,後續總結。

二、面試第 2 輪

  1. 那些問題對你挑戰最大?

  2. JDK 1.8 ConcurrentHashMap 做過什麼改進?HashMap 死鎖?

  3. 標記的時候怎麼找出棧上的 GC Root?說出一種可能的方案,存在什麼問題?

  4. 字節碼有了解過嗎?

  5. 本地緩存怎麼優化空間?(提出 BitMap)BitMap 可行嗎?怎麼驗證可行性?如果不

可行,怎麼證僞?

  1. 其他語言有了解過嗎?Scala 的集合有什麼特性?python 有什麼高級特性?

  2. 怎麼學習新技術?哪些是基礎技術?

  3. 在部門中是什麼角色定位?

  4. JDK 1.8 比前一個版本有哪些改進?

  5. ParNew 收集過程,如何調優 ParNew?如何減少 full gc?調大 YoungGen 有什麼好處

壞處?

  1. OpenAPI

  2. 平衡二叉樹13. 業務邏輯

  3. MySQL

  4. 服務設計題

  5. web 架構設計

  6. Pack

  7. http 協議

  8. 爬蟲

  9. Java Agent

  10. Zookeeper

  11. LoadBalance

  12. 分佈式 ID

  13. Nginx

  14. Cookie

  15. Session

  16. GC

  17. 手寫 LRU 緩存

  18. 將現有線性存儲結構改成環形結構

  19. Redis IO 模型

  20. MQ 架構對比

  21. 各種緩存 memcache,MongoDB,EhCache,Guava,Caffeine 等等,使用場景

  22. 數據庫樂觀鎖悲觀鎖。在 JDK 和其他中間件的體現。

  23. 線程池,核心參數,擴容原理,使用注意點

  24. 數據庫主從同步,延遲

  25. 數據庫和緩存一致性問題,出現的場景,解決方案

  26. Spring IOC AOP

  27. 一致性哈希算法

  28. RPC 服務發現與註冊

  29. 服務提供方不穩定,頻繁變動如何提升自身穩定性

三、面試第 3 輪—HR

  1. 離職原因

  2. 學習習慣

  3. 興趣愛好

  4. 爲什麼選擇本公司

  5. 本人的優缺點

  6. 嘮家常

四、總結

主要看技術能力,溝通能力和態度(不會就是不會,不要說百度就知道)。

本人免費整理了Java高級資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高併發分佈式等教程,一共30G,需要自己領取。
傳送門:https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章