2025 全新阿里巴巴 Java 面經(jīng)匯總(附答案模板),建議收藏!
釘釘一面
1.筆試(兩道全排序)
[5380. 全排列]
給定一個(gè)沒有重復(fù)數(shù)字的數(shù)組 nums
,輸出其所有可能的全排列。輸出的排列不應(yīng)包含重復(fù)的排列。
輸入格式
一個(gè)整數(shù)數(shù)組 nums
,其中不包含重復(fù)數(shù)字。
輸出格式
每行一個(gè)排列,排列中的整數(shù)用空格分隔。
輸入樣例
▼text
1 2 3
輸出樣例
▼text
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
[5381. 包含重復(fù)元素的全排列]
給定一個(gè)可能包含重復(fù)數(shù)字的數(shù)組 nums
,輸出其所有可能的全排列。輸出的排列不應(yīng)包含重復(fù)的排列。
輸入格式
一個(gè)整數(shù)數(shù)組 nums
,其中可能包含重復(fù)數(shù)字。
輸出格式
每行一個(gè)排列,排列中的整數(shù)用空格分隔。
輸入樣例
▼text
1 1 2
輸出樣例
▼text
1 1 2
1 2 1
2 1 1
2.java8有哪些新特性?
- [421. JDK8 有哪些新特性?]
3.Object類中有什么方法,有什么作用?
- [5908. Java Object 類中有什么方法,有什么作用?]
4.介紹下 Collection 接口
- [444.Java 中有哪些集合類?請簡單介紹]
5.HashMap、ArrayList 線程不安全如何解決?
使用線程安全的容器,例如 ConcurrentHashMap 和 CopyOnWriteArrayList 等替換。
或是使用 Collections.synchronizedMap
和 Collections.synchronizedList
包裝原來的容器即可。
- [4946. Java 的 CopyOnWriteArrayList 和 Collections.synchronizedList 有什么區(qū)別?分別有什么優(yōu)缺點(diǎn)?]
6.Spring AOP
- [573. 什么是 AOP?]
7.Spring AOP 如何實(shí)現(xiàn)動(dòng)態(tài)代理?
- [574. Spring AOP默認(rèn)用的是什么動(dòng)態(tài)代理,兩者的區(qū)別?]
8.在項(xiàng)目中用過哪些多線程類?
- [480. 你使用過哪些 Java 并發(fā)工具類?]
9.RPC 有了解嗎?
- [732. 讓你設(shè)計(jì)一個(gè) RPC 框架,怎么設(shè)計(jì)?]
- [155. 什么是 RPC?目前有哪些常見的 RPC 框架?實(shí)現(xiàn) RPC 框架的核心原理是什么?]
10.分布式架構(gòu)用過嗎?如何使用分布式
- [151. 什么是分布式?為什么需要分布式?]
- [772. 什么情況下需要使用分布式事務(wù),有哪些方案?]
11. 分布式鎖有了解過嗎
- [分布式鎖一般都怎樣實(shí)現(xiàn)?]
12.雙親委派機(jī)制
- [439. 什么是 Java 中的雙親委派模型?]
13.JVM 的棧堆 都是干嘛的?
- [524. Java 中堆和棧的區(qū)別是什么?]
14.gc 中如何判斷對象是垃圾?
- [534. Java 中如何判斷對象是否是垃圾?不同垃圾回收方法有何區(qū)別?]
14.JDK8后,JVM 有哪些變化?
- [536. 為什么 Java 8 移除了永久代(PermGen)并引入了元空間(Metaspace)?]
15.智力題排列問題
- [ 5326. 排列問題]
16.平時(shí)都怎么學(xué)習(xí)的
點(diǎn)擊鏈接,獲取更多大廠面經(jīng)和答案詳解。
阿里巴巴一面
Java內(nèi)存區(qū)域
- [523. JVM 的內(nèi)存區(qū)域是如何劃分的?]
事務(wù)的隔離級(jí)別
- [606. MySQL 中的事務(wù)隔離級(jí)別有哪些?]
- [585. Spring 事務(wù)有幾個(gè)隔離級(jí)別?]
臟讀與幻讀的區(qū)別
- [608. 數(shù)據(jù)庫的臟讀、不可重復(fù)讀和幻讀分別是什么?]
說下 MVCC
- [604. MySQL 中的 MVCC 是什么?]
redo log 和 bin log 區(qū)別
- [106. MySQL 中的日志類型有哪些?binlog、redo log 和 undo log 的作用和區(qū)別是什么?]
Spring 事務(wù)的傳播機(jī)制
- [586. Spring 有哪幾種事務(wù)傳播行為?]
- [587. Spring 事務(wù)傳播行為有什么用?]
AOP 的原理是什么
- [573. 什么是 AOP?]
AOP 底層兩個(gè)動(dòng)態(tài)代理的區(qū)別
- [574. Spring AOP默認(rèn)用的是什么動(dòng)態(tài)代理,兩者的區(qū)別?]
Java 字節(jié)碼
- [5909. Java 字節(jié)碼了解嗎?]
設(shè)計(jì)分布式鎖可以設(shè)計(jì)哪些接口
設(shè)計(jì)分布式鎖時(shí),常見的接口包括獲取鎖、釋放鎖、續(xù)期鎖以及嘗試獲取鎖。
1)獲取鎖 (acquireLock
):
- 嘗試獲取分布式鎖,若成功則返回鎖的唯一標(biāo)識(shí)符,失敗則返回獲取失敗的狀態(tài)或進(jìn)行重試。
2)釋放鎖 (releaseLock
):
- 釋放已獲取的鎖,需要提供鎖的唯一標(biāo)識(shí)符和鎖持有者信息,以確保釋放的鎖確實(shí)是持有者所持有的。
3)嘗試獲取鎖 (tryAcquireLock
):
- 嘗試在有限的時(shí)間內(nèi)獲取鎖,若在指定時(shí)間內(nèi)獲取成功則返回鎖的唯一標(biāo)識(shí)符,失敗則返回獲取失敗的狀態(tài)。
4)續(xù)期鎖 (renewLock
):
- 在鎖接近過期時(shí),延長鎖的有效期。續(xù)期操作必須驗(yàn)證續(xù)期請求的合法性,即續(xù)期者確實(shí)是鎖的持有者。
5)查詢鎖狀態(tài) (isLocked
):
- 查詢鎖是否被持有,以及持有者的信息。這對于排查鎖的狀態(tài)非常有用。
- 958. 分布式鎖一般都怎樣實(shí)現(xiàn)?
阿里菜鳥后端一面
對于給表創(chuàng)建索引,你會(huì)考慮什么?
- [9805. MySQL 在設(shè)計(jì)表(建表)時(shí)需要注意什么?]
- [1479. 在什么情況下,不推薦為數(shù)據(jù)庫建立索引?]
哪些場景下索引是會(huì)失效的?
- [598. MySQL 中使用索引一定有效嗎?如何排查索引效果?]
你有自己去用redis去實(shí)現(xiàn)一個(gè)限流器嗎?
- [1190. 什么是限流?限流算法有哪些?怎么實(shí)現(xiàn)的?]
- [34. Redisson 的 RateLimiter 是什么?如何在項(xiàng)目中實(shí)現(xiàn)分布式限流?你的限流策略是什么?]
你有用過一些中間件嗎?
詳細(xì)介紹一下線程池的工作流程?說一下線程池的核心參數(shù)?如果核心線程、最大線程都在工作,隊(duì)列也滿了,這時(shí)候來了個(gè)任務(wù),此時(shí)會(huì)發(fā)生什么?
- [472. 你了解 Java 線程池的原理嗎?]
核心線程數(shù)在運(yùn)行過程中能修改嗎
- [5931. Java 線程池核心線程數(shù)在運(yùn)行過程中能修改嗎?如何修改?]
你平時(shí)用過哪些數(shù)據(jù)庫?
數(shù)據(jù)庫的隔離級(jí)別有哪些?
- [606. MySQL 中的事務(wù)隔離級(jí)別有哪些?]
可重復(fù)讀是怎么實(shí)現(xiàn)的?
- [604. MySQL 中的 MVCC 是什么?]
你了解數(shù)據(jù)庫層面的悲觀鎖與樂觀鎖嗎?
- [610. MySQL 的樂觀鎖和悲觀鎖是什么?]
什么情況下會(huì)導(dǎo)致死鎖?
- [518. Java 中什么情況會(huì)導(dǎo)致死鎖?如何避免?]
說一下mysql的行鎖
- [609. MySQL 中有哪些鎖類型?]
說一下幻讀
- [608. 數(shù)據(jù)庫的臟讀、不可重復(fù)讀和幻讀分別是什么?]
redis的主從復(fù)制是怎么實(shí)現(xiàn)的?
- [651. Redis 主從復(fù)制的實(shí)現(xiàn)原理是什么?]
HR 面題目參考
- 你現(xiàn)在還在xx實(shí)習(xí)嗎?
- 在xx公司做了什么?選一個(gè)具體項(xiàng)目講講背景、你的做法和成果。
- 這個(gè)項(xiàng)目有量化指標(biāo)嗎?能提供數(shù)據(jù)說明結(jié)果嗎?
- 復(fù)盤來看,哪些地方做得不錯(cuò)?是怎么做到的?
- 你有做過 ToB 業(yè)務(wù)的項(xiàng)目嗎?
- 這兩段實(shí)習(xí)中,遇到的最大困難是什么?
- 這兩段實(shí)習(xí)帶來了哪些收獲?做得好的地方和需要提升的地方分別是什么?
- 生活中有沒有經(jīng)歷過特別困難的時(shí)期?
- 選擇公司時(shí),你會(huì)考慮哪些因素?
- 反問環(huán)節(jié)。
更多面經(jīng)及答案可以打開***閱讀學(xué)習(xí) ?? :****************************
#??驮诰€求職答疑中心#