先后面試了各大小公司,拿了一些 offer捉撮,有阿里怕品,滴滴,快手巾遭,達(dá)達(dá)肉康,得物等公司。面試的公司大部分都能過灼舍,所以這里給大家分享下自己的經(jīng)驗(yàn)吼和,也給自己做個(gè)歸檔,希望能給正在準(zhǔn)備跳槽骑素,找工作的朋友一點(diǎn)幫助炫乓,這里主要分享下阿里面試的經(jīng)歷!
阿里一面
自我介紹,聊項(xiàng)目, 這邊挺常規(guī)的,從項(xiàng)目入手献丑。
解析 Excel 為什么用 POI ? POI 存在的問題?
還知道哪些解析 Excel 的工具嗎?
你們項(xiàng)目中用過 MQ末捣,平時(shí)都用 MQ 來做什么?
你處理過 MQ 得冪等問題,當(dāng)時(shí)是怎么做的?
MQ 的可靠性怎么保證?
redis 你們都用來做什么?
redis 的持久化機(jī)制?
怎么樣保證 redis 的高可用?
HashMap 和 ConcurrentHashMap 的區(qū)別?
ConcurrentHashMap 不同版本的差異?
用過多線程嗎?
多線程的幾種實(shí)現(xiàn)方式。
做過微服務(wù)開發(fā)嗎?
說一說對重構(gòu)的看法
有什么問題要問我的嗎?
時(shí)間不長,大概二十分鐘,面試官人不錯(cuò)创橄。一面結(jié)果通過箩做。
阿里二面
過了一個(gè)星期,由于當(dāng)?shù)赜邪⒗锏淖庸?就去了子公司的會議室進(jìn)行視頻面試。
二面看上去是個(gè)組長的人,年紀(jì)并不輕妥畏。同樣的自我介紹開始,然后聊來深圳發(fā)展的意愿,個(gè)人的情況,然后問了一下做的項(xiàng)目,就開始問問題了卒茬。
項(xiàng)目中處理了哪些格式的數(shù)據(jù)類型?
數(shù)據(jù)傳輸過程用的什么加密?
對稱加密和非對稱加密的區(qū)別?
http 和 https 的區(qū)別?
為什么 https 使用混合加密的方式?
說一說 JVM 調(diào)優(yōu)的思路及你是怎么樣調(diào)優(yōu)的。
JVM 常見的算法咖熟。
抽象類和接口的區(qū)別和應(yīng)用場景? ( 挺新鮮的,第- -)次碰到 )
平時(shí)有沒有用到什么設(shè)計(jì)模式?
看過什么源碼沒有?
什么是 SpringAOP?
AOP 實(shí)現(xiàn)的原理圃酵。
sql 優(yōu)化的思路。
索弓|實(shí)現(xiàn)原理馍管。
有時(shí)候索引失效郭赐,為什么?
問了我期望薪資,本來說月薪了,后面他說他們那里是按年薪算的。然后讓我等一下 ,他去找部長去概去了二十分鐘确沸。
二面結(jié)果:通過捌锭。
阿里三面
自我介紹,然后開始聊項(xiàng)目。
數(shù)據(jù)采集的時(shí)候有沒有對數(shù)據(jù)進(jìn)行校驗(yàn)?
有沒有做加密處理?
對稱加密和非對稱加密的區(qū)別?
如何保證數(shù)據(jù)不丟失呢? ( 對賬)
你們項(xiàng)目中 redis 用來干什么了?
redis 常用的數(shù)據(jù)類型?
redis 持久化機(jī)制?
分布式鎖的實(shí)現(xiàn)?
場景題:一個(gè) SQL 的 TOP N 問題
JVM 參數(shù)調(diào)優(yōu)及 JVM 內(nèi)存結(jié)構(gòu)罗捎。
常見的垃圾回收算法观谦。
dubbo 整個(gè)調(diào)用過程。
SpringMVC桨菜、Spring 和 SpringBoot 的區(qū)別 ?
線程池實(shí)現(xiàn)原理豁状。
sql 優(yōu)化的思路捉偏。
索弓|實(shí)現(xiàn)原理。
聚簇索引和非聚簇索引的區(qū)別泻红。
你有什么要問我的嗎? ( 你是部長?他說不是,部長授權(quán)面試夭禽。)
阿里四面
過了一個(gè)星期,收到電話面試,各位以為是 HR 面,錯(cuò)了,這個(gè)叫業(yè)務(wù)經(jīng)理面。HR 說這個(gè)一 般都能過谊路。
自我介紹,說一個(gè)你最熟悉的項(xiàng)目, 你在其中承擔(dān)什么樣的角色,開發(fā)過程中碰到最大的難題是什么?
聊一聊 SOA 和微服務(wù)讹躯。
大學(xué)掛過科沒有。
哪科學(xué)得最好缠劝。
大概總共聊了 15 分鐘左右潮梯。
四面結(jié)果:通過。
阿里五面
又過了一個(gè)星期惨恭。才到 HR 面酷麦,是當(dāng)?shù)刈庸疽曨l面試。
自我介紹,項(xiàng)目類型喉恋。
為什么考慮到深圳發(fā)展?
為什么選擇平安銀行?
現(xiàn)在在面試哪些公司?
如何規(guī)劃自己的生活?
期望薪資。
如何快速搞定 Java 面試轻黑,總體上做好以下三點(diǎn)即可:
簡歷準(zhǔn)備
核心技術(shù)及面試題
面試技巧
簡歷準(zhǔn)備
首先你要準(zhǔn)備的是簡歷。簡歷很重要业舍,這是別人了解你的第一個(gè)地方舷暮,所以簡歷要好好寫复颈。
自我簡介:用最簡單的話來說明自己的情況,不超過 200 字帜讲。比如:10+年的軟件開發(fā)經(jīng)驗(yàn)(說明你的主業(yè))获黔,4+年的團(tuán)隊(duì) leader 經(jīng)驗(yàn)(說明你的領(lǐng)導(dǎo)力),擅長高可用高性能的分布式架構(gòu)(說明你的專業(yè)和專攻)预茄,多年互聯(lián)網(wǎng)和金融行業(yè)背景(說明你的行業(yè)背景),任職于 XXX 公司的 XX 職位(說明你的職業(yè))诗宣,負(fù)責(zé) XXX 平臺或系統(tǒng)(說明你的業(yè)務(wù)場景)....
個(gè)人技能:讓對方了解你掌握的技術(shù)和熟悉的領(lǐng)域。如 JVM篮灼、并發(fā)編程、Redis娘荡、 Spring 源碼、分布式系統(tǒng)架構(gòu)、高性能調(diào)優(yōu)等
經(jīng)驗(yàn)和軟技能:帶過多少人的團(tuán)隊(duì)鲜戒、有多少年的項(xiàng)目管理經(jīng)驗(yàn)、學(xué)習(xí)能力如何柏蘑、執(zhí)行力怎么樣、設(shè)計(jì)過什么樣的系統(tǒng)革半。(不要太多漫试,幾句話就好)
工作經(jīng)歷:不要列一大堆項(xiàng)目外构,挑重要的叮趴,主要突出項(xiàng)目的難度(技術(shù)點(diǎn))般码、規(guī)模(用戶量、并發(fā)量券时、吞吐量)孤里、挑戰(zhàn)(高可用、技術(shù)瓶頸及突破)、職責(zé)(項(xiàng)目經(jīng)歷/核心開發(fā))等炸枣。
核心技術(shù)及面試題
核心技術(shù)
面試郴羯溃考的核心知識點(diǎn)包括以下點(diǎn):
基礎(chǔ)類:并發(fā)編程傻寂、JVM静檬、網(wǎng)絡(luò)與 IO、sql 優(yōu)化并级、數(shù)據(jù)結(jié)構(gòu)與算法
開源框架:Spring 源碼稻励、Mybiats 源碼
高性能架構(gòu)技術(shù):Redis、MQ愈涩、Kafka望抽、zookeeper、ES履婉、docker
分布式與微服務(wù):Dubbo煤篙、SpringBoot、SpringCloud毁腿、SpringCloud Alibaba
快速學(xué)習(xí)線路推薦 1:并發(fā)編程+JVM(1 個(gè)月)辑奈、Spring 源碼(1 個(gè)月)、Redis+MQ+SpringBoot 和 SpringCloud(1 個(gè)月)
快速學(xué)習(xí)線路推薦 2:并發(fā)編程+JVM+IO+Sql(2 個(gè)月)已烤、Spring 源碼(1 個(gè)月)鸠窗、Redis+MQ+zookeeper+SpringBoot+SpringCloud(2 個(gè)月)
數(shù)據(jù)結(jié)構(gòu)與算法推薦面試前去 leetcode 上刷題
后端面試問題解析整理
【Java 快速面試指南目錄】Java 基礎(chǔ)、異常胯究、集合塌鸯、并發(fā)編程、JVM唐片、Spring 全家桶丙猬、MyBatis涨颜、Redis、數(shù)據(jù)庫茧球、中間件 MQ庭瑰、Dubbo、Linux抢埋、Tomcat弹灭、ZooKeeper、Netty 等等揪垄。包含了作為一個(gè) Java 工程師在面試中需要用到或者可能用到的絕大部分知識穷吮!
關(guān)注公眾號【編程程序V】,分享更多Java技術(shù)前沿文章饥努,Java學(xué)習(xí)面試資源捡鱼。
Java 基礎(chǔ)
Java 集合容器
Java 異常
Error 和 Exception 區(qū)別是什么?
運(yùn)行時(shí)異常和—般異常(受檢異常)區(qū)別是什么?
JVM 是如何處理異常的?
throw 和 throws 的區(qū)別是什么?
final、finally酷愧、finalize 有什么區(qū)別?
NoClassDefFoundError 和 ClassNotFoundException 區(qū)別?
try-catch-finally 中哪個(gè)部分可以省略?
try-catch-finally 中驾诈,如果 catch 中 return 了,finally 還會執(zhí)行嗎?
...
并發(fā)編程
并發(fā)基礎(chǔ)
并發(fā)理論
并發(fā)關(guān)鍵字
并發(fā)容器
線程池
JVM
JVM 內(nèi)存區(qū)域
內(nèi)存溢出異常
垃圾收集器
內(nèi)存分配策略
類加載機(jī)制
-
JVM 調(diào)優(yōu)
Spring
spring 概述
Spring 控制反轉(zhuǎn)(IOC)
SpringBean
Spring 注解
Spring 數(shù)據(jù)訪問
SpringAOP
SpringCloud
什么是服務(wù)熔斷,什么是服務(wù)降級
微服務(wù)的優(yōu)缺點(diǎn)
使用中碰到的坑
列舉微服務(wù)技術(shù)棧
eureka 和 zookeeper 都可以提供服務(wù)的注冊與發(fā)現(xiàn)功能溶浴,他們的區(qū)別
eureka 服務(wù)注冊與發(fā)現(xiàn)原理
dubbo 服務(wù)注冊與發(fā)現(xiàn)原理
-
...
Redis
Redis 數(shù)據(jù)類型
Redis 事務(wù)
Redis 持久化及緩存
Redis 緩存異常方案
Redis 集群架構(gòu)
MySQL
RabbitMQ
如何確保消息正確地發(fā)送至 RabbitMQ?
如何確保消息接收方消費(fèi)了消息?
如何避免消息重復(fù)投遞或重復(fù)消費(fèi)?
消息基于什么傳輸?
消息如何分發(fā)?
消息怎么路由?
如何確保消息不丟失?
使用 RabbitMQ 有什么好處?
消息隊(duì)列有什么缺點(diǎn)?
MQ 如何選型?
如何保證消息隊(duì)列高可用?
-
如何保證消息的順序性?
架構(gòu)設(shè)計(jì)
由于篇幅原因乍迄,還有 SpringBoot,MyBatis士败,SpringMVC闯两,Dubbo、Linux谅将、Tomcat漾狼、ZooKeeper、Netty 等專題就不做展示了戏自!
面試中的技巧
答不出來怎么辦邦投?
面試中有一些問題很難伤锚,但是不要放棄擅笔,要不斷嘗試。很多時(shí)候屯援,面試官并不期待你能在很短的時(shí)候內(nèi)解出一道難題猛们,他只是想看一下你遇到難題時(shí)的態(tài)度和思維方式。如果你能證明給面試官看狞洋,你解決問題的方向和方法是正確的弯淘,就算是沒有找到答案,也是很不錯(cuò)的吉懊。
尖銳問題
幾個(gè)常見的比較尖銳的問題:
1庐橙、你為什么要離開現(xiàn)在的公司?
這種問題一般都是來問你的離職動機(jī)的假勿,招聘方有理由相信,你是怎樣離開前東家的态鳖,就會怎樣離開我转培。如果你開始抱怨你現(xiàn)在的公司了,很可能會引出很多問題把你問到最后都抬不起頭來浆竭。當(dāng)然浸须,你也可以說前公司的問題,比如︰自己主導(dǎo)的項(xiàng)目被公司廢棄了邦泄、公司轉(zhuǎn)型了删窒、公司業(yè)績下滑了、在現(xiàn)有的公司沒有成長空間了......這些都是可以說的顺囊。
2肌索、說一下你的缺點(diǎn)?
這個(gè)問題也是很難很難回答的。
其實(shí)任何性格的人都有問題包蓝,比如驶社,對我來說,我個(gè)是比較著急的人测萎,急性子亡电,而且是個(gè)做事的人。所以硅瞧,我最大的問題就是在推進(jìn)一些事的時(shí)候份乒,會忽略別人的感受。當(dāng)壓力變大的時(shí)候腕唧,我甚至?xí)f出一些別人難以接受的話(俗話說的情商為零)或辖。
但這個(gè)不是最佳方法,缺點(diǎn)一定要附帶正面效果枣接。比如颂暇,我對事情的要求太高了,跟我在一起工作人的壓力太大但惶。我太內(nèi)向了耳鸯,所以別人和我溝通起來有點(diǎn)費(fèi)勁。我太過關(guān)心團(tuán)隊(duì)了膀曾,所以县爬,有時(shí)候會忽略了項(xiàng)目成本和時(shí)間進(jìn)度…....
最后還要補(bǔ)一句溉卓,我知道我的缺點(diǎn)画恰,我也在努力改正,我正在通過什么樣的方式改正立砸。這非常關(guān)鍵,因?yàn)檫@基本上是面試官最喜歡看到的答案了耳高,就是你不僅能正視自己的缺點(diǎn)扎瓶,而且還能不斷地改正。
3泌枪、說一下你的優(yōu)點(diǎn)?
這個(gè)問題是比較坑的栗弟,你的優(yōu)點(diǎn)是需要用證據(jù)來說明的。
很多人的通用回答是工闺,我的優(yōu)點(diǎn)就是學(xué)習(xí)能力強(qiáng)乍赫,因?yàn)槲艺莆盏募夹g(shù)面很廣,而且陆蟆,我什么樣的技術(shù)都學(xué)雷厂,比如最新的 Cloud Alibaba 技術(shù)。還要回答這個(gè)問題的時(shí)候叠殷,一定要反襯出你的價(jià)值觀改鲫,HR 就是想了解你的價(jià)值觀。比如林束,我比較踏實(shí)像棘,我想把技術(shù)一直做到老。再比如壶冒,我有韌性缕题,我受過哪些挫折、失敗胖腾、不公烟零、無奈和無助,我沒有當(dāng)逃兵.......
4咸作、你為什么換工作換得這么勤?
很多公司的 HR 都會對應(yīng)聘者頻繁換工作持比較負(fù)面的評價(jià)锨阿。頻繁換工作在職業(yè)生涯中真不是一件好事,因?yàn)橛萌朔綍X得要么是你太不踏實(shí)了记罚,要么是你太不行了墅诡。所以,工作不要換得太頻繁桐智。但是如果換得太頻繁了末早,我給你一個(gè)建議,在簡歷里面寫上離職原因酵使。