2018年年底,阿里內推Java後端面試題

2018年年底,阿里內推Java後端面試題


阿里一面題目:

  • osi七層網絡模型,五層網絡模型,每次層分別有哪些協議

  • 死鎖產生的條件, 以及如何避免死鎖,銀行家算法,產生死鎖後如何解決

  • 如何判斷鏈表有環

  • 虛擬機類加載機制,雙親委派模型,以及爲什麼要實現雙親委派模型

  • 虛擬機調優參數

  • 拆箱裝箱的原理

  • JVM垃圾回收算法

  • CMS G1

  • hashset和hashmap的區別,haspmap的底層實現put操作,擴容機制,currenthashmap如何解決線程安全,1.7版本以及1.8版本的不同

  • md5加密的原理

  • 有多少種方法可以讓線程阻塞,能說多少說多少

  • synchronized和reetrantlock鎖

  • AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,讀寫鎖

阿里二面題目:

  • B-Tree索引,myisam和innodb中索引的區別

  • BIO和NIO的應用場景

  • 講講threadlocal

  • 數據庫隔離級別,每層級別分別用什麼方法實現,三級封鎖協議,共享鎖排它鎖,mvcc多版本併發控制協議,間隙鎖

  • 數據庫索引?B+樹?爲什麼要建索引?什麼樣的字段需要建索引,建索引的時候一般考慮什麼?索引會不會使插入、刪除作效率變低,怎麼解決?

  • 數據庫表怎麼設計的?數據庫範式?設計的過程中需要注意什麼?

  • 共享鎖與非共享鎖、一個事務鎖住了一條數據,另一個事務能查嗎?

  • Spring bean的生命週期?默認創建的模式是什麼?不想單例怎麼辦?

阿里三面題:

  • 高併發時怎麼限流

  • 線程池的拒接任務策略

  • HashMap和Hashtable的區別

  • 實現一個保證迭代順序的HashMap

  • 說一說排序算法,穩定性,複雜度

  • 說一說GC

  • JVM如何加載一個類的過程,雙親委派模型中有哪些方法?

  • TCP如何保證可靠傳輸?三次握手過程?

  • springboot的啓動流程

  • 集羣、負載均衡、分佈式、數據一致性的區別與關係

  • 數據庫如果讓你來垂直和水平拆分,誰先拆分,拆分的原則有哪些(單表數據量多大拆)

  • 最後談談Redis、Kafka、 Dubbo,各自的設計原理和應用場景

面試總結:

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

  • 性能調優、算法數據機構

  • 高併發下數據安全、接口冪等性、原子性等

  • 分佈式下協同、已經鎖的處理

  • 數據庫的分庫分表、項目之間的垂直拆分

詳細技術點爲:

  • HashMap

  • JVM 【必問】

  • Dubbo

  • Mybatis

  • Zookeeper

  • http tcp/ip

面試詳細過程過程小編已經整理成文檔

請加羣獲取!

如何學習才能快速入門並精通呢?
當真正開始學習的時候難免不知道從哪入手,學習時頻繁踩坑,導致效率低下影響繼續學習的信心,最終浪費大量時間。
爲了讓學習變得輕鬆、高效!今天給大家免費分享一套教學資源,幫助大家在成爲架構師的道路上披荊斬棘。
羣內已經將知識體系整理好(源碼,筆記,PPT,學習視頻)進羣免費領取。
加我裙:948368769,免費領取資料
享給喜歡Java,喜歡編程,有夢想成爲架構師的程序員們,希望能夠幫助到你們。
最後,做一個愛思考,懂思考,會思考的程序員。


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