1. 程式人生 > 實用技巧 >2020最新阿里、百度、京東、餓了麼秋招面經總結

2020最新阿里、百度、京東、餓了麼秋招面經總結

我感覺今年的寒冬有點冷。後續的面試過程中多做一些準備,看了幾篇不錯的面試經驗分享篇,給大家分享下我的求職體會,希望能給大家一些參考

阿里面試題

BAT面經總結,阿里巴巴、百度、京東、餓了麼offer拿到手軟!

  1. 多個執行緒同時讀寫,讀執行緒的數量遠遠大於寫執行緒,你認為應該如何解決併發的問題?你會選擇加什麼樣的鎖?
  2. JAVA的AQS是否瞭解,它是幹嘛的?
  3. 除了synchronized關鍵字之外,你是怎麼來保障執行緒安全的?
  4. Tomcat本身的引數你一般會怎麼調整?
  5. 你有沒有用過Spring的AOP? 是用來幹嘛的? 大概會怎麼使用?
  6. 如果一個介面有2個不同的實現, 那麼怎麼來Autowire一個指定的實現?
  7. 如果想在某個Bean生成並裝配完畢後執行自己的邏輯,可以什麼方式實現?
  8. SpringBoot沒有放到web容器裡為什麼能跑HTTP服務?
  9. SpringBoot中如果你想使用自定義的配置檔案而不僅僅是application.properties,應該怎麼弄?
  10. SpringMVC如果希望把輸出的Object(例如XXResult或者XXResponse)這種包裝為JSON輸出, 應該怎麼處理?
  11. 如果有很多資料插入MYSQL 你會選擇什麼方式?
  12. 如果查詢很慢,你會想到的第一個方式是什麼?索引是幹嘛的?
  13. 查詢死掉了,想要找出執行的查詢程序用什麼命令?找出來之後一般你會幹嘛?
  14. 讀寫分離是怎麼做的?你認為中介軟體會怎麼來操作?這樣操作跟事務有什麼關係?
  15. 分庫分表有沒有做過?線上的遷移過程是怎麼樣的?如何確定資料是正確的?
  16. 你知道哪些或者你們線上使用什麼GC策略? 它有什麼優勢,適用於什麼場景?
  17. JAVA類載入器包括幾種?它們之間的父子關係是怎麼樣的?雙親委派機制是什麼意思?有什麼好處?
  18. 如何自定義一個類載入器?你使用過哪些或者你在什麼場景下需要一個自定義的類載入器嗎?
  19. 堆記憶體設定的引數是什麼?
  20. HashMap和Hashtable的區別。
  21. 實現一個保證迭代順序的HashMap。
  22. 說一說排序演算法,穩定性,複雜度。
  23. 說一說GC。
  24. JVM如何載入一個類的過程,雙親委派模型中有哪些方法?
  25. TCP如何保證可靠傳輸?三次握手過程?

京東面試題

BAT面經總結,阿里巴巴、百度、京東、餓了麼offer拿到手軟!

  1. java常用的資料結構有哪些?哪些是執行緒安全的?是怎麼保證執行緒安全的?
  2. Redis中的Lua有沒有使用過? 可以用來做什麼? 為什麼可以這麼用?
  3. 執行緒池內部工作原理可以說一下麼?
  4. 死鎖是什麼意思,形成條件是什麼?出現死鎖是可以通過什麼方式去排查。
  5. 在交易過程中如何放在使用者在支付時的重複支付(交叉支付),請寫出你瞭解的方案或使用的過的方案。
  6. 資料庫索引有哪幾種,他們之間的區別。
  7. 程式開發時通過開發工具DeBug除錯時,控制檯顯示的內容都包含什麼?哪些內容可以幫助你發現問題和解決問題。
  8. RPC通訊過程中,假設A系統提供了一個方法入參是一個JavaBean,出參也是一個JavaBean。另外兩個系統B系統、C系統呼叫介面,呼叫方B想讓提供方A增加一個返回引數,假設服務提供方A增加了返回引數,請問C系統呼叫方需要做什麼處理?
  9. 瞭解哪些設計模式,用虛擬碼實現一個你熟悉的設計模式。
  10. 講一下怎麼使用分散式鎖。
  11. 說說HashMap的原理, 以及HashMap如何擴充bucket的大小。
  12. Redis的Pipeline是用來幹什麼的?
  13. Mysql索引的分類(Btree, hash),各自使用什麼情況 。
  14. 說說Myisam, Innodb區別。
  15. 知道哪些負載均衡演算法。
  16. 說一下Btree的查詢原理。
  17. 簡述三次握手,如果c端發起握手請求,s端無法立刻建立連線應該回應什麼?

去哪兒網面試題

BAT面經總結,阿里巴巴、百度、京東、餓了麼offer拿到手軟!

  1. 自我介紹,專案介紹。
  2. mysql資料庫調優。
  3. sql優化。
  4. like能用索引嗎?
  5. java物件四種引用。
  6. GC原理。
  7. jvm記憶體結構。
  8. 說一下你學過jvm 在書寫程式碼上對你有什麼幫助和提高。
  9. 千萬資料量的查詢你會怎麼做?
  10. HashMap在jdk1.7和1.8的區別,為什麼引入這個概念?hash碰撞怎麼解決,為什麼1.8要比1.7更好,好在哪?
  11. 關於你的專案,如果併發很大,你會怎麼改造。
  12. 方法區裡什麼樣的物件有可能被回收。
  13. 線上cpu飆升100%你怎麼處理。
  14. 頻繁FullGC怎麼處理。
  15. 執行緒池建立有幾種,為什麼建立定長的執行緒池個數最好是5,10,15這樣的數字。
  16. linux命令。
  17. 伊甸區和倖存區可動態變化嗎?
  18. redis和memcached區別。
  19. 說幾個jdk命令,jmap是什麼意思。
  20. 如果併發很大,你對資料的正確性怎麼保證。

餓了麼面試題

BAT面經總結,阿里巴巴、百度、京東、餓了麼offer拿到手軟!

  1. http和https的區別,https原理,http2.0與1.0的區別。
  2. Java的垃圾回收機制,Java檔案載入機制,tomcat類載入機制,鎖機制,jvm原理及線上調優,jvm記憶體模型。
  3. 多執行緒,有哪些可以保持程序同步的方法,建立執行緒的幾種方法,對i++多執行緒訪問你會怎麼做。
  4. Java的設計模式,單例有什麼模式,懶漢為什麼加volotile,volotile的記憶體屏障,如何避免死鎖。
  5. 考慮單例模式的編寫,要執行緒安全且記憶體消耗小(劍指offer原題)。
  6. String、StringBuilder、StringBuffer區別;String類能被繼承嗎?為什麼?
  7. 在白紙上手寫二分法排序演算法(lintcode上原題);二分查詢的思想。
  8. 查詢單鏈表中倒數第k個節點的演算法,手寫(lintcode上原題);最常見的排序演算法你見過哪些,快排的基本思想及時間複雜度。
  9. 常見的資料結構有哪些。
  10. hashmap、hashcode一樣,不equals怎麼處理 ;hashcode實現原理,currentHashMap原理,實現細節,怎麼實現同步的;類為什麼要有hascode方法,是不是主要在集合類中都要實現hashcode方法;equals方法怎麼實現;兩個不同的物件可能有相同的hashcode值嗎;常用集合有哪些。
  11. tcp三次握手,四次揮手協議。
  12. 架構設計一個開發性問題,設計一個Nginx管理的中介軟體,怎麼設計。
  13. 所有的類都繼承與object,你用過object類的直接子類有哪些,object類常用的方法有哪些。
  14. Java會出現記憶體洩漏嗎,如果回,在哪種情況下?
  15. 抽象類和介面的區別。
  16. 平時怎麼擴充套件自己的專業知識水平。

百度面試題

BAT面經總結,阿里巴巴、百度、京東、餓了麼offer拿到手軟!

  1. 什麼是 Java 的反射機制。
  2. Cookie 和 Session的區別。
  3. get 和 post請求的區別。
  4. IOC的優點是什麼。
  5. IO 和 NIO的區別,NIO優點。
  6. JRE、JDK、JVM 及 JIT 之間有什麼不同。
  7. Hashcode 的作用。
  8. 簡述一致性 Hash 演算法。
  9. 為什麼在重寫 equals 方法的時候需要重寫 hashCode 方法?equals與 hashCode 的異同點在哪裡。
  10. 為什麼 Map 介面不繼承 Collection 介面。
  11. 說出幾點 Java 中使用 Collections 的最佳實踐?
  12. GC是什麼?為什麼要有GC。
  13. 什麼時候會導致垃圾回收。
  14. GC 有幾種方式?怎麼配置。
  15. 什麼時候一個物件會被GC? 如何判斷一個物件是否存活。
  16. 垃圾回收器的基本原理是什麼?
  17. Serial 與 Parallel GC之間的不同之處。
  18. JVM 中一次完整的 GC 流程是怎樣的? 物件如何晉升到老年代。
  19. 吞吐量優先和響應優先的垃圾收集器選擇。
  20. 說說你知道的幾種主要的jvm 引數。
  21. Java中存在記憶體洩漏問題嗎?請舉例說明。
  22. 什麼是執行緒,多執行緒的優點是什麼?以及簡單說一下多執行緒的幾種實現方式。
  23. ThreadLocal 用途是什麼,原理是什麼,用的時候要注意什麼?
  24. 執行緒池是什麼?為什麼要使用它?如何建立一個Java執行緒池?
  25. ThreadPool用法與優勢可以說一下麼?
  26. synchronized 的原理是什麼?synchronized 和 ReentrantLock 有什麼不同?
  27. 有T1,T2,T3三個執行緒,怎麼確保它們按順序執行?怎樣保證T2在T1執行完後執行,T3在T2
  28. 行完後執行同步塊內的執行緒丟擲異常會發生什麼?
  29. 什麼是樂觀鎖(Optimistic Locking)?如何實現樂觀鎖?如何避免ABA問題。
  30. Java中活鎖和死鎖有什麼區別?
  31. Executors類是什麼? Executor和Executors的區別?
  32. 什麼是設計模式(Design Patterns)?你用過哪種設計模式?用在什麼場合?
  33. 你能寫出三種單例模式實現麼?
  34. 你知道Google是如何在一秒內把搜尋結果返回給使用者?
  35. 高併發下,如何做到安全的修改同一行資料?
  36. 如何避免瀏覽器快取。
  37. 大型網站在架構上應當考慮哪些問題?
  38. 最近有在看什麼書麼,印象最深刻的是什麼?
  39. 你們線上應用的 JVM 引數有哪些?
  40. 能簡單說下你對演算法的理解麼?

面試心得

1.準備要充分,知識面要儘量的廣,同時深度也要夠。

2.面試安排上,如果不著急,儘量給自己留多時間,兩天一家,及時做總結和補充。

3.心態要放平,當做一次技術交流,面試要看一部分的運氣,也要看一些眼緣,有的面試官一張嘴你就能感覺到你這次面試完了。想去的公司沒有面試好,不要氣餒,繼續加油準備。

4.簡歷投遞方面,拉勾上投了很多經常不匹配,可能是我學歷問題(自考本),有一些打擊自信心,如果有同樣感受的,不妨換BOSS或者其他平臺。避免打擊自信心。

5.寫簡歷一定要體現自己的優勢,最好能體現類似於,用到了什麼技術,解決了什麼問題。簡歷上寫到的一定要胸有成竹。

6.類似於你的優勢是什麼,你覺得你專案中做的比較好的地方有哪些,你能給公司帶來什麼,這種問題心裡要先想一些,免得臨場發揮容易緊張說不好。

7.我所經歷的面試,一般技術面最少是兩輪。如果一輪後讓你走了,而你還自我感覺良好,那我覺得你有必要回顧一下面試內容,並一條一條找找該問題的相關內容,大部分問題就在於你沒有答到點子上,可能是深度不夠,也可能是擴充套件不夠,繼續加油。

面試題整理

由於篇幅過長的原因,為了不影響大家的閱讀效果,文中沒有給到所有的答案。我這裡以檔案的形式整理好了,需要借閱的程式設計師朋友可以免費來領取。

面試檔案獲取方式:

轉發+關注我,新增助理VX:MXW5308 即可免費領取面試資料(助你金三銀四能跳槽漲薪)

收集了還有你不知道的其它面試題(springboot、mybatis、併發、java中高階面試總結等)

BAT面經總結,阿里巴巴、百度、京東、餓了麼offer拿到手軟!

BAT面經總結,阿里巴巴、百度、京東、餓了麼offer拿到手軟!

Java進階架構師學習指導視訊,價值不菲!(純免費)

最全架構師教程,價值上萬足足100G、1000+小時架構師教程.,Java程式設計師進階架構師看這個就夠了!

牛皮了,馬士兵老師全網首播阿里P8級技術、實現大型淘寶實戰落地

阿里P9架構師120分鐘帶你掌握執行緒池,不在為執行緒而煩惱