Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

69個經典Java面試題和答案詳解,springmvc源碼分析

程序員小明呀 2021-09-15 14:48:42 阅读数:87 评论数:0 点赞数:0 收藏数:0

支付寶一面

  1. 介紹一下自己。
  2. 項目參與的核心設計有哪些
  3. ArrayList和LinkedList底層
  4. HashMap及線程安全的ConcurrentHashMap,以及各自優劣勢
  5. Java如何實現線程安全
  6. Synchronized和Lock哪個更好?
  7. HashMap中的get()方法是如何實現的?
  8. HashMap可以用在哪些場景?
  9. JVM,垃圾回收機制,內存劃分等
  10. SQL優化,常用的索引?
  11. 還有什麼問題需要問的。

02 支付寶二面

  1. 沒有自我介紹,直接問做過哪些Java開發相關的項目。
  2. 對哪些技術比較熟悉?
  3. 多線程狀態圖,狀態如何流轉?
  4. 死鎖,死鎖原因
  5. 頁鎖、樂觀鎖、悲觀鎖?
  6. 樂觀鎖如何保證線程安全?
  7. 用過線程池嗎,對應的好處,如何用?
  8. 兩個10G的文件,裏面是一些url,內存只有1G,如何將這兩個文件合並,找到相同的url?
  9. 1000個多並發線程,10臺機器,每臺機器4核的,設計線程池大小。
  10. 代碼題:兩個有序數組,數組中存在重複數字,合並成一個有序數組,去除重複數字。
  11. 說一下自己的優點。

支付寶三面

  1. jvm性能調優都做了什麼
  2. 數據庫性能調優如何做
  3. 分布式系統原理:CAP,最終一致性,幂等操作等
  4. 高並發情况下,我們系統是如何支撐大量的請求的
  5. 集群如何同步會話狀態
  6. 常用NOSQL,有做過比較?
  7. 什麼情况會出現雪崩,以及如何應對?
  8. 負載均衡的原理
  9. 數據庫事務屬性
  10. 與同事溝通的時候,如果遇到沖突了如何解决?
  11. 工作中覺得哪方面欠缺?
  12. 有問題要問麼?
  13. 期望薪水?
  14. 為什麼要離開現在的公司?

美團四面

69個經典Java面試題和答案詳解,springmvc源碼分析_程序員

美團點評高級Java一面(技術,電話面試,約40分鐘)

  1. 自我介紹。
  2. 項目介紹。
  3. 了解過redis源碼及redis集群麼?
  4. 分布式下redis如何保證線程安全?
  5. Hashmap的原理,源碼?
  6. Hashmap增删的情况後端數據結構如何比特移?
  7. hashmap容量為什麼是2的幂次?
  8. object類你知道的方法?
  9. 你重寫過hashcode和equals麼,要注意什麼?
  10. jvm內存分區,為什麼要有新生代和老年代?
  11. 有做個JVM內存優化嗎?
  12. 數據庫索引 主鍵和唯一索引有什麼區別?
  13. 聚集索引和非聚集索引的區別?
  14. MySQL存儲引擎innoDB和MyISAM的區別?
  15. 講一下穩定的排序算法和不穩定的排序算法?
  16. 講一下快速排序的思想?

美團點評高級Java二面**(技術,現場面試,約60分鐘)**

  1. 幾種線程池區別?
  2. aio,nio,bio的了解,NIO的核心概念有哪些?
  3. 常用的NIO框架有哪些,優劣勢?
  4. 事務的四大隔離級別?
  5. jvm場景問題, 標記清除多次後老年代產生內存碎片,引起full gc,接下來可能發生什麼問題?
  6. MySQL innodb的b+樹索引,主鍵索引,聚簇索引有什麼區別?
  7. 數據庫四大特性?
  8. MySQL裏有哪些鎖,行鎖錶鎖,樂觀鎖呢?
  9. MySQL的死鎖怎麼產生的,舉了兩個例子。
  10. dubbo裏的zookeeper是做什麼的?
  11. 錶鎖 行鎖 樂觀鎖 悲觀鎖的特點和區別?
  12. 並發工具包有哪些,具體怎麼用?
  13. Docker平時怎麼使用的?
  14. Kafka如何解决數據堆積?
  15. kafka消息的存儲機制?
  16. 如何用kafka保證消息的有序性?
  17. kafka如何保證並發情况下消息只被消費一次?

美團點評高級Java三面題目**(技術,現場面試,約60分鐘)**

  1. 項目介紹。
  2. 最有技術難度的項目,介紹下相關核心設計流程。
  3. 分布式下redis如何保證線程安全?
  4. redis持久化的方式以及區別?
  5. zookeeper如何實現分布式鎖、其他分布式鎖怎麼實現?
  6. kafka的架構,如何用kafka保證消息的有序性?
  7. 數據庫的優化包含哪些?MySQL的優化,談兩個你優化的例子。
  8. redis用的哪個版本?
  9. 如何搭建redis集群?
  10. redis如何主從同步?
  11. redis分布式鎖注意事項?
  12. redis持久化的方式以及區別?
  13. redis持久化方式及區別?
  14. my sql數據量多大的時候需要分錶?
  15. my sql常用的存儲引擎及區別?
  16. zookeeper的作用:分布式鎖、注册服務中心?
  17. zookeeper如何實現分布式鎖、其他分布式鎖怎麼實現?
  18. 分布式事務的解决方案?
  19. 單點登錄怎麼實現?
  20. 秒殺系統怎麼來實現?
  21. 工作中,遇見了技術瓶頸無法解决,你的解决思路?
  22. 技術選型方面,一個新技術和一個穩定的舊技術,你會如何選擇,會考慮哪些因素?

美團點評高級Java四面題目(HR,現場面試,約30分鐘)

  1. 自我介紹下。
  2. 自己的優點和缺點。
  3. 為啥想來美團,對美團了解多少?
  4. 心中的互聯網公司排序。
  5. 工作中遇見暫時無法解决的問題,你是怎麼應對的?
  6. 最近在學什麼新技術
  7. 你是通過什麼路徑與方法,去學習和接觸一門新技術的?
  8. 未來的職業規劃是什麼?

拼多多Java研發崗4面試經過及面試題

69個經典Java面試題和答案詳解,springmvc源碼分析_後端_02

一面

  1. 線程池由哪些組件組成,有哪些線程池,分別怎麼使用,以及拒絕策略有哪些
  2. 寫一題算法,層次遍曆樹並輸出每層的層級
  3. 寫一道題,二叉樹的後序遍曆,非遞歸算法。
  4. 什麼時候多線程會發生死鎖,寫一個例子
  5. 說一說jdk1.8中,對hashMap的優化,對concurrentHashMap的優化
  6. 如何解决hash沖突的,以及如果沖突了,怎麼在hash錶中找到目標值
  7. 有1000個數據存在hashmap中,實際的數量是多少,考慮負載因子和擴容
  8. 常見的RPC有哪些?對應的區別和性能比較?
  9. 操作系統的用戶態和核心態切換條件以及為什麼要切換
  10. 線程間的通信方式,异步隊列,消息延遲獲取

二面

  1. MySQL的主從複制怎麼做
  2. MySQL的索引,使用B+樹索引的好處
  3. MySQL性能查看以及如何優化
  4. Redis是怎麼做緩存的
  5. Redis的持久化操作
  6. 如何利用redis處理熱點數據
  7. TCP三次握手的過程,如果沒有第三次握手有什麼問題。
  8. 分布式鎖怎麼實現

三面

  1. cap了解麼,分別指什麼
  2. 網絡編程nio和netty相關,netty的線程模型,零拷貝實現
  3. Redis是單線程還是多線程?Redis的分布式集群怎麼做?
  4. 分布式消息隊列有哪些(Kafka等)?有使用過哪些?具體應用在什麼場景?
  5. 負載均衡怎麼做的呢,為什麼這麼做,了解過集群雪崩麼。
  6. 談談高並發場景下削峰,限流的實現?

四面(HR)

  1. 為什麼跳槽?
  2. 期望的薪資是多少?
  3. 如何看待加班問題?
  4. 平時自己是怎麼學習技術的,除了Java相關,還會去了解其他什麼技術?
  5. 未來幾年有什麼規劃?

總目錄展示

該筆記共八個節點(由淺入深),分為三大模塊。

高性能。 秒殺涉及大量的並發讀和並發寫,因此支持高並發訪問這點非常關鍵。該筆記將從設計數據的動靜分離方案、熱點的發現與隔離、請求的削峰與分層過濾、服務端的極致優化這4個方面重點介紹。

一致性。 秒殺中商品减庫存的實現方式同樣關鍵。可想而知,有限數量的商品在同一時刻被很多倍的請求同時來减庫存,减庫存又分為“拍下减庫存”“付款减庫存”以及預扣等幾種,在大並發更新的過程中都要保證數據的准確性,其難度可想而知。因此,將用一個節點來專門講解如何設計秒殺减庫存方案。

高可用。 雖然介紹了很多極致的優化思路,但現實中總難免出現一些我們考慮不到的情况,所以要保證系統的高可用和正確性,還要設計一個PlanB來兜底,以便在最壞情况發生時仍然能够從容應對。筆記的最後,將帶你思考可以從哪些環節來設計兜底方案。


篇幅有限,無法一個模塊一個模塊詳細的展示(這些要點都收集在了這份《高並發秒殺頂級教程》裏),麻煩各比特轉發一下(可以幫助更多的人看到喲!)

 CodeChina開源項目:【一線大廠Java面試題解析+核心總結學習筆記+最新講解視頻】

69個經典Java面試題和答案詳解,springmvc源碼分析_Java_03

69個經典Java面試題和答案詳解,springmvc源碼分析_後端_04

由於內容太多,這裏只截取部分的內容。

版权声明
本文为[程序員小明呀]所创,转载请带上原文链接,感谢

编程之旅,人生之路,不止于编程,还有诗和远方。
阅代码原理,看框架知识,学企业实践;
赏诗词,读日记,踏人生之路,观世界之行;