前言:
金九銀十過去了一半,很多朋友也基本都收到了大廠offer,今天為大家整理下目前大廠問到的面試題,也希望大家都能夠識訓心儀的offer!

阿里篇:
-
HashMap的資料結構——引出Java7跟Java8的區別
-
在什么情況下會做一個鏈表到紅黑樹的轉換
-
除了資料結構之外,Java8跟Java7在HashMap上還有什么不同
-
擴容的程序,在什么情況下會擴容
-
擴容機制中的capacity初始值為什么是16,可不可以自定義成15,為什么一定要是2的指數次方
-
簡單介紹一下hash演算法,它的核心性能,或者說判斷一個hash演算法好壞的指標是什么,indexFor()函式的實作
-
HashMap為了解決什么問題?——引出哈希碰撞
-
介紹ConcurrentHashMap的資料結構
-
ConcurrentHashMap可以支持多少并發執行緒
-
ConcurrentHashMap屬于JOC下的一個類,對JOC這個包的了解
-
是否用過synchronized,之前是否碰到過并發問題,怎么處理
-
在Java技術堆疊方面,有沒有比較擅長或者深入了解的點,是否從原始碼上看過一些東西Netty原理介紹下,
-
了解過NIO,BIO,AIO么?介紹下異同,代碼中如何使用?
-
分布式鎖用過么?用什么函式?什么使用場景?
-
能介紹下垃圾回識訓制么?
-
redis的資料結構介紹下,專案中用過哪些?什么場景
-
冪等性是什么?如何保障?
-
交易系統中的資料一致性咋保障?
資料庫
-
對MySQL了解多少——引出必問知識點(劃重點!!!事務和索引)
-
MySQL用的隔離級別是什么,這個隔離級別下會出現什么問題——引出資料庫的并發問題
-
MySQL使用這種隔離級別時,是如何解決幻讀問題的(引申,理解其他并發問題的解決原理)
-
MySQL的調優機制,主要是哪些方面的調優——引出索引
-
在MySQL的InnoDB這個存盤引擎下,聚集索引(或者聚簇索引)和非聚集索引這兩個概念
-
MySQL中的索引是用什么資料結構存盤的——此處應該引出B+樹
-
為什么通過索引查詢速度會更快一些——此處應該引出二叉樹演算法
二輪:
-
自我介紹
-
專案中的mongoDB使用場景是啥?如何部署的?怎么保證高可用性?
-
JVM的記憶體結構能介紹下么?
-
CMS和G1的優缺點?什么時候發生FULL GC?什么時候stop the world!
-
什么樣的物件能當根節點?
-
一個類,兩個函式,一讀一寫,寫函式加synchronized,讀函式還用加么?voliate關鍵字啥作用?
-
資料庫設計時,主鍵咋設?自增好還是非自增好?為啥?
-
mysql的鎖型別介紹下
-
線上CPU 100%了怎么查?
-
寫個演算法,給一個數字,一個單調陣列中,方法回傳陣列中第一個大于給定數字的下標,如果沒有,回傳-1,
三輪:
第三輪就是比較深度的問題了,都是結合業務談談自己的程式思想,如果沒有一定的技術和開發經驗這個是回答不完整的
-
如何實作一個高效的單向鏈表逆序輸出?
-
已知sqrt(2)約等于1.414,要求不用數學庫,求sqrt(2)精確到小數點后10位
-
給定一個二叉搜索樹(BST),找到樹中第 K 小的節點
-
LRU快取機制
-
關于epoll和select的區別,以下哪些說法是正確的
-
從innodb的索引結構分析,為什么索引的 key 長度不能太長
-
給定一個鏈表,洗掉鏈表的倒數第N個節點,并且回傳鏈表的頭結點
-
如果讓你設計一個通用的、支持各種資料庫秒級備份和恢復的系統,你會如何設計
-
如果讓你來設計一個支持資料庫、NOSQL 和大資料之間資料實時流動的資料流及處理的系統,你會考慮哪些問題?如何設計?
-
給定一個整數陣列和一個整數,回傳兩個陣列的索引,這兩個索引指向的數字的加和等于指定的整數,需要最優的演算法,分析演算法的空間和時間復雜度
-
假如給你一個新產品,你將從哪些方面來保障它的質量?
-
請評估一下程式的執行結果?
騰訊篇:
-
什么情況下會發生堆疊記憶體溢位,
-
JVM的記憶體結構,Eden和Survivor比例,
-
JVM記憶體為什么要分成新生代,老年代,持久代,新生代中為什么要分為Eden和Survivor,
-
JVM中一次完整的GC流程是怎樣的,物件如何晉升到老年代,說說你知道的幾種主要的JVM引數,
-
你知道哪幾種垃圾收集器,各自的優缺點,重點講下cms和G1,包括原理,流程,優缺點,
-
垃圾回收演算法的實作原理,
-
當出現了記憶體溢位,你怎么排錯,
-
簡單說說你了解的類加載器,可以打破雙親委派么,怎么打破,
-
g1和cms區別,吞吐量優先和回應優先的垃圾收集器選擇,
-
怎么打出執行緒堆疊資訊,
-
簡單講講tomcat結構,以及其類加載器流程,執行緒模型等,
-
tomcat如何調優,涉及哪些引數 ,
-
講講Spring加載流程,
-
Spring AOP的實作原理,
-
講講Spring事務的傳播屬性,
-
Spring如何管理事務的,
-
說說你對Spring的理解,非單例注入的原理?它的生命周期?回圈注入的原理,aop的實作原理,說說aop中的幾個術語,它們是怎么相互作業的,
-
Springmvc 中DispatcherServlet初始化程序,
-
netty的執行緒模型,netty如何基于reactor模型上實作的,
-
netty的通訊協議是什么樣的,
-
springmvc用到的注解,作用是什么,原理,
-
springboot啟動機制
京東篇:
-
自我介紹以及專案介紹
-
spring-cloud是否了解,spring-boot是了解,講一講bean的生命周期
-
hashmap-1.8后的改進,hashmap為什么是執行緒不安全的
-
如何做到執行緒安全,concurrenthashmap是怎么實作的
-
用到哪些的設計模式
-
ThreadLocal用過嗎
-
類的加載機制
-
JVM-記憶體模型
-
垃圾回收
-
redis原始碼有讀過嗎
-
介紹你做的專案和其中的難點?
-
反射的作用是什么?
-
資料倉庫,多執行緒和并發工具等?
-
私有云,docker和k8s等?
-
了解哪些中間件,dubbo,rocketmq,mycat等?
-
dubbo中的rpc如何實作?
-
自己實作rpc應該怎么做?
-
dubbo的服務注冊與發現?
-
給你一個有序整數陣列,陣列中的數可以是正數、負數、零,請實作一個函式,這個函式回傳一個整數:回傳這個陣列所有數的平方值中有多少種不同的取值,
寫在最后:
互聯網大廠比較喜歡的人才特點:
對技術有熱情,強硬的技識訓礎實力;主動,善于團隊協作,善于總結思考,
無論是哪家公司,都很重視高并發高可用技術,重視基礎,所以千萬別小看任何知識,這里博主為大家整理總結了面試資料
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
互聯網大廠面試資料整理領取方式:戳這里免費領取,暗號:CSDN




轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/147418.html
標籤:其他
