今日头条/字节跳动 一、二面凉经(后端开发工程师)
视频面,约的下午三点,时间到了准时开始面试。一面结束后想着已经挂了,没想到状态变成了等待二面,二面完没多久通知面试结束,不通过。
头条通知的倒是挺快。
一面
1、 自我介绍
2、 给一个数组,定义X为某个区间的最小值乘上这个区间内所有元素的和,求最大的X。如数组为3 1 6 4 5,则最大的X=4*(6+4+5)=60
3、 三次握手,TCP连接的本质
4、 同步IO和异步IO
5、 进程和线程的区别,创建线程和进程的开销指什么
6、 死锁及如何避免
7、 什么是面向对象
8、 C++多态和实现方法
9、 设计题:设计一个购物车,给出应该有哪些数据表,每个表包含哪些字段
10、求数组的中位数。数组由一个升序数组翻转形成,如1 2 3 4 5 6 7可以从5处翻转,形成5 6 7 1 2 3 4,求5 6 7 1 2 3 4的中位数。要求时间复杂度低于O(n)。
二面
1、 自我介绍
2、 项目介绍
3、 InnoDB的索引类型
4、 B树和B+树的区别
5、 事务的四个隔离级别
6、 拥塞控制及对应方法的使用场景
7、session和cookie的区别
8、 设计题:设计一个任务定时器,给定时间和任务,到时间了自动执行对应的任务。
9、 堆里面如何控制并发安全
10、 一个单链表,奇数位置升序,偶数位置降序,将这个链表调整为整体升序,写出代码。