Clear 发表于 2018-9-26 20:32:03

今日头条实习面经

刚面完头条,有点静不下来,写一篇面经吧。
等待
讲真,头条这面试时间安排的也太不合理了。一点都没有规划呀。预约了下午三点的面试,活生生等到了下午五点才开始一面。
一面
一上来,自我介绍
然后科研项目,巴拉巴拉开始介绍
然后做题,第一个题,给定一个数组,找出这个数组中每一个数右边的第一个比它大的数,比如9 6 5 7 3 2 1 5 9
10,返回的是 10 7 7 9 5 5 5 9 10 N。
一上来,用了一个二重循环
然后让改,提示了一下用栈,做出来了
const int Nan = INT_MIN;
//右边没有比它大的数时,赋Nan
vector<int> getTheRightBiggerNum(vector<int> nums){
int len = nums.size();
if (len == 0) return nums;
vector<int> res(len);
stack<int>
stk;
int i = 0;
while (i < len){
if (stk.empty() || nums >= nums)
stk.push(i++);
else{
res = nums;
stk.pop();
}
}
while (!stk.empty()){
res = Nan;
stk.pop();
}
return res;
}
第二个题,找出一个数组的中位数,即左边的数都比它小,右边的都比它大
一上来,用了个优先队列
又让改,提示了一下用一个辅助数组,做出来了
最后问项目
linux高并发怎么改进
一面完!
等待
大概5分钟左右,hr电话,通知二面。然后开始等待,漫长的等待,从下午六点等到晚上9点。。。
二面
一上来,做题,二叉查找树中,查找与给定数最相近的节点
然后项目
fork, socket 编程,已经细到每个函数的名称了。
然后linux进程通信方式,具体每一个怎么用,然后说出来一个管道的。。
项目改进
等待
因为时间太晚了,hr打电话换了一个时间进行后面的面试。后面的等面完了补上
三面
一上来,先自我介绍
然后设计一个系统。就说一个服务器上面有一个文件,要把这个文件传给别的服务器,别的服务器数量是成千上万个,怎么设计这个服务器,使得传输的时间最小,或者说系统吞吐量最大。然后就这个问题问了好久
排序算法,各种排序算法的适用场景
TCP三次握手
Redis的底层数据结构的实现
数据库中事务的概念
闲聊
总结
除了等的时间长之外,今日头条的面试官人是真的很Nice!
早上11点过面完三面,中午1点钟接到hr电话,表示通过了。至于offer是否有得根据总的情况来看。不过有了一个校招直通终面的机会。

转载自:https://www.nowcoder.com/discuss/26033

lovelylucky 发表于 2018-10-16 08:23:57

基础很重要啊
页: [1]
查看完整版本: 今日头条实习面经