2021年最新大廠Java面試筆試題目
阿里面試總結
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虛擬機器
- JVM記憶體模型
- JVM回收演算法
- JVM調優
- 垃圾回收演算法
- GC分代收集演算法
- 類載入機制
- 雙親委派
- OOM異常排查
JVM 記憶體模型
JVM 記憶體區域主要分為執行緒私有區域【程式計數器、虛擬機器棧、本地方法區】、執行緒共享區
域【JAVA 堆、方法區】、直接記憶體。
Java多執行緒與併發問題
- 多執行緒狀態流轉
- 執行緒鎖
- 執行緒池原理
- 4種執行緒池
- 執行緒生命週期
- 執行緒上下文切換
- Java阻塞佇列原理
- 執行緒共享
- ThreadLocal作用
- 什麼是CAS,AQS
- ConcurrentHashMap併發
MySQL資料庫
- 事務隔離級別
- 索引原理
- MySQL儲存引擎
- MySQL事務
- 資料庫鎖
- 分庫分表問題
- 資料庫併發策略
- 儲存過程
- 資料庫三正規化
- MySQL效能優化
儲存引擎
微服務問題
- 服務註冊發現
- API 閘道器
- 配置中心
- 服務熔斷(Hystrix)
- 服務跟蹤(starter-sleuth)
服務註冊發現
Spring全家桶問題
- 談談對 Spring IoC 的理解?
- 談談對 Spring DI 的理解?
- BeanFactory 介面和 ApplicationContext 介面不同點是什麼?
- 請介紹你熟悉的 Spring 核心類,並說明有什麼作用?
- 介紹一下 Spring 的事務的瞭解?
- 介紹一下 Spring 的事務實現方式?
- 解釋 AOP 模組
- Spring 的通知型別有哪些,請簡單介紹一下?
- Spring 通知型別使用場景分別有哪些?
- 請介紹一下你對 Spring Beans 的理解?
Redis快取
- Redis 基本資料結構
- Redis實戰場景
- Redis快取雪崩,快取穿透,快取預熱,快取降級
- Redis分散式鎖
- 分散式自增ID問題
- Redis主從模式,哨兵模式,叢集
- Redis持久化機制
基本型別
我們用一個簡單的導圖來簡單複習一下 Redis 的基本資料型別:
分散式問題
- 詳解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程式設計師面試涉及到的絕大部分面試題及答案免費分享給大家,希望能幫助到大家,有需要的朋友可以看下面的免費領取方式!
百度網盤連結:pan.baidu.com/s/1BDrBZ5sv4rzxyDDFLbpocw
提取碼:exa7