最近面試了阿里、京東、美團、滴滴等大型互聯網公司,最終收到了美團offer,這次面試過后,我把面試過的公司的面試題做了一個整理,這篇文章是我憑回憶記錄的,面試題沒有順序,不分先后,接下來公布我去阿里、京東、美團等一線互聯網公司的面試題:
一、阿里巴巴面試
1、開發中Java用得比較多的資料結構有哪些?
2、談談你對HashMap的理解,底層原理的基本實作,HashMap怎么解決碰撞問題的?
這些資料結構中是執行緒安全的嗎?假如你回答HashMap是執行緒安全的,接著問有沒有執行緒安全的map,接下來問conurren包,
3、對JVM熟不熟悉?簡單說說類加載程序,里面執行的哪些操作?問了GC和記憶體管理,平時在tomect里面有沒有進行過相關的配置,
4、說一下http協議、get和post的基本區別,接著問tcp/ip協議,三次握手,視窗滑動機制,
5、開發中用了哪些資料庫?回答mysql;儲存引擎有哪些?然后問了我悲觀鎖和樂觀鎖問題使用場景、分布式集群實作的原理,
6、springmvc和mybatis的作業原理,有沒有看過底層原始碼?
二、京東金融面試
1、Dubbo超時重試;Dubbo超時時間設定
2、如何保障請求執行順序
3、分布式事物與分布式鎖(扣款不要出現負數)
4、分布式session設定
5、執行某操作,前50次成功,第51次失敗a全部回滾b前50次提交第51次拋例外,ab場景分別如何設定Spring(傳播性)
6、Zookeeper有哪些用
7、JVM記憶體模型
8、資料庫垂直和水平拆分
9、MyBatis如何分頁;如何設定快取;MySQL分頁,
10、熟悉IO么?與NIO的區別,阻塞與非阻塞的區別,
11、分布式session一致性
12、分布式介面的冪等性設計「不能重復扣款」
三、美團面試
1、最近做的比較熟悉的專案是哪個?畫一下專案技術架構圖,
2、JVM老年代和新生代的比例?
3、YGC和FGC發生的具體場景
4、jstack,jmap,jutil分別的意義?如何線上排查JVM的相關問題?
5、執行緒池的構造類的方法的5個引數的具體意義?
6、單機上一個執行緒池正在處理服務如果忽然斷電該怎么辦?(正在處理和阻塞佇列里的請求怎么處理?)
7、使用無界阻塞佇列會出現什么問題?
8、介面如何處理重復請求?
9、具體處理方案是什么?
10、如何保證共享變數修改時的原子性?
11、設計一個對外服務的介面實作類,在1,2,3這三個主機(對應不同IP)上實作負載均衡和順序輪詢機制(考慮并發)
四、滴滴面試
1、自我介紹;技術特點
2、興趣是什么;優勢是什么
3、jvm、jre以及jdk三者之間的關系?
4、Dubbo的底層原理,Zookeeper是什么
5、cincurrentMap的機制;TreeMap;Volatil關鍵字
6、快速排序;廣度優先搜索(佇列實作)
7、快取的雪崩以及穿透的理解?
8、HashMap的key可以重復嗎?
9、synchronized和lock的區別?
10.開發一個大型網站你會考慮哪些問題?
以上就是全部的面試題目,針對以上知識點,結合當前互聯網公司的技術需求及主流技術,我整理了一份Java核心知識點全決議,不少公司很重視高并發高可用的技術,特別是一線互聯網公司,分布式、JVM、spring原始碼分析、微服務等知識點已經是面試的必考題,這些東西可能你們平時在作業中接觸過,但是并沒有深入的學習過,希望這份資料對正在面試的朋友或是遭遇技術瓶頸的程式員們提供一點思路,
Java核心知識點整理
由于整個檔案內容特別多,共有29個Java核心技能全決議,所以在這里只簡單介紹下大概有哪些知識點,
資料領取方式:轉發+關注,然后添加VX(tkzl6666)即可獲得免費領取方式,

JVM
執行緒
JVM記憶體區域
JVM運行時記憶體
垃圾回收與演算法
JAVA 四種參考型別
GC分代收集演算法 VS 磁區收集演算法
GC垃圾收集器
JAVA IO/NIO
JVM 類加載機制

JAVA集合
介面繼承關系和實作
List
ArrayList(陣列)
Vector(陣列實作、執行緒同步)
LinkList(鏈表)
Set
HashSet(Hash表)
TreeSet(二叉樹)

JAVA多執行緒并發
JAVA并發知識庫
JAVA執行緒實作/創建方式
4種執行緒池
執行緒生命周期(狀態)
終止執行緒4種方式
sleep與wait 區別
start與run區別
JAVA后臺執行緒
JAVA鎖
執行緒基本方法4.1.11. 執行緒背景關系切換
同步鎖與死鎖
執行緒池原理
JAVA阻塞佇列原理
CyclicBarrier、CountDownLatch、Semaphore的用法
volatile關鍵字的作用(變數可見性、禁止重排序)
如何在兩個執行緒之間共享資料

JAVA基礎
JAVA例外分類及處理
JAVA反射
JAVA注解
JAVA內部類
JAVA泛型
JAVA序列化(創建可復用的Java物件)
JAVA復制

Spring 原理
Spring 特點
Spring 核心組件
Spring 常用模塊
Spring 主要包
Spring 常用注解
Spring第三方結合
Spring IOC原理
Spring APO原理
Spring MVC原理
Spring Boot原理
JPA原理
Mybatis快取
Tomcat架構

微服務
服務注冊發現
API 網關
配置中心
事件調度(kafka)
服務跟蹤(starter-sleuth)
服務熔斷(Hystrix)
Hystrix斷路器機制
API管理

Netty 與RPC
Netty 原理
Netty 高性能
Netty RPC實作
關鍵技術
核心流程
訊息編解碼
通訊程序
RMI實作方式

分布式快取
快取雪崩
快取穿透
快取預熱
快取更新
快取降級

Zookeeper
Zookeeper概念
Zookeeper角色
Zookeeper作業原理(原子廣播)
Znode有四種形式的目錄節點

Kafka
Kafka概念
Kafka資料存盤設計
partition的資料檔案(offset,MessageSize,data)
資料檔案分段segment(順序讀寫、分段命令、二分查找)
資料檔案索引(分段索引、稀疏存盤)
生產者設計
負載均衡(partition會均衡分布到不同broker上)
批量發送
壓縮(GZIP或Snappy)
消費者設計

演算法
一致性演算法
Java演算法
資料結構
加密演算法

由于整個檔案內容特別多,共有29個Java核心技能全決議,所以在這里只簡單介紹下大概有哪些知識點,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/226188.html
標籤:其他
