網易Java研發面經(技術3面和總結):Spring+線程+Redis+架構設計等
技術一面(主要是集合,JVM,線程,算法,40分鐘)
1.介紹項目
2.用過哪些鎖,在項目中是怎麼使用的,使用的場景?Synchronized和Lock的區別?瞭解哪些併發編程中使用的容器?
3.介紹Map,Treeset,Arraylist,Llinkedlist的區別,從數組講到鏈表,再講到Hashmap,再講到Hashcode()和equals()方法,哈希衝突的解決,再講到了Concurrenthashmap的實現,JDK下1.7與1.8實現的區別,TreeMap與Treeset的區別。
4.spring相關bean對象循環依賴是怎麼回事,怎麼解決?AOP的動態代理是怎麼實現的?
5.知道哪些排序算法?每個時間複雜度說一下,快排講一下流程
6.volatile的作用
7.瞭解過MYSQL的哪些索引嗎?MYSQL的引擎?索引查詢數據為什麼快?什麼時候該建立8.索引?什麼時候使用索引查詢比全表掃描更慢?為什麼會發生兩次IO的情況?
9.java內存模型講一下?
10.什麼時候發生垃圾回收?有哪些垃圾回收算法?
11.線程池的參數?拒絕策略?
二面(主問了數據庫,Redis,網絡等,50分鐘)
1.Redis單線程嗎?為什麼這麼設計?
2.Redis的事務怎麼處理的?怎麼保證事務之間互不影響?
3.數據庫的ACID講一下
4.可重複讀innodb怎麼實現的?innodb有哪些索引?怎麼建立的?
5.Java的lock的底層實現?
6.什麼是意向鎖?MyISAM比innodb好的地方在哪裡?具體應用場景?為什麼?
7.設計模式知道哪些?(單例模式,適配器模式,模板模式,裝飾器模式,代理模式,工廠模式)
8.裝飾器模式和代理模式本質區別是什麼?
9.擁塞避免和流量控制怎麼實現的?具體講一下
10.Mybatis怎麼使用事務?
11.TCP怎麼保證是可靠的?
12.在瀏覽器上輸入網址,訪問網頁,分析整個過程
13.XSS攻擊知道嗎?怎麼防止?DDOS攻擊實現原理?怎麼防護?
14.HTTPS的原理?非對稱加密和對稱加密?(RSA,AES和證書的原理)
三面(問了分佈式,架構設計等,1小時)
1.畫項目架構圖,講項目流程
2.NIO BIO IO的區別?相關NIO的框架有使用過哪些?
3.mysql的分佈式事務怎麼實現的?
4.談談Java相關的鎖?
5.2PC和3PC的區別?3PC會有什麼問題
6.RPC框架的實現原理?有使用過哪些主流RPC框架?
7.RPC和SOA 微服務的區別
9.分庫分表有哪些方式講一下?mycat知道嗎?
10.使用過哪些Nosql
11.mapreduce簡要介紹下?大概說了下原理。
12.redis中有哪些基本數據結構?redis持久化的設計?
13.redis有哪些集群方案?
14.你有什麼問題要問我嗎?
面試總結:
- java的基礎知識點,主要圍繞在集合類和多線程等:ArrayList、LinkedList、HashSet、HashpMap的數據結果,以及如何擴容、以及ConcurrentHashMap相關的多線程安全等。
- JVM的內存分配、幾個常見的垃圾回收算法以及原理、還有對應的JVM優化參數需要牢記。
- 網絡:TCP的三次握手等網絡都必問,重點掌握網絡協議。
- Redis:作為分佈式緩存的主力,基本也是BAT每次必考,重點是Redis的數據結構、內存、算法、持久化,以及與別的緩存memcached的優劣勢。
- 多線程:狀態流轉、多線程的實現,以及與高併發的區別等。
- Spring框架問得是最多的,BAT非常喜歡問,重點掌握。
- 最後就是分佈式架構設計
- 常用的分佈式架構設計方案:單點登錄、分佈式緩存、存儲、消息的選型,還有就是數據庫端的優化方案(需要提前瞭解)。
- 最好能提前瞭解深入一個類似秒殺這樣的項目,如果面試官問到類似的項目,你能把設計思路講出來,這對你的面試結果是很大的加分項。
以上就是網易Java題目,以下最新總結的阿里P6資深Java必考題範圍和答案,包含最全MySQL、Redis、Java併發編程等等面試題和答案,用於參考~
資料免費領取方式:轉發+轉發+轉發關注後,私信關鍵詞【面試】即可獲取免費領取方式!
重要的事說三遍,轉發+轉發+轉發!
更多筆記分享