100道Java高頻面試題(阿里面試官整理)


我分享文章的時候,有個讀者回復說他去年就關注了我的微信公眾號,打算看完我的所有文章,然后去面試,結果我后來很長時間不更新了。。。所以為了彌補一直等我的娃兒們,給大家的金三銀四准備了100道花時間准備的高頻Java面試題,大家不要太感動,記得點贊評論就行。

這次只放出九十道,剩下10道准備找認識的幾位面試官去要,希望不會被拒絕。
在這里插入圖片描述

這些題我認為認真思考還是很有價值的,答案整理中,全部整理好,我會做出PDF,整理好后大家公眾號后台回復“Java面試題”領取。

90道高頻面試題

  1. 自我介紹一下
  2. 項目中用到的技術棧介紹一下
  3. 做的自認為比較滿意的點講一講?
  4. 如果這個方案讓你重新設計,你怎么做?
  5. Java集合類都有哪些?
  6. ArrayList 和 LinkedList 區別?
  7. HashMap 實現數據結構和擴容過程?
  8. ArrayList 和 LinkedList 區別? 你平常怎么選擇?
  9. 異常類都有哪些?Exception 和 Error什么區別?
  10. Synchronized 原理,鎖膨脹過程 ?
  11. Synchronized 和 reentrantlock 區別?
  12. 線程池原理是怎樣的?
  13. 分布式事務一致性怎么實現?
  14. 消息亂序遇到過嗎? 怎么解決的?
  15. ThreadLocal 用過嗎?實現機制?
  16. wait、sleep區別?
  17. 反射用過嗎?什么原理?
  18. 動態代理了解嗎? cglib什么區別
  19. 單例模式了解嗎? 實現一個線程安全的單例模式?
  20. 無界隊列和有界隊列?
  21. AQS 知道嗎?
  22. volatile了解嗎?
  23. 實現一個生產者消費者例子
  24. Java內存模型清楚嗎?
  25. 遇到過線上性能問題嗎? 怎么排查的?
  26. 網絡問題遇到過嗎?TIME_WAIT和CLOSE_WAIT的區別
  27. 三次握手講一講
  28. CountDownLatch、Seamphone、CyclicBarrier 都了解嗎?
  29. private、protected、public、關鍵字你平常怎么用的?
  30. Java是值傳遞還是引用傳遞,寫一段對象拷貝的代碼
  31. 內存回收機制了解嗎?
  32. 新生代和老生代區別?
  33. 垃圾回收器有哪幾種? 你們生產環境用的哪種或哪幾種?
  34. Java線程和操作系統線程什么關系?
  35. 線程有幾種狀態,線程生命周期講講
  36. MySQL 索引使用什么數據結構?為什么用 B+做索引?
  37. 什么是最左匹配原則?
  38. 在建表的時候如何設計所以的?有沒有做過索引優化 ?
  39. 分庫分表做了嗎? 怎么實現的?
  40. MySQL 主從同步怎么做的?binlog清楚嗎?
  41. 有沒有做分庫分表?怎么設計的?
  42. 用userId做的分庫分表,現在需要用電話號碼查詢怎么辦?
  43. 你們用的什么日志框架,log4j 和logback ?和slf4j什么區別?
  44. redis 的String 是怎么實現的? 為什么不直接用c的?
  45. redis 是單線程的嗎? 為什么這么快?
  46. redis 中有哪幾種數據結構?分別代表什么
  47. 類加載機制了解嗎?
  48. 什么是雙親委派模式
  49. concurrenthashmap 什么原理?
  50. Spring AOP與IOC的實現原理
  51. Spring的BeanFactory和FactoryBean的區別
  52. 講講Spring中一個Bean的加載流程?
  53. Spring的事務的隔離級別?
  54. Autowired注解的原理?
  55. 用的什么rpc框架
  56. 冪等了解嗎? 你們系統怎么做冪等的
  57. 限流、熔斷有了解嗎?如何實現的
  58. 消息中間件如何解決消息丟失、消息亂序問題?
  59. 分布式事務保證一致性?
  60. 分布式鎖的實現?
  61. 實現一個分布式自增id?
  62. 海量url怎么去重?
  63. Redis有沒有做持久化,怎么做的?
  64. 工作中用到了那些設計模式?
  65. 什么是一致性hash?
  66. 項目中用過什么設計模式?清楚模板方法、策略模式、責任鏈模式嗎?
  67. MySQL InnoDB存儲的文件結構
  68. 講講樂觀鎖和悲觀鎖
  69. cpu 100% 遇到過嗎? 怎么解決的
  70. 更新數據機制? 先更新緩存還是DB?
  71. 緩存穿透、雪崩有了解嗎
  72. 設計一個搶紅包的程序?
  73. Dp背包問題?
  74. Minor GC 與 Full GC 分別在什么時候發生?
  75. Java 類加載過程?
  76. 談談對Spring IOC和DI的理解?
  77. 你常用的git 命令?
  78. 線程調用start 和 run 什么區別? 會有什么效果
  79. 中序遍歷二叉樹
  80. 之前項目遇到過什么挑戰?
  81. 項目中你認為做的最有價值的功能?
  82. 父類和子類有同一個屬性,實例化子類時是否會包含父類的屬性?
  83. 有沒有出現過Full Gc等問題? 你是怎么排查的?
  84. 一般是怎么判斷SQL 索引設置是否合理的?
  85. 什么是不可變對象?String 類為什么設計成不可變的?
  86. 抽象類和接口什么區別?你在做接口和類設計時如何選擇?
  87. HashMap的key 類型有什么要求?
  88. 寫一個深度優先算法?
  89. 寫快速排序 & 冒泡排序?
  90. 什么是用戶空間和內核空間?有什么區別?

大家先思考思考,答案更新完畢在公眾號后台回復”Java面試題“ 暗號領取。

希望大家金三銀四找到自己滿意的工作,不看機會的同學升職加薪,必拿3.75。


免責聲明!

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



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