阿里提前批面了很多部門,除了淘系一面其他都過了,最終點了國際化中臺的內推,在焦急等hr面中,分享面經,希望能幫到大家,都能拿到滿意的offer~
3.3阿里CBU一面
項目30分鐘(流程+項目難點+部署)
JVM類加載過程
主要類加載器有什麼
雙親委派模型的好處
雙親委派模型怎麼打破
什麼軟件/應用打破了雙親委派模型
常用設計模式介紹(代理模式、包裝模式、工廠模式、適配器模式、責任鏈模式......)
包裝模式在JDK中哪裏應用了、責任鏈模式在哪裏應用
工廠模式在Spring源碼中哪裏有應用
多線程在項目中的應用
定義線程池的方法
Callable和Runnable的區別
FutureTask介紹
BeanFactory和ApplicationContext區別
Bean的生命週期
Java中實現Map接口的有什麼
遍歷HashMap的幾種方法
Java8中JVM運行時數據結構變化是什麼(元空間取代了方法區)
爲什麼用元空間取代方法區
業界大數據新技術,比如Hadoop瞭解嗎?
Java中的包裝類有什麼用(Integer Long Double),爲什麼需要包裝類
TCP的粘包?粘包怎麼解決?UDP會粘包嗎?
TCP面向什麼傳輸,UDP面向什麼傳輸?
RPC瞭解嗎?
線程的聲明週期?
迪傑斯特拉最短路徑算法?
選擇排序是穩定的嗎,時間複雜度?
快排穩定嗎,時間複雜度,什麼時候性能最差?
MYSQL的索引爲什麼使用B+樹的數據結構?
前端Vue.js Ant Design瞭解嗎?
Servlet是線程安全的嗎?爲什麼線程不安全?
Linux的命令瞭解嗎,Top命令是什麼?
實驗室項目有人指導嗎?
Redis怎麼實現分佈式鎖
介紹Redis的緩存穿透和緩存雪崩
怎麼解決緩存穿透和緩存雪崩
類加載裏面Class類和Object類的加載順序
3.4螞蟻金融核心一面
項目25分鐘
熱點數據怎麼處理
分佈式事務
JVM運行時數據結構介紹
os的程序計數器和線程的程序計數器有什麼區別
垃圾收集器CMS介紹
標記-整理 的整理階段會STW嗎
MYSQL數據庫聚簇索引 非聚簇索引
索引覆蓋
UUID作爲主鍵對於索引寫的影響
DB和緩存一致性怎麼保持(雙寫一致)
分佈式數據庫,怎麼保證轉賬一致性
3.4阿里ICBU一面
項目中Redis的應用
介紹Redis基本數據類型及應用場景
介紹Sping框架IOC和AOP
介紹redis緩存雪崩及解決方案
介紹MyBatis框架(dao接口沒有實現類、xml解析過程、延遲加載)
代碼題:求給定字符串的最長不重複子串
代碼題:給定String數組,求能拼接成的最大的數,以String類型返回
3.4阿里ICBU二面
項目難點
Map類型及介紹(HahMap、Hashtable、CurrentHashMap、LinkedHashMap)
HashMap線程不安全,環形鏈,CPU佔用率過高
CPU佔用率過高怎麼排查
常見索引類型(唯一性索引、普通索引、聯合索引)
索引覆蓋
普通索引原理是什麼,不同創建方式得到的普通索引的區別
Redis特性介紹(基於內存、過期鍵刪除策略、持久化、數據結構多樣、事務、主從架構)
Spring的AOP介紹(切面編程、動態代理)
研究生課題、畢設選什麼課題
分佈式相關了解什麼
自己的缺點是什麼
3.4阿里釘釘一面
os死鎖產生的條件、怎麼避免死鎖
樂觀鎖和悲觀鎖怎麼理解
Java鎖有什麼(Synchronized、ReentrantLock、ReentrantReadWriteLock、AQS)
Integer a= 300,Int b=300;問a==b是true還是false?
Integer a= 300,Integer b=300;問a==b是true還是false?
Integer a=3,Integer b = 3;問a==b是true還是false?
二叉樹是什麼
二叉搜索樹是什麼
二叉搜索樹插入過程
HashMap介紹
解決hash衝突爲什麼使用紅黑樹不適用二叉樹
一個長度小於1000的數組,怎麼取出最大的十個數(堆排序、快排、各自的時間複雜度)
分佈式事務瞭解嗎(CAP、BASE)
數據庫事務是什麼(ACID)
分佈式併發控制(分佈式鎖)
Redis怎麼實現分佈式鎖
Redis除了LUA還能怎麼實現分佈式鎖(RedLock?)
堆和棧區別
堆怎麼分區,什麼時候進行Full GC
滑動窗口介紹
面試官提問:你覺得我還有什麼地方沒問到,但是是你掌握的比較好的?
建議多刷算法、數據結構
3.5阿里淘系聚石塔一面(掛)
項目
數據庫和Redis數據一致性
程序服務器宕機怎麼保持一致(binlog),這種情況下還會有什麼問題
AOP講解,原理
SpringMVC的好處和缺點
線程池開線程標準
NIO和BIO區別,NIO一定比BIO好嗎?爲什麼
多核和多CPU有什麼區別
git底層原理、IDEA快捷鍵
二叉樹遍歷方式(遞歸、非遞歸的兩種形式)
常用設計模式(單例、動態代理)
單例模式有什麼好處
你在代碼中應用靜態類、單例模式的場景
OOM產生的情形
怎麼避免OOM
線程上下文切換、保存現場是什麼、保存的位置
JMM內容
代碼:字符串和城市匹配
代碼:100G字符串(數字)文件存在磁盤,在4G的內存中,排序
你覺得自己的優點、長處(這時候我已經崩潰了,這期間問了很多很多底層的東西,我都不會,我想轉產品)
3.8 阿里國際化中臺一面
自我介紹
項目
本科課程,你覺得你最感興趣的,學的最好的課程
計算機網絡五層模型介紹
TCP三次握手
一個url從瀏覽器輸入到響應的全過程
servlet結合spring講述
spring事務實現原理
spring AOP原理擴展
JDBC連接數據庫執行sql過程
項目中的數據結構介紹
樹(二叉樹、完全二叉樹、滿二叉樹、紅黑樹、b樹、b+樹)、鏈表、棧、隊列
競賽論文情況
項目中的難點亮點是什麼
除了redis還了解其他的緩存嗎
JVM系統介紹(運行時數據結構、垃圾回收過程、判定對象死亡)
3.8阿里國際化中臺二面
自我介紹
本科課程掌握比較好的課程
計算機網絡五層模型、TCP三次握手
實際動手實現過網絡協議嗎
HTTPS實現原理,加密算法
socket編程
socket通信過程
用過什麼數據結構解決什麼問題
concurrentHashMap原理
CAS和synchronized的區別
synchronized鎖的區別
HashMap介紹
紅黑樹、b樹、b+樹介紹及應用場景
算法:動態規劃、遞歸、貪心算法、迪傑斯特拉算法、貪心算法
1000000個整型數字怎麼排序獲得topk(k大小的小根堆),時間複雜度和空間複雜度是什麼
字符串匹配算法KMP
LRU怎麼實現
spring介紹 IOC AOP
springMVC執行過程
shiro框架介紹
自定義註解知道嗎,註解原理
cpu佔用率過高可能的原因
JAVA IO編程
競賽情況
3.9 阿里國際化中臺三面
學習新知識的過程
spring學習總結(詳細講述Spring和IOC的學習過程)
Spring Bean生命週期
Spring Bean生命週期,你在實際中有什麼應用
Redis在項目中的應用
AOP介紹以及在你項目中某個具體功能的實現(講解事務源碼、原理、應用)
設計模式瞭解什麼,在項目中的實際應用
項目難點介紹
財務業務梳理+事務實現+功能抽象
競賽情況
機器學習瞭解嗎
你覺得自己人生中很受挫的事情是什麼?
英語問答:
1.英文自我介紹
2.英文介紹三年的職業規劃
3.18阿里國際化中臺筆試
有10億個數據,數據爲整數,取值範圍爲[1 - 10000],請對這10億個數據進行排序。
設計一個拼手氣紅包算法。給定紅包總金額和紅包的個數,輸出每個紅包的金額。 要求:1). 每個紅包金額隨機 2). 每個紅包的金額數不小於1 3). 每個紅包的金額數不超過總金額的30% 例如紅包總金額100,人數10,輸出【19 20 15 1 25 14 2 2 1 1】
關注小編-【AI喬治】瞭解更多Java進階架構知識。