阿里云意向,终于接到好运了
Timeline
- 3.10 基础平台开发一面
- 3.14 二面
- 3.23 hr面
- 3.25 意向书,加了 mentor 微信
部门偏运维,暂时不知道好不好呀,先接着吧,有挺多本校的学长在的
个人 bg:双9,无实习,有 acm 经历,项目只有个 webserver 和科研,1 月才开始准备项目,之前硬着头皮把大伙几年前就劝退的 webserver 做了一半,这项目真的太难受了,折磨面试官,也折磨自己,极度劝退
面试体验:面试感觉挺幸运的,遇到了很好的面试官,我有时分不清我在面试还是在学习,莫名其妙就过了
有阿里云的小伙伴可以一起交流下呀,私我
一面
1h 10min,自我介绍,开始拷打烂大街的 webserver 项目和科研
-
项目为什么用线程池,用过协程吗
-
项目的 IO 模型,为什么用非阻塞的
-
相比 muduo 库还有什么改进吗
-
难的来了:为什么用边缘触发,给了个 SSH 场景(连接持续存在,每次只发送少量数据)判断边缘触发好还是水平好,我个人理解是边缘比水平好,想不出什么时候水平会更好。面试官说现在大部分 webserver 是用水平触发的,可以了解下为什么
还给了个数据一直读不完场景,这种场景还是边缘触发好吗?
这块后来看了很多博客和问 gpt,还是不太清楚为啥水平触发更好
- 拷打科研,感觉你对虚拟内存很熟悉,为什么用虚拟内存(回答了安全和节约物理内存),没有回答全面,面试官引导问,如果程序直接申请的物理内存会有什么问题,回答可能有外部碎片(申请的内存是连续的),如果用虚拟内存的话,可以在虚拟地址上连续,物理地址上不需要连续。
应该回答:虚拟地址是一个抽象层,使得进程对运行内存超过物理内存大小,可以申请连续的虚拟地址空间,利用局部性原理可以将不经常使用的页面换出,有页表控制不同进程的读写访问权限,解决不同进程地址冲突问题
- c++ 的 map 为什么用红黑树,从使用场景考虑,为什么不用二叉搜索树,AVL 树,要答到红黑树是折中考虑
- 我看你简历里写了 redis,说一下 redis 的 zset 的跳表原理
- 说一下 c++ 的独占智能指针,什么使用独占智能指针,vector 里面可以存独占智能指针吗, push_back 可以存吗(没回答上来,试了下可以)
- c++ 平时遇到崩溃或者错误怎么调试
- tcp 怎么保证可靠传输,拥塞控制的流程
- 怎么学习新领域知识
- 问对大模型有什么理解
- 手撕锯齿形层次遍历,很奇怪钉钉没有 IDE(腾讯会议和飞书都有),发了一个邮件过来点开一个网页做,题目也没有,是面试官直接打在代码编辑区的。写完后也运行不起来,说复制到本地运行,但是那个代码编辑器里的代码好像限制了复制,我怎么复制都只能复制两行,遂放弃和面试官讲思路。
反问业务,问我对什么感兴趣,还不太了解具体业务,建议多了解原理
第二天问了下校内内推的学长说过了,等约面
二面
50min,感觉全程没怎么问问题,就是和我讨论烂大街项目和科研
首先问实现的 webserver 的极限是多少,受限于哪些方面,如果配置上去你预计最大的连接量是多少,答得不太好,可能是他们运维要考虑这些因素
然后问科研,因为面试官不太懂我做的科研(偏虚拟化方向),就问了下,觉得我这个场景用这个解决思路不太符合他们的理解,会破坏隔离性(没怎么反驳),听我说到了微内核(我不小心说了,但是定义忘了),就问了下和宏内核区别,又问冯诺伊曼架构(也没答上来)
然后问 git 的使用(答了一点)和底层原理(不会)
然后做一个 lru 的题目就结束了。
感觉稍微一问就答不上来了,不知道咋过的
约 3.23 三面,问了校内师兄是 hr 面
HR 面
20min,没有什么难回答的问题
- 课程成绩
- 比赛经历
- 为什么来北京读研
- 为什么读研不读博
- 其他厂的面试咋样,都给 offer 去哪个
- 实习多久
反问实习生培养考核机制,最少实习 2 个月
这周还有 5 个面试(京东,作业帮,快手,美团,蚂蚁),体验一下流程吧,之前泡了好久池子了,希望不会污染秋招面评
完整 timeline 在这里:https://www.nowcoder.com/share/jump/1742908640274