五面Alibaba技術專家崗,已拿offer,看看這些面試題你能答出多少
面試職位:Java後端開發工程師。
在面試前三面真的有點急促,一週內就面完了三次面試,接著就開始無盡的等待,整整等了三週左右,終於完成了四面和HR面。整個過程還是比較曲折的,技術面試還是挺考察技術深度的。現在已拿到offer。
面試問題如下:
一面(主要看基礎):
- 先自我介紹,講講自己基礎掌握情況,以及專案經歷
- 平時會用到哪些資料結構?
- 連結串列和陣列的優缺點?
- 解決hash衝突的方法有哪些?
- 講講自己對HashMap的理解,以及和Weakhashmap的區別?
- 你剛才講的是JDK1.7版本的實現,知道JDK1.8做了哪些改動麼?
- 你們在微服務中用RPC通訊還是REST?
- RPC和HTTP的關係是什麼?
- 談談什麼是HTTP的長連線和短連線?
- TCP的三次握手和四次揮手,以及為什麼要三次握手,而不是二次?
- TCP 有哪些狀態,相應狀態的含義?
- 併發包中鎖的實現底層(對AQS的理解)?
- 樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式?
- SynchronizedMap和ConcurrentHashMap有什麼區別?
- 如何使用阻塞佇列實現一個生產者和消費者模型?
- 簡述一下Java 垃圾回收機制?
- 如何判斷一個物件是否存活?
- 什麼是tomcat類載入機制?
- 類載入器雙親委派模型機制?
- 讓你評價一下你自己?
二面(主要問了底層和演算法):
- 扯了下專案、講一下專案經歷
- redis的底層資料結構瞭解多少?
- 知道動態字串sds的優缺點麼(redis底層資料結構之一)?
- redis的單執行緒特性有什麼優缺點?
- 用過 Redis 的哪些資料結構, 分別用在什麼場景?
- 怎麼解決快取擊穿問題的?
- Hytrix的隔離機制有哪些?Hytrix常見配置是哪些?
- 做過哪些調優?JVM調優、資料庫調優都行!
- 給了個場景,問你怎麼調?
三面(資料庫):
- 依然是介紹自己
- 資料庫的高可用架構是怎麼樣的?
- 如何保證資料庫主從一致性?
- 知道mysql的索引演算法嗎?
- 為什麼mongodb的索引用了B樹,而mysql用B+樹?
- 用mysql過程中,有遇到什麼問題麼?
- 生產用的是哪種事務隔離級別,為什麼?
- 談一談你對微服務架構的理解?
- 用過哪些RPC框架,講講他們優缺點?
- 用過docker嗎,對容器瞭解多少?
四面(偏架構方面):
- 介紹一下自己,講講專案經歷
- 專案中微服務是怎麼劃分的,劃分粒度怎麼確定?
- 在實踐微服務架構中,有遇到什麼問題?
- 在關於微服務間資料一致性問題,是如何解決的?
- 為什麼不用其他的MQ,最終選擇了RokcetMQ?
- 為什麼RocketMQ沒有選擇ZooKeeper,而是自己實現了一個NameServer叢集?
- Zookeeper在選舉的過程中,還能對外提供服務麼?
- 對Paxos演算法瞭解多少?
- 如果讓你來設計一個春晚搶紅包架構,你會怎麼設計?
- 有什麼想問我的?
五面(HR面):
聊人生談理想,HR很ncie,主要交流為什麼選擇來阿里,未來的打算職業規劃以及待遇等,交流挺愉快。
面試小結:
技術基礎必須紮實:演算法、資料結構、作業系統等,螞蟻金服面試對技術的基礎非常重視,基礎紮實的同學有利於在前兩輪突出重圍。
技術寬度:主要集中在高併發、多執行緒、分散式架構,大以及常用中介軟體(快取等)的選型和比較。
技術原理深入:重點還是提前準備好JVM、多執行緒高併發這塊。
參與的專案總結:你需要清楚你所做專案的關鍵細節、優化、特點、原理。
很多所用第三方庫&中介軟體等的原理,即使你不知道,也要有自己的想法能夠說出如何代替實現,比如單點登入的替代方案。
最後,千萬不要倒在HR面試環節,避重就輕是重點,特別是優點和缺點,如果問到你的規劃是什麼,請記得一定告訴HR你想成為一名優秀的技術專家!
分享一些我個人的學習文件,有需要的朋友自行選擇獲取:
一本Java核心面試知識寶典把每個知識點解析的很深,對大家應該很有幫助,它把大部分的Java知識集結在一起深入的解析出來(非常建議大夥看一看)
- JVM
- JAVA集合
- JAVA多執行緒併發
- JAVA基礎
- Spring原理
- 微服務
- Hetty與PC
- 網路
- 日誌
- Zookeeper
- Kafks
- Rabbi tMQ
- Hbase
- MongoDB
- Cassandra
- 設計模式
- 負載均衡
- 資料庫
- 一致性演算法
- JAVA演算法
- 資料結構
- 加密演算法
- 分散式快取
- Hadoop
- Spark
- Storm
- YARIN
- 機器學習
- 雲端計算
2020年一線網際網路企業350道面試答案整理
- 效能優化面試專欄
- 微服務架構面試專欄
- 併發程式設計高階面試專欄
- 開源框架面試題專欄
- 分散式面試專欄
1、面試文件專題整理
既然是要面試,那麼就少不了刷題,實際上春節回家後,哪兒也去不了,我自己是刷了不少面試題的,所以在面試過程中才能夠做到心中有數,基本上會清楚面試過程中會問到哪些知識點,高頻題又有哪些,所以刷題是面試前期準備過程中非常重要的一點。
根據自身面試經歷整理以及不斷收集的(珍藏版)
相關的電子書、底層原始碼
阿里巴巴必備學習知識點
最後
很多人感嘆“學而無用”,實際上之所以產生無用論,是因為自己想要的與自己所學的匹配不上,這也就意味著自己學得遠遠不夠。無論是學習還是工作,都應該有主動性,所以如果擁有大廠夢,那麼就要自己努力去實現它。
以上學習資料均免費放送,最後祝願各位身體健康,順利拿到心儀的offer!
資料獲取方式:點贊+關注,加助理VX:mxx2020666,即可免費領取