阿里 位元組 網易端JAVA後端面試經歷分享,已拿offer(求你讓我幫忙內推吧)

2020-09-24 11:01:43

    前段時間遇到剛畢業沒多久的實習生,已經在阿里實習中經受苦難50多天了🤣。向他請教了一些他的面試經歷,在這分享給大家

以下正文 

情況介紹:

本科階段:人在雙非,問就是混

當前寧波某軟院渣碩,去年7月份開始Java的學習,道阻且長

當前面試情況:騰訊(一面掛)、美團(二面掛)、網易嚴選(成功)、杭州位元組lark(口頭offer)、阿里新零售業務平臺(成功)、滴滴交易平臺(HR面)

 

麵筋總結:

因為並不是每家都有做錄音,忘了一些面試問題。就貼一下面過比較普適性的問題。

此外, 只是做一點些關鍵詞的提示,具體達到面試要求需要自己去詳細的理解和掌握

文章所有面試題和答案小編都為大家整理了:戳這裡免費領取,暗號:CSDN,還有更多大廠面試專題資料哦

JVM:

1. 【高頻】Java記憶體區域   :

{ 程式計數器 , 虛擬機器器棧 ,本地方法棧 , 堆 ,方法區 ,元空間 }    // 每個區域要能介紹一下

2.    Minor GC 觸發條件 :  eden區剩餘記憶體是否足夠 兩種情況分開分析

FULL GC  觸發條件 : Minor GC 平均晉升空間大小 > 老年代連續剩餘空間,則觸發FULL GC

3.  【高頻】 判斷物件死亡的方法 : { 參照計數法 , 可達分析演演算法 }

       深入一些,:GC root物件有哪些?為什麼選擇他們做GC root物件

4.    垃圾收集演演算法  : { 標記清除演演算法 、標記整理演演算法 、 複製演演算法 、 分代收集演演算法 }

        深入一些: 各個演演算法的優點和適用場景

5.     垃圾收集器 : { serial  、 parallel 、 CMS 、 G1  }

CMS 、G1 重點 , 介紹工作流程和優缺點

6.    記憶體漏失

例子: { 單例 , 容器 等等}

原因 : 長生命週期持有短生命週期參照

7.     參照型別 ; {  強參照、 軟參照、 弱參照 、 虛參照  }

8.   【高頻】 類載入過程 : { 載入 , 連線 , 初始化 }

        有哪些類載入器 , 能否自定義 Java.Object.String 的類載入器 ?

9.   【高頻】 雙親委派機制 介紹 & 作用

 

Java :

1.   ArrayList 和 LinkedList 的區別

2.   HashMap & ConcurrentHashMap 的比較  : 執行緒安全問題等等

      深入一些 : HashMap 為什麼執行緒不安全? 能否舉例 = { 並行resize()觸發閉環結構 ,覆蓋put操作 }

3. 【高頻】 HashMap 的 相關問題      // HashMap系列需要通過關鍵原始碼理解,比較重要

      為什麼 HashMap的size 為 2的冪次方 ?

       HashMap resize()過程能否介紹 ?

       HashMap效率受什麼影響 (負載因子、hash陣列size)?

       HashMap中擾動函數的作用 ?

4.    Hashtable 和 HashMap的區別 : { 底層資料結構 (JDK1.8後不同)、父類別不同  、擴容方法不同 、 執行緒上鎖範圍不同(重點) }

5.    equals 和 == 區別

5.    為啥重寫equals要重寫hashCode()

hash值相等,而兩個物件不一定equals

6 .  【高頻】 String StringBuffer StringBuilder  區別 和各自使用場景

        深入一些 : String 是如何實現它不可變的? 為什麼要設定String為不可變物件  ?     (位元組一面這個問題給我問懵了)

7.     介面和抽象類區別

8.     重寫和過載的區別

9.     深拷貝和淺拷貝區別

10.   Java三大特性

11.   Object的方法 : { finalize 、 clone、 getClass 、 equals 、 hashCode }

12. 【高頻】 設計模式    : {    單例模式 、 工廠模式 、 裝飾者模式 、 代理模式 、 策略模式 等等} (此處我的掌握也不是很好)

13.    深入一些 : 單例模式為什麼採用雙檢測機制 ? 單例為什麼用Volatile修飾? 裝飾模式和代理模式區別?

 

並行 :

1.     執行緒的狀態 : { new ,runnalbe , wait , time-wait , block , terminated }

2.      程序 、 執行緒 、 協程 的含義和區別      // 個人理解 是一組漸進提出的概念

3.      程序間通訊方式 : {  管道 、FIFO 、 號誌 、 共用記憶體 、 訊息佇列 、 Socket  }

4.      如何避免死鎖 ? 死鎖的四個必要條件

5.      Sleep和wait的區別

6.    【高頻】Sychronized 和 lock 的區別 ?

7.      Sychronized的底層優化 : { 無鎖、偏向鎖、輕量級鎖 、重量級鎖 }

8.      volatile的作用 : { 指令重拍 、 保證變數的可見性(設計JMM)}

9.      ThreadLocal 底層原理

10.  【高頻】 執行緒池

11.    執行緒池構造器涉及哪些引數 : { corePoolSize , maximumPoolSzie , timeout , timeUnit , RejectHandler , 等待佇列 , 執行緒工廠 }

12.    介紹執行緒池工作過程?

13.    執行緒池拒絕策略那些?

14.    適用Executor建立執行緒池的弊端?

15.    AQS 框架原理和 原始碼理解

 

計網 :

1.      TCP/IP 模型  & OSI模型

2.      應用層、傳輸層、網路層常見協定 : {  DNS 、 HTTP 、FTP、 STMP 、SSL、 TCP、 UDP、 ARP、 IP   }

3.    【高頻】 TCP 三次握手 、 TCP四次揮手

         深入一些 :     為什麼三次握手,能否兩次?

        四次揮手中什麼是 time_wait 狀態 ? close-wait 狀態?

        time_wait狀態什麼場景下過多 , 會造成什麼問題?

4.     TCP可靠性 : {   ARQ 、 流量控制 、 擁塞控制 、 校驗和  }

5.    【高頻】輸入URL顯示主頁的過程        // 個人僅遇過一次,但是看面經感覺問的挺多

6.     HTTPS 和HTTP 區別     // 位元組專屬問題

         深入一些 : HTTPS 加密過程介紹 ?

7.     Cookie和Session的區別

8.     Http1.0 和HTTP1.1 和 Http2.x 的區別

9.     get和post的區別

10.   常見的狀態碼

 

作業系統(相對較少):

1.     使用者態和核心態的區別

2.     fork()作用

3.     Select poll epoll的區別

4.     虛擬記憶體作用? 記憶體分頁的作用?

5.     缺頁異常的介紹

6 .    OOM問題和 StackOverFlow的區別

 

MySQL:(對redis 需要學習 , 個人理解不深不多介紹)    // MySQL比較重要

1.    【高頻】MyISAM 和 InnoDB的區別    : {是否支援行鎖 、 是否支援十五 、 是否支援 MVCC 、 底層索引結構不同 }

2.      事務特性ACID

         深入一些 : 為什麼要有一致性 ? AID不是已經保證了一致性了嗎 ?

3.     並行事務帶來的問題 : {    髒讀 、 修改丟失 、 不可重複讀 、 幻影讀    }

4.   【高頻】事務的隔離級別

5,   【高頻】 MVCC機制

6 .  【高頻】索引

        為什麼索引使用B+樹結構,而不是B樹

        為什麼索引使用B+樹結構,而不是紅黑樹 : {  磁碟預讀取 、紅黑樹高度 }

7.     聚簇索引和非聚簇索引區別? 主鍵索引和二級索引瞭解嗎?

8 .    為什麼不對每個列建立索引呢?

9.   【高頻】SQL語句優化 ,SQL題目(位元組要求擼程式碼)

10.   explain中 rows type key extra欄位的含義?

11.   count(1) count(*) count(列值)的區別

 

其他:

需要了解linux的指令和 git指令 ,

對一些巨量資料場景題需要了解。 例如 1億資料取top10 , 1億資料取出現頻率top10,1億URL取出重複URL

64匹馬,8個跑道,最少比賽幾次選出前八?等智力題(位元組常考)

此外,專案相關的知識體系需要準備, 例如專案涉及Netty和Zookeeper,則會去準備相應的問題。此處因人而異。

以上的面試問題及答案小編都為大家準備好啦,戳這裡免費領取,暗號:CSDN就可以免費領取啦,還為大家準備了更多其他學習資料哦