一面
4月13日14:00——15:30
- 自我介绍
- 项目相关
- HashMap 的底层数据结构
- 什么时候变成红黑树?为什么要选择数组 + 链表的结构?
- HashMap 的扩容机制
- 进程和线程的区别
- 一个进程中有哪些数据段?
- 乐观锁和悲观锁
- 介绍一下版本号机制
- 介绍一下 CAS
- Redis 过期数据删除策略
- Redis 内存淘汰机制
- 缓存穿透
- 布隆过滤器的原理
- [240. 搜索二维矩阵 II]
- [260. 只出现一次的数字 III]。位运算没做出来,叫面试官换了一道题。
- [64. 最小路径和]
- 反问
二面
4月17日19:00——20:00
- 自我介绍
- 实习项目背景,你做的工作,项目难点,你的收获
- WebSocket 的了解,底层细节,应用
- 微信底层通信机制是什么样的?
- MQ 的底层原理了解吗?
- HTTP 1/2
- 为什么要从 HTTP 1 迭代到 HTTP 2?
- 线程池的扩容?
- 看过 Map 的 rehash 的过程和线程池的执行过程吗?
- Spring 的设计模式
- 项目中用到的设计模式
- AOP 的原理
- AOP 的缺点是什么?
- JVM 的内联和逃逸分析了解吗?
- 在新的环境、新的语言,你会怎么保持学习的动力?
- 怎么看待自己不是科班出身的
- 自己最大的成就感是什么?
- 科研和计算机时间怎么分配的?
- 最近在学什么?
- 想从实习经历里得到什么呢?
- [96. 不同的二叉搜索树]
- 反问
总结:面试官真的很好,像是在聊天一样,不得不感叹字节的面试体验真的很舒服!
HR 面
4月23日14:15——14:30
主要是聊了一些实习相关的东西,以及转正相关的。
#实习##字节跳动##后端##面经#