2021年3月9日 北京快手Java开发–用户增长方向 实习面经(一面)
1 | 自我介绍 |
1.1 HashMap 和 ConcurrentHashMap 的区别以及底层原理
主要的区别:
HashMap 是线程不安全的,而如果要去保证线程安全的话,就要使用ConcurrentHashMap。
HashMap 的底层原理:


ConcurentHashMap 的底层原理:


1.2 那你能讲讲 ConcurentHashMap 是怎么实现线程安全的吗?

1.3 那HashMap的查找的时间复杂度是多少呢?为什么查找时间复杂度是O(1)呢?
HashMap 的查找时间复杂为O(1)。
为什么呢?:

1.4 你能讲讲 ConcurrentHashMap 和 Hashtable 的区别吗?

1.5 为什么 HashMap 的底层或者说 ConcurentHashMap 的底层为什么需要用到红黑树呢?

hashmap为什么用红黑树不用b树_【181期】HashMap 面试二十一问!

1.6 你对 hashCode 有什么了解吗?


HashCode 的概念:根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值。

1.7 那你再讲讲红黑树和AVL树之间有什么区别呢?以及红黑树和AVL树一般都是使用在什么样的场景呢?



参考博客:
应用场景:
–AVL 的应用场景:
Windows NT内核中广泛存在;
–红黑树的应用场景:

1.8 那你能讲讲红黑树的查找性能的时间复杂度是多少吗?
红黑树的查找、插入、删除的**时间复杂度最坏为O(log n)**。
1.9 讲讲 InnoDB 引擎的索引是用的什么呢?

2.0 讲讲事务的特性以及他们的隔离级别有哪些?
事务是逻辑上的一组操作,要么都执行,要么都不执行。


2.1 说一下 读未提交 这个事务隔离级别是怎么的一个过程?以及在该过程当中,可能会遇到什么问题呢?

2.2 然后再讲讲什么是幻读,以及幻读与脏读有什么区别?


2.3 然后说一说MySQL InnoDB引擎的默认的事务隔离级别是什么?


2.4最后问到,你了解Redis吗?还有你了解Spring框架吗?
这里就直接直接见JavaGuide了。。。
2.5 手撕算法题
算法题:

1 | class Solution { |
- 本文作者: feng之锋
- 本文链接: http://example.com/2021/03/09/2021.3.9北京快手Java开发实习面试/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!
