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

相关推荐

当年还在美团那个倒霉的 Peppr 团队工作时,我一直有个疑问:这群人每天到底在自嗨什么。每次开会一堆人围着一堆“看起来很高级”的文档转,模板统一、名词复杂、页数感人,每一页都在暗示一件事:“你不懂,是因为你不专业。”但现实是——代码照样写在 💩 山上,该出问题还是会出问题,这真的很逗,系统一出问题,文档的唯一作用就是证明:“我们当初确实认真写过文档。”所以本质区别到底是什么?是代码质量提升了,还是大家在精神层面完成了一次“工程师 cosplay”?有句话说得好潮水退去才知道谁在裸泳。还记得当时的马哥、明哥(图 1 左)最爱反复强调一句话:“所有场景一定要想到。”、“这个场景为什么没考虑到?”不过他们这些话我是真的听进去了。不然我也不会在一年多前就说:这个项目活不过两年。顺带一提,那段时间还有个固定节目。每次下楼,总能听见我明哥在吐槽不同的人。我从他身后绕过去,经常能听到他一边抽烟一边说:“xx 这小子太坑了,回头我一定要跟马哥说说。”于是深谙人情世故但真不会抽烟的我也会从口袋掏出一支低尼古丁含量的烟给自己点上,假意自己什么都没听到什么都不知道,只是来抽烟的。后来我才明白,这可能也是团队文化的一部分:问题永远在别人身上,而我们,永远在复盘里😂。
秋招白月光
点赞 评论 收藏
分享
评论
11
55
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务