阿里騰訊百度等大廠2020秋招面試總結,內附答案

前言
我相信大多 Java 開發的程序員或多或少經歷過阿里的面試,也清楚阿里 Java面試是有必定難度的,做者經歷過屢次阿里的面試,有滿意的也有備受打擊的。所以呢做者想把本身這麼屢次面試經從來個彙總,正值金九銀十之際,但願對你們有所幫助。mysql

另外本人整理收藏了20年多家公司面試知識點整理 ,以及各類Java核心知識點免費分享給你們,我認爲對面試來講是很是有用的,有須要的朋友能夠點擊這裏!暗號博客園自行領取react

在這裏插入圖片描述

阿里面試題程序員

因爲時間關係答案我就不寫了(主要是懶),都總結成筆記了
在這裏插入圖片描述面試

在阿里面試仍是很舒服的,面試官以爲有難度的話會適可而止,不會讓你以爲不會而感到尷尬,一面的知識也不是很難redis

一面算法

1.HashMap的數據結構——引出Java7跟Java8的區別spring

2.在什麼狀況下會作一個鏈表到紅黑樹的轉換sql

3.除了數據結構以外,Java8跟Java7在HashMap上還有什麼不一樣docker

4.擴容的過程,在什麼狀況下會擴容數據庫

5.擴容機制中的capacity初始值爲何是16,可不能夠自定義成15,爲何必定要是2的指數次方

6.簡單介紹一下hash算法,它的核心性能,或者說判斷一個hash算法好壞的指標是什麼,indexFor()函數的實現

7.HashMap爲了解決什麼問題?——引出哈希碰撞

8.介紹ConcurrentHashMap的數據結構

9.ConcurrentHashMap能夠支持多少併發線程

10.ConcurrentHashMap屬於JOC下的一個類,對JOC這個包的瞭解

11.是否用過synchronized,以前是否碰到過併發問題,怎麼處理

12.在Java技術棧方面,有沒有比較擅長或者深刻了解的點,是否從源碼上看過一些東西

  1. Netty原理介紹下。

  2. 瞭解過NIO,BIO,AIO麼?介紹下異同,代碼中如何使用?

  3. 分佈式鎖用過麼?用什麼函數?什麼使用場景?

  4. 能介紹下垃圾回收機制麼?

  5. redis的數據結構介紹下。項目中用過哪些?什麼場景

18 冪等性是什麼?如何保障?

  1. 交易系統中的數據一致性咋保障?

數據庫

1.對MySQL瞭解多少——引出必問知識點(劃重點!!!事務和索引)

2.MySQL用的隔離級別是什麼,這個隔離級別下會出現什麼問題——引出數據庫的併發問題

3.MySQL使用這種隔離級別時,是如何解決幻讀問題的(引伸,理解其餘併發問題的解決原理)

4.MySQL的調優機制,主要是哪些方面的調優——引出索引

5.在MySQL的InnoDB這個存儲引擎下,彙集索引(或者聚簇索引)和非彙集索引這兩個概念

6.MySQL中的索引是用什麼數據結構存儲的——此處應該引出B+樹

7.爲何經過索引查詢速度會更快一些——此處應該引出二叉樹算法

二面

自我介紹

項目中的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 和大數據之間數據實時流動的數據流及處理的系統,你會考慮哪些問題?如何設計?

給定一個整數數組和一個整數,返回兩個數組的索引,這兩個索引指向的數字的加和等於指定的整數。須要最優的算法,分析算法的空間和時間複雜度

假如給你一個新產品,你將從哪些方面來保障它的質量?

請評估一下程序的執行結果?

騰訊面試題

在這裏插入圖片描述

Java基礎

1.JAVA中的幾種基本數據類型是什麼,各自佔用多少字節。

2.String類能被繼承嗎,爲何。

3.String,Stringbuffer,StringBuilder的區別。

4.ArrayList和LinkedList有什麼區別。

5.講講類的實例化順序,好比父類靜態數據,構造函數,字段,子類靜態數據,構造函數,字段,當new的時候,他們的執行順序。

6.用過哪些Map類,都有什麼區別,HashMap是線程安全的嗎,併發下使用的Map是什麼,他們內部原理分別是什麼,好比存儲方式,hashcode,擴容,默認容量等。

7.JAVA8的ConcurrentHashMap爲何放棄了分段鎖,有什麼問題嗎,若是你來設計,你如何設計。

8.有沒有有順序的Map實現類,若是有,他們是怎麼保證有序的。

9.抽象類和接口的區別,類能夠繼承多個類麼,接口能夠繼承多個接口麼,類能夠實現多個接口麼。

10.繼承和聚合的區別在哪。

11.IO模型有哪些,講講你理解的nio ,他和bio,aio的區別是啥,談談reactor模型。

12.反射的原理,反射建立類實例的三種方式是什麼。

13.反射中,Class.forName和ClassLoader區別 。

14.描述動態代理的幾種實現方式,分別說出相應的優缺點。

15.動態代理與cglib實現的區別。

16.爲何CGlib方式能夠對接口實現代理。

17.final的用途。

18.寫出三種單例模式實現 。

19.Java中的HashSet內部是如何工做的。

20.什麼是序列化,怎麼序列化,爲何序列化,反序列化會遇到什麼問題,如何解決。

JVM

21.什麼狀況下會發生棧內存溢出。

22.JVM的內存結構,Eden和Survivor比例。

23.JVM內存爲何要分紅新生代,老年代,持久代。新生代中爲何要分爲Eden和Survivor。

24.JVM中一次完整的GC流程是怎樣的,對象如何晉升到老年代,說說你知道的幾種主要的JVM參數。

25.你知道哪幾種垃圾收集器,各自的優缺點,重點講下cms和G1,包括原理,流程,優缺點。

26.垃圾回收算法的實現原理。

27.當出現了內存溢出,你怎麼排錯。

28.簡單說說你瞭解的類加載器,能夠打破雙親委派麼,怎麼打破。

29.g1和cms區別,吞吐量優先和響應優先的垃圾收集器選擇。

30.怎麼打出線程棧信息。

開源框架

31.簡單講講tomcat結構,以及其類加載器流程,線程模型等。

32.tomcat如何調優,涉及哪些參數 。

33.講講Spring加載流程。

34.Spring AOP的實現原理。

35.講講Spring事務的傳播屬性。

36.Spring如何管理事務的。

37.說說你對Spring的理解,非單例注入的原理?它的生命週期?循環注入的原理,aop的實現原理,說說aop中的幾個術語,它們是怎麼相互工做的。

38.Springmvc 中DispatcherServlet初始化過程。

39.netty的線程模型,netty如何基於reactor模型上實現的。

40.netty的通信協議是什麼樣的。

41.springmvc用到的註解,做用是什麼,原理。

42.springboot啓動機制

百度面試題
在這裏插入圖片描述

一、自我介紹以及項目介紹

二、spring-cloud是否瞭解,spring-boot是瞭解,講一講bean的生命週期

三、hashmap-1.8後的改進,hashmap爲何是線程不安全的

四、如何作到線程安全,concurrenthashmap是怎麼實現的

五、用到哪些的設計模式

六、ThreadLocal用過嗎

七、類的加載機制

八、JVM-內存模型

九、垃圾回收

十、redis源碼有讀過嗎

  1. 介紹你作的項目和其中的難點?

12.反射的做用是什麼?

  1. 數據倉庫,多線程和併發工具等?

  2. 私有云,docker和k8s等?

  3. 瞭解哪些中間件,dubbo,rocketmq,mycat等?

  4. dubbo中的rpc如何實現?

  5. 本身實現rpc應該怎麼作?

  6. dubbo的服務註冊與發現?

19.給你一個有序整數數組,數組中的數能夠是正數、負數、零,請實現一個函數,這個函數返回一個整數:返回這個數組全部數的平方值中有多少種不一樣的取值。

總結
互聯網大廠比較喜歡的人才特色:對技術有熱情,強硬的技術基礎實力;主動,善於團隊協做,善於總結思考。不管是哪家公司,都很重視高併發高可用技術,重視基礎,因此千萬別小看任何知識。面試是一個雙向選擇的過程,不要抱着畏懼的心態去面試,不利於本身的發揮。同時看中的應該不止薪資,還要看你是否是真的喜歡這家公司,是否是能真的獲得鍛鍊。其實我寫了這麼多,只是我本身的總結,並不必定適用於全部人,相信通過一些面試,你們都會有這些感觸。

最後
本人還整理收藏了20年多家公司面試知識點以及各類技術點整理 下面有部分截圖,須要的朋友能夠點擊這裏!暗號博客園自行領取

在這裏插入圖片描述

相關文章
相關標籤/搜索