1. 程式人生 > >愛奇藝Java實習生兩次面經(base上海)

愛奇藝Java實習生兩次面經(base上海)

愛奇藝Java實習生兩次面試經驗


第一次

第一次是內推,一面電話面試,二面現場面試。

電話面試內容

  • 介紹專案
  • B樹及其原理
  • 二叉樹知道前序遍歷和中序遍歷如何重建(劍指offer原題)知道前序遍歷和後序遍歷能否重建(不能)為什麼
  • 知道哪些排序演算法(外部,內部)時間複雜度 最熟悉哪個(說了快排)為什麼快排比較快
  • 島嶼的個數(LeetCode 原題)

現場面試內容

  • 介紹專案
  • 問Redis(卒)
  • 問中介軟體(說了訊息佇列)訊息佇列的場景 熟悉哪種訊息佇列(卒)
  • LRU設計問題
  • 手撕程式碼:連結串列刪除重複節點(包括只留一個重複節點和去除所有重複節點 劍指offer原題)
  • 手撕程式碼:二叉樹層次遍歷(劍指offer原題)

總結

掛在了手撕程式碼上,剛開始複習,有思路但程式碼寫的太不熟練。。


第二次

第二次是牛客網網申,面的是儲存組,崗位還是Java開發實習生,三面,第一面電話面試,後兩面現場面試。

電話面試內容

  • Java資料型別及長度
  • Spring有什麼好處
  • Spring IOC原理
  • 設計模式(說了單例模式)單例模式具體實現 懶漢式有沒有問題(執行緒不安全) 怎麼解決(說了列舉類,內部類和雙重檢測)雙重檢測需要注意什麼(要用volatile)
  • Java多執行緒(具體什麼問題忘了)
  • 熟悉的排序演算法有哪些 堆排序 時間複雜度 為什麼堆排序的速度比較快(回答了比較的次數少 這裡和麵試官想法不一致 說了一會)
  • MySQL鎖

二面(現場)

  • 介紹專案
  • == 和equals()區別(用例子考察)
  • Object類有哪些方法 重寫equals()需要重寫hashCode()嗎 為什麼
  • 根據類的其中一個屬性排序 (Comparable類)
  • 手寫連結串列的基本操作
  • 手撕程式碼:二叉樹的深度(劍指offer原題)
  • 手撕程式碼:判斷連結串列有沒有環(劍指offer原題)
  • 手撕程式碼:二維陣列中規則/不規則陰影的面積

三面(十分鐘後)

  • 介紹專案(最熟悉的專案)
  • HashMap HashTable區別
  • TCP UDP區別
  • 程序 執行緒區別
  • OIS七層模型 TCP FTP HTTP HTTPs IP 分別在哪一層
  • MySQL索引優化 索引為什麼這麼快
  • ArrayList初始大小 怎麼擴容

總結

第三面有些沒複習到,比如ArrayList初始大小和擴容,還有一些簡單的問題回答錯了。。