最新阿里java開發崗四面:分佈式+性能調優+鎖+數據庫等

專注於Java領域優質技術號,歡迎關注

來自:知乎專欄 java架構技術交流

阿里一面:

  1. osi七層網絡模型,五層網絡模型,每次層分別有哪些協議死鎖產生的條件, 以及如何避免死鎖,銀行家算法,產生死鎖後如何解決如何判斷鏈表有環虛擬機類加載機制,雙親委派模型,以及為什麼要實現雙親委派模型虛擬機調優參數拆箱裝箱的原理JVM垃圾回收算法CMS G1hashset和hashmap的區別,haspmap的底層實現put操作,擴容機制,currenthashmap如何解決線程安全,1.7版本以及1.8版本的不同md5加密的原理有多少種方法可以讓線程阻塞,能說多少說多少synchronized和reetrantlock鎖AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,讀寫鎖

阿里二面題:

  1. B-Tree索引,myisam和innodb中索引的區別BIO和NIO的應用場景講講threadlocal數據庫隔離級別,每層級別分別用什麼方法實現,三級封鎖協議,共享鎖排它鎖,mvcc多版本併發控制協議,間隙鎖數據庫索引?B+樹?為什麼要建索引?什麼樣的字段需要建索引,建索引的時候一般考慮什麼?索引會不會使插入、刪除作效率變低,怎麼解決?數據庫表怎麼設計的?數據庫範式?設計的過程中需要注意什麼?共享鎖與非共享鎖、一個事務鎖住了一條數據,另一個事務能查嗎?Spring bean的生命週期?默認創建的模式是什麼?不想單例怎麼辦?

阿里三面

  1. 高併發時怎麼限流線程池的拒接任務策略
  2. HashMap和Hashtable的區別
  3. 實現一個保證迭代順序的HashMap說一說排序算法,穩定性,複雜度說一說GCJVM如何加載一個類的過程,雙親委派模型中有哪些方法?TCP如何保證可靠傳輸?三次握手過程?
  4. springboot的啟動流程
  5. 集群、負載均衡、分佈式、數據一致性的區別與關係
  6. 數據庫如果讓你來垂直和水平拆分,誰先拆分,拆分的原則有哪些(單表數據量多大拆)
  7. 最後談談Redis、Kafka、 Dubbo,各自的設計原理和應用場景

四面(HR

聊聊未來的規劃,平時生活的愛好,主要還是在看溝通和交流能力!

面試總結:

通過這次面試題和之前發的阿里面試題來看,可以總結出目前互聯網公司面試考點為:

  1. 性能調優、算法數據機構高併發下數據安全、接口冪等性、原子性等分佈式下協同、已經鎖的處理數據庫的分庫分表、項目之間的垂直拆分

詳細技術點為:

HashMap,JVM 【必問】,Dubbo,Mybatis,Zookeeper,http tcp/ip


分享到:


相關文章: