<新鲜出炉> 今日头条 后端研发实习 三轮面试面经
之前笔试,a了两题,约了今天下午最后一场(17:00)的面试,一共三轮,连续面。
不得不说头条的效率太高了,这边刚面完,喝了口水,HR电话马上打来通知结果了。
一面(半小时):
自我介绍
直接做题:
n个整数的无序数组,找到每个元素后面比它大的第一个数,要求时间复杂度为O(N),在面试官提醒下写出来了,用栈+栈底指针
然后开始问项目…blabla
介绍5种IO模型
异步编程的事件循环
操作系统为什么要分内核态和用户态
为什么要有page ***,操作系统怎么设计的page ***
二面 (40分钟):
让我介绍项目 然后各种问 问的比较细
STL里resize和reserve的区别
撸一个std::lower_bound,不断优化,直到最坏复杂度也为O(logN)
听我继续介绍项目
C++11新特性
怎么实现线程池
用到哪些C++的新特性
怎么唤醒,调度线程
什么是LRU缓存
怎么设计的LRU缓存,详细
三面(半小时):
一个看起来就很厉害的中年男子
听我吹项目,主要是(kv数据库)
介绍B树 越详细越好
介绍数据库中的WAL技术
实现一个二叉树的持久化方案,可以伪代码,必须用指针
主要是序列化和反序列化的过程
(卡在指针的持久化,然后他不是很满意,说我应该做得出,然后我只能把我的另一种不用指针的方案给他讲,才算勉强过)
实现二叉树的层序遍历
再按层输出
over
HR通知三面都过了,两周内官网会公布结果。

