11月到12月參加了美團/京東/螞蟻金服Java崗的面試(內推),重點根據螞蟻金服P6級面試來總結,螞蟻金服面試一共參加了4面。面試歸來,總結下阿里面試流程、面試過程、以及面試題目範疇。文末有阿里Java P6+知識筆記解析與答案參考~
阿里面試流程
- 第一輪:電話技術初面;
- 第二輪:技術面談(圍繞技術知識點、過去項目實戰經驗);
- 第三輪:技術leader複試
- 第四輪:HR最後確認
阿里面試總結
1.一面
首先確認對阿里的意向度;其次面試官會針對你曾經做過的項目來做具體技術的交流,你對項目細節是不是掌握到位,以及java技術基礎和原理掌握程序,比如
併發編程以及數據庫和JVM三個方面,也會交流到分佈式、線程池的實現等等(重點考察有沒有深入鑽研技術和技術上的亮點);2.二面
技術面,根據項目深入的瞭解技術實力,瞭解你的知識面、問題解決能力以及技術靈活運用能力,也通過這一過程考察團隊合作能力、學習主動性和創新性,可以挑選2-3個做過的有典型性的項目做一個仔細技術回顧和自己獨到的理解(這是加分項,重要);
3.三面
高管複試,會涉及到相關的技術問題,大部分是對你的整體價值觀做宏觀的把控(比如上進心,責任心,心態,工作激情等);
4.四面
HR最終面,進入最後一面,我反而有些緊張,一方面非技術類的問題是我所不擅長的,再者早有耳聞阿里HRBP有一票否決權,所以還是打起了十二分的精神認真對待,其實過程比想象中的順暢很多,就是從大方向瞭解一下面試者的心態、抗壓能力、未來規劃以及對阿里的意向度(用阿里的話說,即價值觀的匹配度);
5.特別注意
1、技術基礎以及其他問題多準備下就行了,如果遇到沒有涉及的領域,直接說不懂沒關係。
2、在項目細節方面交流比較多且深入,根據項目有針對性的談自己的技術亮點,能表達清楚,可以引導面試官來問你比較擅長的技術問題,個人就可以盡情發揮了。
6.建議以下知識點都需要掌握:
數據結構與Java集合
- 堆排序
- 冒泡排序
- 快速排序
- 排序算法
- Java中ArrayList循環遍歷並刪除元素的陷阱
- 樹相關的算法
- hashMap比較
- arrayList線程不安全分析
- moudCount的作用
- CopyOnWriteArrayList
- hashtable和hashMap
- hashMap非線程安全分析
- HashMap底層結構
棧(stack)
棧(stack)是限制插入和刪除只能在一個位置上進行的表,該位置是表的末端,叫做棧頂
(top)。它是後進先出(LIFO)的。對棧的基本操作只有 push(進棧)和 pop(出棧)兩種,
前者相當於插入,後者相當於刪除最後的元素。
詳細內容有很多,為了不影響閱讀,可看整理的《Java架構進階筆記》,轉發此文關注我私信回覆【筆記】諮詢如何獲取《Java架構進階筆記》的免費領取方式
Java虛擬機
- JVM內存模型
- JVM回收算法
- JVM調優
- 垃圾回收算法
- GC分代收集算法
- 類加載機制
- 雙親委派
- OOM異常排查
JVM 內存模型
JVM 內存區域主要分為線程私有區域【程序計數器、虛擬機棧、本地方法區】、線程共享區
域【JAVA 堆、方法區】、直接內存。
詳細內容有很多,為了不影響閱讀,可看整理的《Java架構進階筆記》,轉發此文關注我私信回覆【筆記】諮詢如何獲取《Java架構進階筆記》的免費領取方式
Java多線程與併發問題
- 多線程狀態流轉
- 線程鎖
- 線程池原理
- 4種線程池
- 線程生命週期
- 線程上下文切換
- Java阻塞隊列原理
- 線程共享
- ThreadLocal作用
- 什麼是CAS,AQS
- ConcurrentHashMap併發
MySQL數據庫
- 事務隔離級別
- 索引原理
- MySQL存儲引擎
- MySQL事務
- 數據庫鎖
- 分庫分表問題
- 數據庫併發策略
- 存儲過程
- 數據庫三範式
- MySQL性能優化
存儲引擎
詳細內容有很多,為了不影響閱讀,可看整理的《Java架構進階筆記》,轉發此文關注我私信回覆【筆記】諮詢如何獲取《Java架構進階筆記》的免費領取方式
微服務問題
- 服務註冊發現
- API 網關
- 配置中心
- 服務熔斷(Hystrix)
- 服務跟蹤(starter-sleuth)
服務註冊發現
詳細內容有很多,為了不影響閱讀,可看整理的《Java架構進階筆記》,轉發此文關注我私信回覆【筆記】諮詢如何獲取《Java架構進階筆記》的免費領取方式
Spring全家桶問題
- 談談對 Spring IoC 的理解?
- 談談對 Spring DI 的理解?
- BeanFactory 接口和 ApplicationContext 接口不同點是什麼?
- 請介紹你熟悉的 Spring 核心類,並說明有什麼作用?
- 介紹一下 Spring 的事務的瞭解?
- 介紹一下 Spring 的事務實現方式?
- 解釋 AOP 模塊
- Spring 的通知類型有哪些,請簡單介紹一下?
- Spring 通知類型使用場景分別有哪些?
- 請介紹一下你對 Spring Beans 的理解?
Redis緩存
- Redis 基本數據結構
- Redis實戰場景
- Redis緩存雪崩,緩存穿透,緩存預熱,緩存降級
- Redis分佈式鎖
- 分佈式自增ID問題
- Redis主從模式,哨兵模式,集群
- Redis持久化機制
基本類型
我們用一個簡單的導圖來簡單複習一下 Redis 的基本數據類型:
詳細內容有很多,為了不影響閱讀,可看整理的《Java架構進階筆記》,轉發此文關注我私信回覆【筆記】諮詢如何獲取《Java架構進階筆記》的免費領取方式
分佈式問題
- 詳解RocketMQ的架構設計、關鍵特性、與應用場景
- Kafka、RocketMQ、RabbitMQ的優劣勢比較
- 如何從0到1設計一個MQ消息隊列
- 詳解RPC遠程調用和消息隊列MQ的區別
- 什麼是流量削峰?如何解決秒殺業務的削峰場景
- 分佈式之消息隊列的特點、選型、及應用場景詳解
- 主流的消息隊列MQ比較,詳解MQ的4類應用場景
- 分佈式消息Kafka的原理、基礎架構、使用場景
- Redis緩存和MySQL數據一致性方案詳解
- Netty的實現原理、特點與優勢、以及適用場景
- 分佈式系統全局唯一ID
- Zookeeper的原理和架構設計,以及應用場景
- 數據庫垂直、水平拆分
由於文案過於長,在此就不一一介紹了,這份Java後端架構進階筆記內容包括:Java集合,JVM、Java併發、微服務、SpringNetty與 RPC 、網絡、日誌 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基礎、負載均衡、數據庫、一致性算法、Java算法、數據結構、分佈式緩存等等知識詳解。
本知識體系適合於所有Java程序員學習,關於以上目錄中的知識點都有詳細的講解及介紹,掌握該知識點的所有內容對你會有一個質的提升,其中也總結了很多面試過程中遇到的題目以及有對應的視頻解析總結。
轉發此文關注我私信回覆【筆記】諮詢如何獲取《Java架構進階筆記》的免費領取方式
閱讀更多 JavaSpring高級進階 的文章