阿里釘釘、ICBU、CBU、螞蟻、國際化中臺Java後臺面經

阿里提前批面了很多部門,除了淘系一面其他都過了,最終點了國際化中臺的內推,在焦急等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進階架構知識。

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