搜狐二面面经

八股+场景

  • 说一些你熟悉的数据结构。

  • 多叉树你知道哪些?

  • B 树和 B + 树有什么区别,它们都是平衡树吗

  • B + 树一般用在 MySQL 的索引实现上,假设大部分查询只查一行数据,这种前提下 B 树和 B + 树哪个更快一点

  • B + 树作为索引实现时,它叶子里的数据一般存在哪里

  • 假设一台机器上有 2 个进程,通过不同端口暴露服务,且通过本地环回地址直接调接口通信,它们的通信数据会走网卡吗

  • 两台不同节点(不同机器)上的 2 个进程通过网络通信,说一下其中的过程

  • ARP 协议是什么,详细说一下

  • 讲一下 Java 中 HashMap 的扩容过程

  • HashMap 扩容过程中,可以进行 Get 和 Put 操作吗,HashMap 扩容过程中是怎么做 Get 和 Put 的

  • 如果一个线程在 put 的时候,另一个线程进来 put 会发生什么。如果第一个线程刚好触发扩容,又会怎么样

  • 如果一个线程在 put 的时候,另一个线程进来 get 又会发生什么

  • 你知道 Java 的类加载机制吗,就是从字节码文件到被 JVM 加载,中间经历了哪些事情

  • Spring 的 AOP 和 IOC 原理

  • 场景:一个 Spring 管理的普通 Service,里面有 A、B 两个方法,A 方法会调用 B 方法,且 A 方法会被其他 Service 调用。现在有一个统计方法耗时的切面注解,在 A、B 方法上都打了该注解。若其他 Service 调用 A,A 方法里再调用 B,后台会输出几行耗时日志,为什么。B 方法的调用对象是什么。

  • Spring 里所说的 Bean 和对象是什么关系

算法

  • 手撕:快速选择算法

LICENSED UNDER CC BY-NC-SA 4.0
Comment