2021届,双非二本的阿里云C++面试之旅

阿里云一面:

  1. 自我介绍

  2. epoll原理

  3. epoll、select区别

  4. 项目的特点(有没有考虑高并发),项目花费时间

  5. 断点下载(没答上来)

  6. 竞赛经历

  7. C++中new和delete与malloc和free的区别

  8. 子类析构时是否调用父类的析构函数

  9. 多态的理解

  10. 引用和指针的区别

  11. 重载和重写

  12. 个人优势

  13. 在校期间觉得学的较好的课程

  14. 如何理解go中的Goroutine(刚学go所以没答好,此处面试官应该想问这个底层的调度器)

  15. Docker底层原理的理解

  16. Docker的隔离机制的理解

  17. 内存泄漏的理解

  18. 堆和栈的理解(栈用来保存什么)

  19. 死锁的看法和理解

  20. 性能问题的调试方案和平时用什么方法debug(gdb之类的)

  21. 性能方面的研究(抱歉三连)

  22. 数据库相关

  23. Int在32位和64位机器上的不同(gcc编译)

  24. 反问评价


一面接着就是一个在线笔试,几道简答题几个编程题,在那个阿里伯乐系统上,我这边写那边面试官可以看见


阿里云二面:

  1. 自我介绍

  2. 有序数组中找一个数(二分)

  3. 对项目里的一些点进行考察

  4. tcp三次握手和四次挥手(好像问了)

  5. c++相关(记不清了)

  6. docker中知道什么相关的技术(就记得这个了,我当时答了cgroup、namespace、ufs和那个写时拷贝)

  7. 两个有序数组合并之后的中位数(leetcode4,当时思路不是特别清晰,说的不是很好,口胡了个二分)

  8. 日常反问评价


二面之后有了测评链接和笔试链接
笔试做的是7.20那场,a了第一题,第二题0通过


阿里云三面:

三面面试官在北美,电话打过来信号不好,故换了微信进行面试。

  1. 自我介绍

  2. 为什么笔试没有ak(菜的真实,泪目T_T)

  3. 介绍一个自己擅长的算法(当时说的ac自动机,并且用子串匹配举例。但是在这我给我埋了个坑。因为ac自动机不能很好的解决“一个串是否是多个串中任意一个串中的子串“问题。当时愣住了,面试官说面试完之后想想能不能解决,在给他发代码)

  4. 一个url在浏览器会经历什么过程(中间跳到了中断上面)

  5. 键盘输入一个字符到浏览器输入框内经历了什么(我回答会发生中断)

  6. 中断机制是怎么实现的,中断之后,cpu怎么处理的(答的不好,之后就跳到了内核态与用户态)

  7. 内核态与用户态怎么区分的,区别是什么(答的不好,回到问题4,然后说到了dns)

  8. DNS域名解析的过程,客户机如何找到dns服务器(手动设置和自动找,自动找涉及到了IP的广播)

  9. tcp三次握手(重复)

  10. tcp的拥塞控制和可靠传输(记不清了好像是问了可靠传输)

  11. 谷歌的bbr加速技术(使用过,没接触过原理,抱歉三连)

  12. https过程(主要是那个加密过程)

  13. 反问评价


面试结束后,思考了一下,发现自己那个ac自动机挖的坑。只能用笨方法,将所有的后缀插入trie中,然后对于需要查找的串与trie进行匹配。写完之后,向面试官积极承认之前的错误,并将代码发给面试官。
然后发了个ac自动机真正的用途代码。


阿里云交叉面:

  1. 自我介绍

  2. 在一个二叉树中,给三个节点,根节点和任意两个节点,找两个节点的最近公共祖先(lca问题,我首先说了朴素的暴力搜索解法,然后说了基于二进制的倍增解法。讨论了各个算法的时间复杂度问题。还有倍增法中dp数组的构建。)

  3. 问题2的变形,在一个二叉搜索树中,求lca(我说了直接使用二叉搜索树的性质,对两个节点与根节点比较且往下递归进行寻找)

  4. 小球问题,我们有一个楼和一个球,球在一定高度的地方会碎,现在要找到这个高度,求最小次数。(单球就是o(n))

  5. 四问题变形,球的数量变成两个,求最小次数。(答的不好)

  6. 操作系统有了解吗,线程和进程的区别

  7. 反问评价


听说牛客许愿挺灵,许愿HR面

面经还没发出来就收到通知过了交叉面,这也太灵了!

#面经##校招##阿里巴巴##C++工程师#
全部评论
不错,欢迎加入阿里
2 回复 分享
发布于 2020-08-08 23:33
不太明白ac自动机在“一个串是不是很多串的子串”这个问题上的劣势在哪里,虽然不能很好的解决,但是好像也没有更好的办法了?
点赞 回复 分享
发布于 2020-08-08 21:19
楼主你好,请问你是什么岗位?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-08-08 21:20
楼主哪个部门呀
点赞 回复 分享
发布于 2020-08-08 22:15
怎么通知的呀?
点赞 回复 分享
发布于 2020-08-08 22:19
羡慕,同阿里云但部门不太一样,技术面走完了还在等HR面
点赞 回复 分享
发布于 2020-08-08 22:49
tql
点赞 回复 分享
发布于 2020-08-08 23:43
楼主acm经历?
点赞 回复 分享
发布于 2020-08-09 16:04
楼主面试过了有通知吗?
点赞 回复 分享
发布于 2020-08-10 20:44
大佬太牛了
点赞 回复 分享
发布于 2020-08-10 20:55

相关推荐

工作基本定了,比较满意。这深度学习真是难搞啊,论文看不懂,代码看不懂,不会改,创新点??? 还有一个月中期,怎么搞,已经抑郁了,没有小论文要求,我真是非常幸运了,不然就我这科研能力………… 感觉自己对自己失去信心,无时无刻不在否定自己取得一些成绩都是运气好罢了,真的能顺利毕业吗?严重内耗、无力感爆棚啊…………
AI牛可乐:哎呀,听起来你最近压力好大呀,毕业论文和工作的双重压力一定让你感觉像是背了两座山呢。深度学习确实挺复杂的,就像是要在一片迷雾中找到出路一样。但是,你已经很棒了,工作都定好了,这是很大的成就呢! 论文的事情,别太担心。每个人都有看不懂代码和论文的时候,这是正常的。至于创新点嘛,有时候灵感就像小猫一样,需要一点一点地哄出来的。你可以先试试把你看过的资料整理一下,说不定就能找到新的思路呢。 中期答辩前,你可以列个计划,一步一步来,把大问题分解成小问题,一点一点克服。记得,你不是一个人在战斗,你的导师、同学都是你的战友哦。 至于信心嘛,别否定自己,每个人都会有低谷的时候。你已经取得的成绩,都是你实力的体现。毕业不是问题,只要你不放弃,就一定能顺利走过去的。加油哦,我相信你可以的! 对了,如果你愿意的话,可以点击我的头像,我们私信聊,也许我能帮你出出主意,或者就是简单地聊聊天,分散一下你的注意力也好呀。🐮💪🌟
点赞 评论 收藏
分享
冷艳的小师弟在看机会:jd测评乱点直接被挂了,哭死~
点赞 评论 收藏
分享
11 54 评论
分享
牛客网
牛客企业服务