就最近兩週找工作的情況來看,市場對Java工程師的需求並沒有因爲經濟發展受阻而大幅減少,只是市場對Java工程師的要求越來越高。
但我們要知道,寒冬之中,什麼是最珍貴,就讓鄙人告訴你:人才。只要有過硬的技術和裝備,在逆風直下的情況下,咱們也能迎難而上,打他個戳手不及。不是“李雲龍”大哥說:“過狹路相逢勇者勝.”
一面
- 自我介紹
- 談一個你覺得你學到最多的項目,使用了什麼技術,挑戰在哪裏
- Spring的bean的作用域?(比如:singleton,prototype等)
- Spring的IOC實現原理?沒有無參構造函數能實例化嗎?有參構造函數注入?(xml配置)
- 通過反射,談到了方法區,然後,類加載機制?
- synchronized的實現原理?Volatile能保證原子性嗎?爲什麼
- hashmap和concurrenthashmap的size方法怎麼實現的
- JVM的調優參數?(-Xmn,-Xms等具體參數設置)
- 線程池優點,參數,如果我想實現newSingleThreadPoll,應該怎麼配置,構造方法傳什麼參數
- mysql死鎖,怎麼解決,如果不要求執行順序,死鎖怎麼解決
- ioc和aop原理
- 線程的五態?轉化過程?
- TCP三次握手,爲什麼三次握手?
- JVM內存分區?(主存,工作內存,堆,棧。。。。)
- 講一下GC?
- 爲什麼要用老年代和新生代?
- 新生代進入老生代的情況?
- 新生代的分區?
二面
- 變着法的問了一大堆線程池的知識 (主要考對應的參數)
- java內存模型
- lock和synchronized的區別
- reentrantlock的實現
- hashmap和concurrenthashmap
- B+樹和B-樹的區別
- 複合索引
- 聚集索引和非聚集索引的區別?
- 數據庫索引 主鍵和唯一索引有什麼區別
- 索引失效條件,什麼時候該建立索引
- innDB和MyISAM的區別?
- 線程安全(阻塞同步,非阻塞同步,無同步)
三面
主要高併發和分佈式架構設計
- 服務器模型以及之間的區別
- 線程池的設計
- 線程池如何做負載均衡
- 如何實現線程調度算法
- 複合索引是如何實現的?
- 如何設計單點登錄,單點登錄的原理
- redis緩存和memcached緩存的區別,以及各自的優劣勢
- 大型高併發網站如何做性能優化:Web性能、數據庫性能、應用服務* 實踐中如何優化MySQL:SQL語句及索引的優化、數據庫表結構的優化、系統配置的優化、硬件的優化
- 分庫分表和讀寫分離如何設計
- 微服務架構:dubbo和springcloud的區別,以及各自對應的使用場景。
以上是阿里最新技術三面題目
另:在這個變化莫測的時代,大家要與時俱進,不要在舒適區待太久,祝大家都能找到滿意的工作。
給大家推薦一個Java進階內推交流羣937053620,不管你在地球哪個方位,不管你參加工作幾年都歡迎你的入駐!(羣內會免費提供一些羣主收藏的免費學習書籍資料以及整理好的幾百道面試題和答案文檔!)