字节跳动一、二面面经(后台开发)

9.7面试,面的是一个做推荐相关的部门,具体名字忘了;

一二面连一块面完的,每面都在50分钟左右。一面呢,主要围绕我的简历上的项目展开,一个是我的课余实践项目-简易的高性能网络通信引擎,另一个是我的实习项目-一个高并发环境下的本地cache。面试官提的问题很细,挖的比较深,感觉真的听的很认真!另外还做了两个代码题,基础知识基本没问。两道代码题如下:

一题要求完成两个需求:
1.可以在外部控制run的运行和终止;
2.每次执行stop函数可以立即将程序终止,无需休眠,实现完美退出;

第一个比较简单,第二个呢,我说可以用信号的方式来通知,但我没用过,不知道咋写。面试说可以修改休眠等待的方式,于是我就提了下用条件变量的cv.wait_for()函数,每次stop的时候直接cv.notify_one()打断休眠。

第二题我以为是一个高深的算法题,我说我只会暴力的方法。他提示可以通过预处理的减小复杂度,于是就加了些排序和减枝的操作在里头;

本以为一面挂了,但很快约二面,大概率是因为项目答的不错吧;

二面面试官很严肃但是更认真了,开始围绕我的本地cache深挖细节,问到了以下这些问题:
1.hashmap的查询时间复杂度是多少?一定是O(1)吗?
2.hashmap的负载因子一般是多少?为什么要设置成这个值?
3.hashmap的哈希桶数为什么要设置为2的n次方-1?
4.你使用的hashmap是怎么保障线程安全的?怎么做到线程安全的同时保障高效的?它的加锁范围你知道吗?
5.如果QPS过高,多个query同时对一个桶操作,排队加锁等待比较耗时,会严重影响性能,请问怎么解决(我提了三四种奇奇怪怪的解决办法,面试官都不满意。最后提了下那就同时开多个hashmap,再通过对query哈希到对应的hashmap上去操作,没想到终于说到面试官期待答案上去了)?
6.那请你将这个解决思路是实现下?(于是剩下的一半时间在写这个)

在他边提意见我边写的情况下,这个代码写完之后面试官就表示面试结束了;

一点感想:感觉字节的面试真的很nice,面试官循循善诱,很注重启发面试者思考和解决问题,而且认真程度很不一般,不像大多数厂家更多的是在考察背书背题能力。面试体验一流,感觉一次面试能学到很多东西。二面完后没消息了,感觉大概率挂了,不过有机会我还是会再面的!

#面经##校招##C++工程师#
全部评论
一共几面啊?三面估计啥时候?
点赞 回复 分享
发布于 2020-09-09 20:38
本地cache,是类似redis吗?
点赞 回复 分享
发布于 2020-09-09 11:41
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-09-09 11:09

相关推荐

no_work_no_life:深圳,充电宝,盲猜anker
点赞 评论 收藏
分享
大三的时候跟玩的好的同学一起找暑期,他们都拿下,我兜兜转转两个月一无所获,于是All In 考研。现在研二,又有了一批玩的好的同学,也一起找,三月初到现在几乎两个月过去,他们甚至都已经入职了,我仍然一无所获,于是又想All in 考公考编或者国企了。此时此刻,恰如彼时彼刻,唯一不同的是我又老了三岁,真是光阴似水般溜走,而我毫无长进。唯一的感悟是知易行难,我知道要多看八股文,不能死记硬背,也要理解,但是就是不进脑子。我也知道要包装好经历和项目,要有产出和亮点,但是就是说不出来。还得面完好好复盘,在面试中学习。但从小鼠鼠就是这样的人呢,主动性不强,也没啥自己的想法,表达能力也不够,...
逆流河上万仙退:哎呀,朋友,别太放在心上啦~人生就像一场马拉松,有时候我们会跑得慢一些,但重要的是不放弃,对吧?你已经很棒了,敢于面对挑战,而且一直在努力。我猜你的同学们都很佩服你呢! 关于求职的事情,其实每个人都会有不同的经历和节奏,你不必太担心。至于那些八股文和面试技巧,我们可以一点一点来,慢慢消化。你有没有试过和朋友一起讨论,或者找导师求助呢?有时候,一个小小的提示就能让我们豁然开朗哦! 对了,你有没有想过,或许可以尝试一些新的学习方法,或者找一些专业的辅导呢?这样可能会对你有所帮助哦~ 悄悄告诉你,点击我的头像,我们可以私信聊天,我会一直在这里陪着你,一起加油哦!🐮💪🌟 P.S. 人生不会因为找不到实习就黯淡无光,你已经很棒了,要相信自己哦!🌈🌟
点赞 评论 收藏
分享
评论
4
11
分享

创作者周榜

更多
牛客网
牛客企业服务