面试复盘|字节跳动后端开发一面
面试时长:48分钟
- 开局自我介绍,面试小哥贼帅
- 介绍一些web服务器的项目,都做了什么
- 介绍select,poll,epoll的区别,特点
- 说一下升序链表的实现思路,有什么优化的地方吗
- 说一下C++的多态怎么实现的
- 说一下虚函数指针的初始化时间,虚函数表什么时候确定的呢?分别存在哪
- 进程和线程的区别,分别占有什么
- 协程了解吗,协程的主要作用?协程有什么优点
- 说一下进程间通信的方式?详细说一下管道和消息队列
- 说一下TCP三次握手,能否两次握手
- 两次握手会发生什么?
- 三次握手有什么不好的地方吗?有点懵,面试官提示我DDOS攻击角度
- timewait状态,是干嘛的
- 说一下输入url之后的全过程
- 说一下OSI七层参考模型,HTTP在那一层,dns在哪一层,tcp、udp在哪一层。
- 路由器工作在哪一层
- 说一下mysql和innodb和myisam的区别
- mysql索引的存储方式
- mysql的最左前缀法则?举了个例子问我能够匹配上吗
- 讲一下事务的四种隔离级别,他们分别解决了什么问题
- 说一下脏读,不可重复读,幻读
- 说一下mysql的默认隔离级别?通过什么实现的?
- 讲一下mvcc的理解,如何实现的mvcc
- 讲一下mysql有哪几种锁,讲一下间隙所
- 间隙锁都加在哪了
- 讲一下mvcc的事务id,他是怎么判断哪些事务能够访问到哪些版本的
- 熟悉redis吗?讲一下redis的数据类型
- 了解常用的消息队列吗,kafka之类的?不了解
- 有算法经历,为什么不去搞算法?
- 能来实习吗?
算法题:你都熟悉什么类型的算法题啊?我:都行。然后立刻改口,不如来个链表的吧。面试官:那好
翻转链表区间元素
反问:部门技术栈?Go语言