爱奇艺Java一二三面挂经
一面
- 3.30 一面 - (视频面 - 50min)
- Java 相关
- static 关键字的作用
- final 关键字的作用
- final 能修饰方法吗?(猜了个不能,答错了)
- HashMap 和 HashTable 的区别和原理
- Jvm 垃圾回收的大致原理
- 手写DLC单例模式(突然忘了)
- 为什么要DLC?
- 不用 volatile 会怎么样?(不会)
- 算法题:有序整型数组的二分查找
- 操作系统 / Linux 相关:
- 如何查看系统的启动时间(我答了查看日志,应该是回答 uptime)
- CPU Load 和 CPU利用率的区别(不会)
- 查看系统当前所有的 Python 进程
- top 的作用
- 管道的作用
- IO 重定向
- 进程和线程的区别
- 介绍协程(不会)
- 死锁相关
- 死锁的产生
- 预防和检测死锁
- IO 多路复用,select、poll、epoll 调用
- 数据库相关:
- 手写SQL:给出一个表,字段有班级、性别和分数,求每个班男生的平均分
- 网络相关:
- TCP 和 UDP 的区别
- HTTP 状态码
- 介绍一下 RPC(不会)
- Java 相关
二面
- 3.30 二面 (视频面 - 50min)
- Java Map 原理
- HashMap、HashTable、ConcurrentHashMap 的原理
- HashMap 的扩容机制
- ConcurrentHashMap 如何保证线程安全
- Java 的内存模型
- static 什么时候被初始化
- Java 的垃圾回收机制
- Jvm 分代回收模型
- 持久代的作用(不会)
- SpringMVC 的大致流程是什么?
- Spring Aop 的实现原理
- 手写SQL语句:给出一张表,字段有学号、名字、年龄、性别
- 找出最大年龄的人
- 找出最大年龄的人有几个
- 找出最多年龄人数的年龄
- MySQL 索引的原理
- 对名字、性别、年龄建立组合索引
- 哪个字段不适合作索引
- 查询名字、年龄会走索引吗?
- 对名字、性别、年龄建立组合索引
- 算法题:
- 交换链表中的两个节点
- 二叉树的层序遍历
- Java Map 原理
三面(Boss面)
- 3.31 三面 (视频面 - 20min)
- Java 相关
- ArrayList 和 LinkedList 的原理和实现
- HashMap 的实现原理
- 如何通过Key获得Value
- GC 垃圾回收机制
- 如何在C++中调用汇编代码
- 编译原理课程做了什么
- SSL 握手的过程
- 有几次RTT
- 快速恢复SSL的方法
- 对称加密和非对称加密的对比
- Java 相关
小结
面试时用的ZOOM,流程还是挺快的,一面二面是一天内完成的,三面是放在了第二天。
最后 pending 俩礼拜后还是挂了,主要还是一面的DLC单例很久没复习忘了实在是不应该,一面的表现确实也不太好。面一次也有一次的收获吧。