百度二面

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. 接口的多实现原理,为什么?

猜你喜欢

转载自blog.csdn.net/qq_40910541/article/details/82885178