快手后端一面
1. Java 里读文件一般用哪些类?
2. 讲讲 `InputStream`?
3. `char` 和 `int` 分别占几个字节?为什么这么设计?
4. HashMap 的 `get` 方法流程是怎样的?
5. 讲讲 `equals` 方法。
6. HashMap 的泛型参数是怎么回事?为什么这么设计?
7. JDK 8 里的 Lambda 表达式用过吗?讲讲 `Function` 和 `Consumer` 接口。
8. 再讲讲 `Supplier` 和 `Optional`?
9. WebSocket 和 TCP 的心跳机制是怎样的?
10. 聊聊 Redis 的缓存分片、淘汰策略,特别是 LRU 的底层是怎么实现的?
11. 用 Git 时遇到冲突怎么解决?
12. 算法题:把一棵二叉树转换成一个单链表,需要手动构造树节点。