快手四面,技术3面+HR面,本以为一面之后就会凉凉,没想到居然让我二面,挺惊喜的。三面下来我都懵逼了,没想到HR小姐姐有打电话约我面试,突然感觉自己运气爆棚~哈哈哈~下面就分享一下我的快手后台Java开发工程师四面面经,希望能给正在备战面试的你提供一丢丢帮助~
一面
- 自我介绍
- 项目,具体负责的内容,时间比较久
- 多路IO复用?epoll和poll和select的区别?
- 进程的状态?线程的状态?
- 进程通信方式
- 代码题:矩阵的旋转(顺时针旋转90度)
- 思考题:一道CPU与IO利用率的题,,。没搞出来,后来面试官看不下去了,告诉了我答案,其实很简单
- 没问我想问什么?直接说等一会还有二面,当时感觉凉了,没想到还有二面。。。
二面
- 自我介绍
- 项目
- 多路IO复用?epoll和poll和select的区别?
- TCP滑动窗口
- CAS
- TCP三次握手四次挥手
- TCP流量控制
- 算法题:(说思路,不用写)
- 数组中除了一个数字其他数字出现次数都是2次,找出这个数字!
- 进阶:数组中除了2个数字其他数字出现次数都是2次,找出这2个数字!
- 代码题:实现atoi
- TIME_WAIT状态
- 宏定义与内联函数的区别
- mysql索引为什么用B+树