阿里中間件/百度/螞蟻中間件Java崗面試究竟有多難?你親自體驗下 百度(三面) 阿里中間件(四面) 螞蟻中間件團隊面試題 面試答案

百度(三面)

百度一面(現場)

  1. 自我介紹
  2. Java中的多態
  3. 爲什麼要同時重寫hashcode和equals
  4. Hashmap的原理
  5. Hashmap如何變線程安全,每種方式的優缺點
  6. 垃圾回收機制
  7. Jvm的參數你知道的說一下
  8. 設計模式瞭解的說一下
  9. 手撕一個單例模式
  10. 算法題目
  11. 手撕算法:反轉單鏈表
  12. 手撕算法:實現類似微博子結構的數據結構,輸入一系列父子關係,輸出一個類似微博評論的父子結構圖
  13. 手寫java多線程
  14. 手寫java的soeket編程,服務端和客戶端
  15. 手撕算法:爬樓梯,寫出狀態轉移方程
  16. 智力題:時針分針什麼時候重合

百度二面(現場)

  1. 自我介紹
  2. 項目介紹
  3. 服務器如何負載均衡,有哪些算法,哪個比較好,一致性哈希原理,怎麼避免DDOS攻擊請求打到少數機器?
  4. TCP連接中的三次握手和四次揮手,四次揮手的最後一個ack的作用是什麼,爲什麼要time wait,爲什麼是2msl?
  5. 數據庫的備份和恢復怎麼實現的,主從複製怎麼做的,什麼時候會出現數據不一致,如何解決?
  6. Linux查看cpu佔用率高的進程
  7. 手撕算法:給定一個數字三角形,找到從頂部到底部的最小路徑和。每一步可以移動到下面一行的相鄰數字上。
  8. 然後繼續在這個問題上擴展
  9. 求出最短那條的路徑
  10. 遞歸求出所有的路徑
  11. 設計模式講一下熟悉的
  12. 會不會濫用設計模式?
  13. 多線程條件變量爲什麼要在while體裏?
  14. 你遇到什麼挫折,怎麼應對和處理?

百度三面(現場)

  1. 自我介紹
  2. 項目介紹
  3. Redis的特點
  4. Redis的持久化怎麼做,aof和rdb,有什麼區別,有什麼優缺點?
  5. Redis使用哨兵部署會有什麼問題?【我說需要擴容的話還是得集羣部署。】
  6. 說一下JVM內存模型把,有哪些區,分別幹什麼的?
  7. 說一下gc算法,分代回收說下
  8. MySQL的引擎講一下,有什麼區別,使用場景呢?
  9. 分佈式事務瞭解麼?
  10. 反爬蟲的機制,有哪些方式?

阿里中間件(四面)

Java中間件一面

技術一面考察範圍:

  • 重點問了Java線程鎖:synchronized 和ReentrantLock相關的底層實現
  • 線程池的底層實現以及常見的參數
  • 數據結構基本都問了一遍,鏈表、隊列等
  • Java內存模型:常問的JVM分代模型,以及JDK1.8後的區別,最後還問了JVM相關的調優參數
  • 分佈式鎖的實現比較

技術一面題目:

1:自我介紹

2:擅長哪方面的技術?

3;java有哪些鎖中類?(樂觀鎖&悲觀鎖、可重入鎖&Synchronize等)

4:比較重要的數據結構,如鏈表,隊列,棧的基本原理及大致實現

5:J.U.C下的常見類的使用。Threadpool的深入考察;blockingQueue的使用

6:Java內存分代模型,GC算法,JVM常見的啓動參數;CMS算法的過程

7:Volatile關鍵字有什麼用(包括底層原理)?

8:線程池的調優策略

9:Spring cloud的服務註冊與發現是怎麼設計的?

10:分佈式系統的全局id如何實現

11:分佈式鎖的方案,redis和zookeeper那個好,如果是集羣部署,高併發情況下那個性能更好?

Java中間件二面

技術二面考察範圍:

  • 問了項目相關的技術實現細節
  • 數據庫相關:索引、索引底層實現、mysql相關的行鎖、表鎖等
  • redis相關:架構設計、數據一致性問題
  • 容器:容器的設計原理等

技術二面題目:

  1. 參與的項目,選一個,技術難度在哪裏?
  2. Collections.sort底層排序方式
  3. 負載均衡的原理
  4. 設計模式與重構,談談你對重構的理解
  5. 談談redis相關的集羣有哪些成熟方案?
  6. 再談談一致hash算法(redis)
  7. 數據庫索引,B+樹的特性和建樹過程
  8. Mysql相關的行鎖,表鎖、樂觀鎖、悲觀鎖
  9. 談談多線程和併發工具的使用
  10. 談談redis的架構和組件
  11. Redis的數據一致性問題(分佈式多節點環境&單機環境)
  12. Docker容器

Java中間件三面

技術三面考察範圍:

  • 主要談到了高併發的實現方案
  • 以及中間件:redis、rocketmq、kafka等的架構設計思路
  • 最後問了平時怎麼提升技術的

技術三面題目:

  1. 高併發情況下,系統是如何支撐大量的請求的?
  2. 接着上面的問題,延伸到了中間件,kafka、redis、rocketmq、mycat等設計思路和適用場景等
  3. 最近上過哪些技術網站?最近再看哪些書?
  4. 工作和生活中遇見最大的挑戰,怎麼去克服?
  5. 未來有怎樣的打算

Java中間件四面

最後,你懂的,主要就是HR走流程了,主要問了未來的職業規劃。

螞蟻中間件團隊面試題

螞蟻中間件一面

  1. 自我介紹
  2. JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK採用什麼算法?
  3. 新生代和老年代的回收機制
  4. 講一下ArrayList和linkedlist的區別,ArrayList與HashMap的擴容方式
  5. Concurrenthashmap1.8後的改動
  6. Java中的多線程,以及線程池的增長策略和拒絕策略瞭解麼?
  7. Tomcat的類加載器瞭解麼?
  8. Spring的ioc和aop,Springmvc的基本架構,請求流程
  9. HTTP協議與Tcp有什麼區別,http1.0和2.0的區別?
  10. Java的網絡編程,講講NIO的實現方式,與BIO的區別,以及介紹常用的NIO框架
  11. 索引什麼時候會失效變成全表掃描?
  12. 介紹下分佈式的paxos和raft算法

螞蟻中間件二面

  1. 你在項目中怎麼用到併發的?
  2. 消息隊列的使用場景,談談Kafka
  3. 你說了解分佈式服務,那麼你怎麼理解分佈式服務?
  4. Dubbo和Spring Clound的區別,以及使用場景
  5. 講一下docker的實現原理,以及與JVM的區別
  6. MongoDB、Redis和Memcached的應用場景,各自優勢
  7. MongoDB有事務嗎?
  8. Redis說一下sorted set底層原理
  9. 講講Netty爲什麼併發高,相關的核心組件有哪些?

螞蟻中間件三面

  1. 完整的畫一個分佈式集羣部署圖,從負載均衡到後端數據庫集羣
  2. 分佈式鎖的方案,Redis和Zookeeper哪個好,如果是集羣部署,高併發情況下哪個性能更好?
  3. 分佈式系統的全局id如何實現?
  4. 數據庫萬級變成億級,你如何來解決?
  5. 常見的服務器雪崩是由什麼引起的,如何來防範?
  6. 異地容災怎麼實現?
  7. 常用的高併發技術解決方案有哪些,以及對應的解決步驟?

面試答案

這份面試文件涵蓋了Java開發1至5年的面試常見技術問題,整體分爲當季最新系列、大廠面試真題系列、技術系統分類系列三部分。(純文字文本佔內存46.97MB)

需要的朋友,>點擊此處,免費領取

  • 2020年最新面試題
  • 大廠面試真題
  • 系統技術分類系列

JVM、MySQL、Mybatis、MongoDB、Redis、Spring、Spring boot、Spring cloud、Kafka、RabbitMQ、Nginx......

以上所有的面試資料均可免費領取,需要的朋友,>點擊此處,免費領取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章