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

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

我分享文章的時候,有個讀者回復說他去年就關注了個人微信公衆號,打算看完個人全部文章,而後去面試,結果我後來很長時間不更新了。。。因此爲了彌補一直等個人娃兒們,給你們的金三銀四準備了100道花時間準備的高頻Java面試題,你們不要太感動,記得點贊評論就行。面試

此次只放出九十道,剩下10道準備找認識的幾位面試官去要,但願不會被拒絕。
在這裏插入圖片描述redis

這些題我認爲認真思考仍是頗有價值的,答案整理中,所有整理好,我會作出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。緩存

相關文章
相關標籤/搜索