1. 程式人生 > >百度二面

百度二面

2018-09-28 17:00~~2018-09-28 18:00

問題如下

  1. 自我介紹

  2. 挖專案

  3. 客戶端輸入URL,怎樣保證SpringMVC中輸出Hello World

  4. SpringMVC的原理

  5. SpringMVC是怎樣找到Controller

  6. HashMap的原理

  7. HashMap底層陣列單元為什麼不是陣列而是連結串列?

這個題比較刁鑽,但是細細想就出來了
陣列和連結串列的區別在於陣列是連續空間,而連結串列是不連續空間,陣列便於查詢O(1),連結串列便於插入與刪除O(1)。但是在HashMap中,當插入物件時首先需要遍歷整個連結串列,查重,時間複雜度為O(1),陣列也是一樣;從陣列中刪除一個元素時間複雜度為O(1),原因是首先需要遍歷整個陣列,刪除之後還需要將後面的元素向前挪一個單位,而連結串列的刪除就不一樣了,直接是O(1),刪除之後不用考慮後面的元素。這就是HashMap使底層陣列單元使用連結串列的原因!

  1. TreeMap的原理

紅黑樹

  1. TreeMap與HashMap的區別
  2. TreeMap如何保證有序

紅黑樹

  1. Java為什麼不能多繼承 ?

不是簡單的父類方法衝突這麼簡單,我沒有想出來其他答案,但是面試官問還有其他原因。。

  1. 介面的多實現原理,為什麼?