头条一二三面(后台开发)

约的下午1点面,前面排队18个人,嗯,,排了大概58min

一面(40min):
0. 自我介绍(blalala...)
1. 上来就撕代码,找出数组中只出现一次的那个数,其他都出现两次;(异或)
2. 接上面,如果数组中有两个数只出现一次呢?(懵...纸上划了划,还好几分钟后突然灵光一现)
3. 悲观锁和乐观锁;
4. 讲讲你知道的锁;
5. ReentrantLock实现原理;
6. 接上面,讲到了AQS;
7. 讲讲AQS怎么实现的Fair和NoFair;
8. ssh是什么原理?(RSA非对称加密,生成一个公钥和一个私钥)
9. 项目用到了redis,讲讲你项目用到了redis的哪些特性;
10. redis的单进程单线程模型;
11. 延伸到IO多路复用;
12. 一路延伸到epoll、poll、select(主要讲了三者使用的数据结构区别以及各自的特点);
13. 再次手撕代码,BST中任意两个节点差的最小值;(题应该算简单的,一紧张脑子就不好用了,磨蹭了会儿才搞出来);
14. 序列化;
15. 看到简历上有写zookeeper,zookeeper怎么保证数据一致性的;
16. 简历上面有个项目是自己做的一个小轮子,问应用场景;
17. over

忐忑不安的等了大概二十几分钟(??),开始二面:

0. 自我介绍;
1. redis支持哪些数据类型;
2. redis中的字符串类型是怎么实现的;(SDS)
3. SDS相比原生的char[]有什么优点;(共有4个优点,前不久刚看过,当时只回忆起1个优点。。)
4. 关于redis对象系统的一个问题;(我说忘记了,记得redis设计与实现有写,面试小哥:忘记了那就不问了)
5. cookie、session、token三者区别以及优缺点(熟悉归熟悉,突然很懵,说得不全,我说我组织一下语言,面试小哥:别组织了,干脆我问你吧)
6. 讲讲一致性hash,然后套路了一波虚拟节点;
7. git rebase实现原理(我说没用过,不是很熟悉,只讲了个大概,面试小哥:那跳过吧)
8. 简历上作死写了不熟悉的Go语言,那讲讲你对Go的理解吧(我直说学过一段时间,但是不熟悉,然后讲了自己对Go感受比较深的一个特性,协程);
9. 撕个代码放松放松,判断二叉树是否中心对称(我来了个深呼吸,面试小哥:别紧张,放轻松);
10. 继续放松,大数相乘;(劈里啪啦一顿敲,面试小哥好像没见过我这种大数相乘的算法??)
11. 面试小哥:好了,等下一面吧:)

又忐忑不安的等了大概半小时(??),终于,等到了面试官向你发起面试邀请,然后一阵阵卡顿,退出、重登,又是一阵卡顿,如是三番,面试官留言:网络太卡,我联系HR给你换一个面试官,看会不会好点。。
又是一阵紧张的等待,抓紧时间复习以前写的题。。。

三面开始(40min):
0. 自我介绍
1. 上来就是一个堆排序,面试大哥:5分钟写完吧,然后关了语音和视频不知干嘛去了;
隐约记得堆排,一阵敲,5min过去,有个数组越界的bug没搞定,有点慌,不知过去多久,面试大哥回来。。
我:大致是这样,不过有个小问题还没搞定,数组越界了。。
面试大哥:你觉得出现问题的在哪行?
我:指了下xx和xx行..
面试大哥:为什么会越界呢?
沉思,我:不应该啊,我判断了越界条件啊..
无果,面试大哥:可能是牛客的问题吧,这个先不管了。
事后查看,是我把子节点用2k和2k+1计算,但是数组还是从0开始(当时脑子真是懵了)。。
2. 讲讲项目
3. 项目用到了netty,问了netty相关的一个问题,具体是什么忘了。。
4. 然后又是select、epoll;(详细讲了一遍)
5. 项目用到了protostuff序列化库,很多面试官都以为是Google的protobuf,然后就讲讲它们的区别 :)
6. 项目用到了zookeeper,讲讲你对zk的理解吧;(主要讲了zk的数据模型和watch机制,zab记得不牢不敢讲)
7. 你对什么感兴趣?(我说了中间件和分布式)
8. 你能实习多长时间?
9. 你意向的工作城市,北京还是上海?
10. 最后,介绍了自己的部门,然后说:恭喜你,你过了!

第一次得到面试的肯定,感受到丝丝兴奋~

总结:最近几场面试下来感受最深的就是,面试需要充分的准备以及运气。

充分准备不用说,之前在面经里频繁看到select、poll、epoll,也看过一些博客,但每次还是一知半解,前些天下定决心非要把这几个函数调用弄懂,花了一两天时间,阅读了很多博客(有些文章质量真是堪忧,估计作者也没真搞懂,还copy来copy去)以及书籍(Unix网络编程卷一第四五六章,讲得真的是好),甚至还找来源码读了一遍,才终于有底气可以讲清楚这三个函数。

还有就是运气,今天三次面试的面试官都很nice,比较match自己的风格,所以运气还不错。有时候面试不成功,并不是你的实力不行,真的是面试官和你不够match,当然,这是建立在你准备充分的基础上。

祝各位都有一个好offer!

#面经##内推##春招##实习##算法工程师#
全部评论
牛客网:我不是,我没有,别瞎说
点赞 回复 分享
发布于 2019-03-23 23:02
。。我面试问的都是啥简单玩意题啊,🙃
点赞 回复 分享
发布于 2019-03-24 01:57
恭喜大佬~
点赞 回复 分享
发布于 2019-03-23 22:34
大佬请问你有收到明确通过的短信么,官网状态有变化么
点赞 回复 分享
发布于 2019-03-23 22:38
哇 当面offer 强啊
点赞 回复 分享
发布于 2019-03-23 22:39
这么厉害 这种直接过的也会发30天那种短信么?
点赞 回复 分享
发布于 2019-03-23 22:41
给大佬递茶。
点赞 回复 分享
发布于 2019-03-23 22:42
看了大神这面试, 我才觉得我面试问的真是皮毛了。 挂的心服口服了。
点赞 回复 分享
发布于 2019-03-23 23:08
蹭蹭大佬喜气
点赞 回复 分享
发布于 2019-03-24 07:29
恭喜恭喜,吸吸欧气!
点赞 回复 分享
发布于 2019-03-24 07:43
面试的什么岗位?
点赞 回复 分享
发布于 2019-03-24 08:33
什么时候才能像大佬这么优秀
点赞 回复 分享
发布于 2019-03-24 08:41
已经很厉害了,有几个没听过
点赞 回复 分享
发布于 2019-03-24 10:00
强啊
点赞 回复 分享
发布于 2019-03-24 10:28
点赞 回复 分享
发布于 2019-03-24 10:40
吸欧气!
点赞 回复 分享
发布于 2019-03-24 11:07
厉害了~
点赞 回复 分享
发布于 2019-03-24 11:08
实习面试吗?
点赞 回复 分享
发布于 2019-03-24 13:54
蹭🤩
点赞 回复 分享
发布于 2019-03-24 14:09
是暑期实习吗?
点赞 回复 分享
发布于 2019-03-24 14:40

相关推荐

双飞二本嵌入式求拷打我是在 BOSS 上投递的简历,好多都没人回复,这是开场白和简历求大神帮忙看看。您好!我是2025届应届生,最快可在一周内上岗,能够实习六个月以上,并接受加班。以下是我的核心优势和相关经验:1. 嵌入式开发能力:   熟练掌握STM32系列单片机及其外设(如GPIO、定时器、ADC、DAC、I2C、SPI、UART等),能够独立完成硬件驱动开发和调试。  熟悉FreeRTOS实时操作系统,具备多任务调度和资源管理经验。  熟悉LVGL图形库开发,能够实现嵌入式设备的图形界面设计。2. 硬件设计能力:   具备PCB设计经验,曾为2023年工创赛物流搬运赛道设计小车主板,带领团队获得国家级银奖。   熟悉硬件原理图分析,能够快速理解并调试硬件电路。3. 机器人开发与竞赛经验:   在全国大学生智能车竞赛、ROS机器人竞赛中多次获得国家级奖项,具备丰富的机器人开发经验。   熟悉Linux环境,对ROS和ROS 2有一定了解,能够进行机器人系统的开发与调试。4. 编程能力:   熟悉C/C++,熟悉Python,能够高效完成嵌入式开发和算法实现。   具备良好的代码规范和文档编写能力。5. 团队协作与领导能力:   在多个项目中担任核心开发或团队负责人,具备良好的沟通能力和团队协作精神。   在工创赛中带领团队完成项目规划、任务分配和技术攻关,展现了较强的领导力。我对嵌入式开发、机器人技术和智能硬件充满热情,期待加入贵公司,与团队共同成长,为公司创造价值!如果有合适的岗位,欢迎随时联系我,期待进一步沟通!
沉淀一会:嵌入式就是狗屎
点赞 评论 收藏
分享
评论
36
290
分享

创作者周榜

更多
牛客网
牛客企业服务