一面:
ArrayList和linkedlist區別。ArrayList是否會越界。 ArrayList和hashset有何區別。hashset存的數是有序的么。 volatile和synchronized區別 多態的原理 數據庫引擎Innodb和myisam區別 Redis的數據結構 Redis是基于內存的么 Redis的list zset的底層實現 http和https的區別,tcp握手過程 jvm垃圾回收算法手寫冒泡 手寫單例包括多線程下 Java線程間怎么實現同步,notify()與notifyAll()的區別 數據庫的悲觀鎖和樂觀鎖應用場景。 排序算法的復雜度,快速排序非遞歸實現。 海量數據過濾,黑名單過濾一個url。
二面:
list set map 底層使用什么實現的有哪些典型實現 hashmap擴容是怎么擴容的,為什么是2的冪 concurrenthashmap為什么線程安全,采用了什么措施應對高并發 線程池的參數有什么意義 Springmvc請求流程 Spring IOC,autowired如何實現 Spring boot SpringClound的基本架構設計 Dubbo和SpringClound的區別在哪里,優劣勢 說說一致性Hash算法
三面:
分布式架構設計哪方面比較熟悉 講講你對CDN的了解,與分布式緩存和本地緩存的區別 多線程和高并發有什么區別 高并發下有哪些常用的技術解決方案,舉三個高并發場景設計例子 說一個你對JVM優化的實際案例,包括實際步驟和方法 Docker有使用過和了解嗎?Docker和JVM的區別是什么? Docker的基本架構和使用場景? 負載均衡有接觸過哪些開源框架,優劣勢是什么? 數據庫分庫分表需要怎樣來實現? 數據庫端的常用優化策略? 如果讓你來設計秒殺系統,你的設計思路是什么,為什么要這樣設計?
面試總結:
java的基礎知識點,主要圍繞在集合類和多線程等:ArrayList、LinkedList、HashSet、HashpMap的數據結果,以及如何擴容、以及ConcurrentHashMap相關的多線程安全等。 JVM的內存分配、幾個常見的垃圾回收算法以及原理、還有對應的JVM優化參數需要牢記。 網絡:TCP的三次握手等網絡都必問,重點掌握網絡協議。 Redis:作為分布式緩存的主力,基本也是BAT每次必考,重點是Redis的數據結構、內存、算法、持久化,以及與別的緩存memcached的優劣勢。 多線程:狀態流轉、多線程的實現,以及與高并發的區別等。 Spring框架問得是最多的,BAT非常喜歡問,重點掌握。 最后就是分布式架構設計
- 常用的分布式架構設計方案:單點登錄、分布式緩存、存儲、消息的選型,還有就是數據庫端的優化方案(需要提前了解)。
- 最好能提前了解深入一個類似秒殺這樣的項目,如果面試官問到類似的項目,你能把設計思路講出來,這對你的面試結果是很大的加分項。
你可能也喜歡:
阿里java架構師面試128題含答案:分布式架構+Dubbo+多線程+Redis 螞蟻中間件團隊Java面試題:Netty+Redis+Kafka+MongoDB+分布式 最新螞蟻金服Java面試題:Docker+秒殺設計+RocketMQ+億級數據設計 2019最新拼多多Java面試題:幻影讀+分段鎖+死鎖+Spring Cloud+秒殺 Java面試進階:Dubbo、Zookeeper面試題錦集 阿里架構師進階23期精講:Redis、Kafka、Dubbo、Docker等
總結
以上是生活随笔為你收集整理的BAT研发Java面试36题总结:Spring+Redis+Docker+Dubbo的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。