二本本科生,十面阿里巴巴的心路歷程

點關注,不迷路;持續更新Java相關技術及資訊!!!
內容來源於網絡

前言

項目方面參考意義不大,所有問題均未涉及
筆者技術水平有限,可能面試難度較低,如果對您沒有幫助,請見諒
2次HR面就不放了,看到大家的面經都沒談到HR面,擔心寫出來可能會承擔不必要的風險。
看完可關注公衆號: bestsort(bestsort的祕密基地)預定優質內容
感謝 CBU 和 CRO 的所有面試官, 特別是CBU一面的小姐姐, 在我尚未經歷幾次面試的時候給了我特別多後續準備和發展的建議, 也感謝兩位內推人的積極跟進~
在這裏插入圖片描述

CBU

一面2.20(46min)

項目相關介紹,沒太大參考性就不寫了~
String 爲什麼不可變, 處於什麼考慮
String s1=“abc”, 這一語句執行後數據在Java中是如何存儲的
String s1 = “abc”, String s2 = “ab”+“c”, 創建了幾個對象
HashMap和ConcurrentHashMap簡單講一下(聊了hash、數據結構、擴容、線程安全性、不同版本比較)
紅黑樹、B+樹
多線程如何實現對線程間共享內存的保護
Java內存模型
volitail如何保證可見性
瞭解哪些設計模式
模板方法和代理模式的比較、適用場景
有沒有嘗試過JVM調優、dump內存

二面3.18(28min)

多線程的幾種實現方式介紹一下
運行時異常和一般異常的區別
HashMap、ConcurrentHashMap
HTTP、HTTPS介紹一下
UDP、TCP介紹一下
多態體現在哪些地方
堆排序、歸併的原理
代理模式,聊了聊JDK代理的源碼
項目相關
看過哪些項目的源碼
最近在看什麼技術類的書,收穫。聊了聊書上的redis相關內容
一面中回答最不好的問題,現在怎麼去解決。
在這裏插入圖片描述

BU筆試

給 n 個字符串,格式類似 “stringA, stringB”,表示這兩個字符串之間有某種關係,關係是可以傳遞的,最後給 m 個詢問 “stringA? stringB”,讓判斷 stringA 是否和 stringB 有關係。也就是說,如果 a 和 b 有關係,b 和 c 有關係的話,那 a 和 c 也是有關係的。

四面4.2(36min)

項目相關
覺得知乎哪個地方實現最複雜
知乎的關注列表在數據庫層面如何實現
上面三個題30分鐘,後續就是談人生了

五面4.7(22min)

Redis I/O模型、數據結構
synchronized 和 lock 的比較
線程狀態,狀態之間的切換、生命週期
等待和阻塞的區別
TCP如何保證消息的可靠傳輸
數據庫的索引機制。
最左匹配,結合B+樹的實現和查詢機制聊了聊
緩存雪崩
三種限流算法 在這裏插入圖片描述

交叉面4.8(30min)

Java內存區域劃分
ConcurrentHashmap 擴容
CAS
敏感詞過濾,時間、空間複雜度(字典樹->AC自動機)
進程通信
管道和重定向的區別
OSI模型
TCP、UDP區別
MySQL查詢優化器的優化過程(只講了擇路和成本估算)

後面就是HR面了。 然後掛了。。。寫這篇文章覆盤的時候發現問的東西相對其他面經真的都很簡單,
雖然最後沒能如意,不過還是感謝CBU的所有面試官,感謝他們犧牲個人時間來面試我這個蒟蒻。也感謝各位面試官給出的建議和鼓勵~比起我面字節時的自閉而言真的不要好太多~(不針對字節,單純就是因爲我太菜QAQ)

CRO

一面4.17(1h10min)

保證雙十一期間交易的一個正常、順滑進行能從哪些方面去考慮
常用限流方案
支付寶付款的大概設計思路
tomcat默認連接數
tomcat如何打破雙親委派模型
類加載器和類加載過程
用什麼方法自己實現一個ClassLoader
遇到過棧溢出嗎,什麼情況下會遇見,在哪些內存區域
什麼情況下會發生GC
如何手動觸發GC
GC算法原理
快排時間複雜度,原理,優化
線程的狀態
CPU佔用過高如何排除
tomcat啓動後是通過什麼協議對外提供服務
SSL握手流程
從安全的角度來看HTTP/HTTPS可能會存在哪些風險
XSS、CSRF是什麼,怎麼防範
Cookie有哪些風險
英語怎麼樣
平常學哪些課程,說了測試、需求、項目管理、體系結構設計
有哪些常用的測試方法
自動化測試、CI / CD有沒有了解過
數據庫隔離機制的實現方式

二面4.21(45min)

拿了那些offer
用過Linux沒有,如何查看線程的情況。如何根據最近修改時間逆序查看文件
重寫equals爲什麼要重寫hashcode
Hash衝突解決方案
將一個二元組排序, 排序的過程(不知道爲什麼突然拋出了個簡單問題)
根號5開根(二分/牛頓迭代)
斐波那契第n項(迭代/矩陣快速冪)
2個大文件, 比對相同行(對每一行摘要,建字典樹. 摘要相同的逐字符比對,聊了聊具體的時間/空間複雜度,總共耗時15min)
MySQL 常用engine(這個問題遇見了好多次… 聊了聊MyISAM和InnoDB的索引結構、表結構和log)
反問

三面4.23(1h14min)

p.s : 最自閉的一面,沒有之一QAQ

  • 雪花算法(從項目聊數據庫拆分聊過來的), 如何查詢
  • 防盜鏈方案

上面兩個問題加項目的一些問題共計花了30min, 接下來的40min全程自閉,就只爲問了一個問題單機8核心16G內存如何排序1T文件。包括以下小問題:

IO 方式
線程個數
線程之間如何調度
每個線程的任務
歸併排序的具體流程
第一次歸併後接下來的流程
多機大文件排序

我曾天真的以爲, 這一類問題說一下多路歸併的流程就差不多了,然而遇見面試官詳細到僞碼級別的問題直接炸鍋…好在面試官手下留情,勉強讓我過了。。。

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