1. 程式人生 > >BAJT高階Java面試題

BAJT高階Java面試題

答對這些面試題,PASS 掉 80 % 的競爭者

  1. hashcode相等兩個類一定相等嗎?equals呢?相反呢?

  2. 介紹一下集合框架?

  3. hashmap hastable 底層實現什麼區別?hashtable和concurrenthashtable呢?

  4. hashmap和treemap什麼區別?低層資料結構是什麼?

  5. 執行緒池用過嗎都有什麼引數?底層如何實現的?

  6. sychnized和Lock什麼區別?sychnize 什麼情況情況是物件鎖? 什麼時候是全域性鎖為什麼?

  7. ThreadLocal 是什麼底層如何實現?寫一個例子唄?

  8. volitile的工作原理?

  9. cas知道嗎如何實現的?

  10. 請用至少四種寫法寫一個單例模式?

  11. 請介紹一下JVM記憶體模型??用過什麼垃圾回收器都說說唄

  12. 線上傳送頻繁full gc如何處理? CPU 使用率過高怎麼辦?

  13. 如何定位問題?如何解決說一下解決思路和處理方法

  14. 知道位元組碼嗎?位元組碼都有哪些?Integer x =5,int y =5,比較x =y 都經過哪些步驟?

  15. 講講類載入機制唄都有哪些類載入器,這些類載入器都載入哪些檔案?

  16. 手寫一下類載入Demo

  17. 知道osgi嗎? 他是如何實現的???

  18. 請問你做過哪些JVM優化?使用什麼方法達到什麼效果???

  19. classforName("java.lang.String")和String classgetClassLoader() LoadClass("java.lang.String") 什麼區別啊?

  20. 探查Tomcat的執行機制即框架?

  21. 分析Tomcat執行緒模型?

  22. Tomcat系統引數認識和調優?

  23. MySQL底層B+Tree機制?

  24. SQL執行計劃詳解?

  25. 索引優化詳解?

  26. SQL語句如如如何優化?

  27. spring都有哪些機制啊AOP底層如何實現的啊IOC呢??

  28. cgLib知道嗎?他和jdk動態代理什麼區別?手寫一個jdk動態代理唄?

  29. 使用mysq1索引都有哪些原則? ?索引什麼資料結構? 3+tree 和B tree 什麼區別?

  30. MySQL有哪些儲存引擎啊?都有啥區別? 要詳細!

  31. 設計高併發系統資料庫層面該怎麼設計??資料庫鎖有哪些型別?如何實現呀?

  32. 資料庫事務有哪些?

  33. 如何設計可以動態擴容縮容的分庫分表方案?

  34. 用過哪些分庫分表中介軟體,有啥優點和缺點?講一下你瞭解的分庫分表中介軟體的底層實現原理?

  35. 我現在有一個未分庫分表的系統,以後系統需分庫分表,如何設計,讓未分庫分表的系統動態切換到分庫分表的系統上?TCC? 那若出現網路原因,網路連不通怎麼辦啊?

  36. 分散式事務知道嗎? 你們怎麼解決的?

  37. 為什麼要分庫分表啊?

  38. RPC通訊原理,分散式通訊原理

  39. 分散式定址方式都有哪些演算法知道一致性hash嗎?手寫一下java實現程式碼??你若userId取摸分片,那我要查一段連續時間裡的資料怎麼辦???

  40. 如何解決分庫分表主鍵問題有什麼實現方案??

  41. redis和memcheched 什麼區別為什麼單執行緒的redis比多執行緒的memched效率要高啊?

  42. redis有什麼資料型別都在哪些場景下使用啊?

  43. reids的主從複製是怎麼實現的redis的叢集模式是如何實現的呢redis的key是如何定址的啊?

  44. 使用redis如何設計分散式鎖?使用zk可以嗎?如何實現啊這兩種哪個效率更高啊??

  45. 知道redis的持久化嗎都有什麼缺點優點啊? ?具體底層實現呢?

  46. redis過期策略都有哪些LRU 寫一下java版本的程式碼吧??

  47. 說一下dubbo的實現過程註冊中心掛了可以繼續通訊嗎??

  48. dubbo支援哪些序列化協議?hessian 說一下hessian的資料結構PB知道嗎為啥PB效率是最高的啊??

  49. 知道netty嗎'netty可以幹嘛呀NIO,BIO,AIO 都是什麼啊有什麼區別啊?

  50. dubbo複製均衡策略和高可用策略都有哪些啊動態代理策略呢?

  51. 為什麼要進行系統拆分啊拆分不用dubbo可以嗎'dubbo和thrift什麼區別啊?

  52. 為什麼使用訊息佇列啊訊息佇列有什麼優點和缺點啊?

  53. 如何保證訊息佇列的高可用啊如何保證訊息不被重複消費啊

  54. kafka ,activemq,rabbitmq ,rocketmq都有什麼優點,缺點啊???

  55. 如果讓你寫一個訊息佇列,該如何進行架構設計啊?說一下你的思路

  56. 說一下TCP 'IP四層?

  57. http的工作流程?? ?http1.0 http1.1http2.0 具體哪些區別啊?

  58. TCP三次握手,四層分手的工作流程畫一下流程圖為什麼不是四次五次或者二次啊?

  59. 畫一下https的工作流程?具體如何實現啊?如何防止被抓包啊??

  60. 原始碼中所用到的經典設計思想及常用設計模式

  61. 系統架構如何選擇合適日誌技術(log4j、log4j2、slf4j、jcl…….)

  62. springAOP的原理,springAOP和Aspectj的關係,springAOP的原始碼問題

  63. dubbo框架的底層通訊原理

  64. RPC通訊原理,分散式通訊原理

  65. 如何利用springCloud來架構微服務專案

  66. 如何正確使用docker技術

  67. springMVC的底層原理、如何從原始碼來分析其原理

  68. mybaits的底層實現原理,如何從原始碼來分析mybaits

  69. mysql的索引原理,索引是怎麼實現的

  70. 索引的底層演算法、如何正確使用、優化索引

  71. springboot如何快速構建系統

  72. zk原理知道嗎zk都可以幹什麼Paxos演算法知道嗎?說一下原理和實現?

  73. 如果讓你寫一個訊息佇列,該如何進行架構設計啊?說一下你的思路

  74. 分散式事務知道嗎? 你們怎麼解決的?

  75. 請問你做過哪些JVM優化?使用什麼方法達到什麼效果?