注:不允许直接转载。如要转载请私信我并表明转载意图和地址征得本人同意。深夜睡不着,索性写一篇文章来总结一下今年找暑期实习的经历。个人情况本科就读于西南某双非,有一块ACM亚洲区域赛的铜奖,本科期间获得过国家奖学金等。研究生就读于东部某985,期间主要从事云原生可观测性领域的工作(深度参与并与团队开源了一个开源项目,目前github star有300多)最终结果美团基础研发平台-操作系统组的offer(后台开发)阿里某广告部门的offer call,等待意向中(C++开发)背景三月份刚好遇到项目组很忙,手头有一个比较重要的任务急需完成,因此完全没空准备刷题和八股。甚至一度忘记要找暑期实习这件事,直到看到群里和学校论坛的同学们纷纷开始找暑期实习,因此自己也利用空闲时间制作了简历,投了腾讯、美团、阿里、华为这几家公司(后来投的比较晚的百度和字节,一直连面试邀约都没收到过)。面试经历三月初在学校论坛遇到了前辈给内推了腾讯云,在毫无准备(没刷题没看八股)的情况下仓促展开面试……以下经历以公司为单位进行回忆。腾讯云一面(3.10)有两个前辈约了一个晚上的视频会议,主要就是简单聊了聊项目,然后问了一些网络问题(这个组好像是做网络的)腾讯云二面(3.13)很快约了二面,二面是组里的研发leader,主要针对项目细节做了一些提问。然后扔了两道算法题(目测两个mid),写完了面试官说“好的知道了”然后第二天在内推学长那里得知挂了,二面面试官觉得方向并不够match。所幸的是因为是学长内推,很快催人释放了简历。差不多释放完简历隔了两个小时左右,被腾讯的魔方工作室捞起来。腾讯魔方工作室一面(3.15)主要深挖了一些C++语法细节,比如空类占多少字节,还有一些犄角旮旯的C++操作。算法题是LRU。(由于完全没准备过刷题,写的还是有点生疏,不过最后写出来了,尴尬的是数据点通过了17/18)腾讯魔方工作室二面(3.17)问项目(20min)算法题是给定一个整数n,求比n大的且相邻位不相等的最小整数(目测hard-?反正做出来了)设计题1 实现share_ptr设计题2 实现一个游戏全服排行榜,显示前1000名玩家,同时显示用户自己的排名,数据量在亿级。讲讲内核定时器的实现二面后面试官说我解决问题的能力蛮强的,但是过几天发现挂了。腾讯云一面(3.22)隔了几天又被腾讯云另外一个组捞起来了,面经记录如下:描述浏览器访问百度的全过程,包括SNAT,DNAT面试的时候网卡,问为什么会卡输入域名如何知道端口的TCP慢启动过程,如何做拥塞控制TCP如何确定重传的数据包,比如发送1000个包,收到一部分ACK怎么办客户端向服务端发起建立连接请求,如果服务端最大连接数满了,客户端会发生什么如果curl一个服务端没有的端口,发生什么如果一直发送数据包,用户进程不接收会发生什么,数据包会丢还是怎么样,缓冲区会溢出吗了解tcpdump吗,tcpdump的原理是什么(从内核协议栈的角度讲)对于netfilter IPTABLE过滤的数据包,tcpdump能否抓到,为什么(协议栈角度,答收包能,发包不能)eBPF如何处理内核和用户态的通信发现产生了大量的pagefault原因可能是什么page cache什么时候会用到,具体过程讲一讲进程线程线程一般开销具体有多大讲讲k8s的架构k8s中deploy的实现原理,node挂掉会怎么办namespace有哪些分类k8s中为什么要有podubuntu的镜像放到centos中跑为什么可以跑两个容器进行通信,数据如何流转(从虚拟网卡聊到协议栈)Golang中channel如果不初始化,往进写会发生什么给了一段看不懂的Golang代码让我说啥意思短时间内产生了大量的time wait可能是什么原因,该如何排查感觉答得还可以吧,但是这一次泡池子泡了很久很久,一直没等到二面,差不多一两个星期流程结束的。接下来是阿里的面试经历:三轮技术面+一轮笔试加面(因为笔试翻车只A了一道hh)+一轮HR面一面一个小时左右,项目差不多聊了半小时自我介绍介绍一下Linux内核的eBPF技术项目为什么要用CGO,以及CGO中需要注意的细节项目中遇到的问题(讲了多核CPU资源竞争问题、内核协议栈、容器网络场景问题等)项目的性能优化怎么做的(从数据结构设计、指令流水线优化、减少内存拷贝方面和面试官讲了讲)项目中的ring buffer如何解决数据的头尾跨越问题内存页中断的时机(项目提到)CPU线程中断的时机(讲了3种类型,主动和被动让出,顺便补充讲了Linux内核cfs调度算法)各种C++相关知识点写一个二分算法,4分钟写完搞定二面问项目(20min)场景题笔试加面二面完的当天晚上进行了笔试加面,差不多就是对于C++语法的考察,然后还有算法题三面交叉面问项目(20min)(追问的细节也比较多,而且涉及一些极端场景怎么解决的问题)红黑树实现博客为啥很久没更新了问笔试题现在做会做吗项目做商业化时和竞争对手的优势在哪里,和各大云厂商的优势在哪里还有一些记不清了HR面有些细节记不清了做过最有成就感的事,具体说说对导师的评价遇到和同事的问题怎么解决你认为自己有和别人不一样的特质吗,举例说说这种特质带给你了什么你认为这种特质是怎么形成的还投了哪些,选择offer时优先考虑什么选择offer时女朋友的意见重要吗阿里前后流程也有一个月多一点的样子,4.18晚上收到的offer call(因为4.18上午收到美团offer就去催了一下阿里)接下来是美团,美团前前后后也经历了4场面试,第一场是3.30晚上美团基础研发平台一面自我介绍围绕项目问(20min)怎么避免内存泄漏,在生产环境中遇到了内存泄漏怎么排查C++如何处理高并发网络场景C++多线程怎么做如何做压力测试,你们的项目的压力极限是多少,怎么做的C++ emplace_back原理map和unordered_map底层实现,区别向vector中插入一个对象的过程vector溢出时如何拷贝类对象移动构造怎么写你们的项目是如何帮助开发人员排查网络问题的算法题:编辑距离,两个字符串,第一个字符串修改,替换,删除的代价为a,b,c,求变换到str2的最小代价美团感觉回答的很好,算法题也做出来了,但是一直没有等到二面,一周后进入人才库了。然后进入人才库没多久,被数据库研发部分捞起来了。数据库研发一面一上来面试官就问“我看到你上次美团面试的评价很不错,怎么终止流程了?”,答曰:“我也不知道。”整体聊的还不错,上来面试官让写个二叉树层序遍历,然后问了一些项目问题,内核的知识等等。最后反问环节我问面试官说感觉跟贵部门不是很match,为什么捞我。面试官回答说校招生主要看基础。不过这个面试官特别好,说我跟操作系统部门match,就把我简历推给操作系统组了。操作系统组一面和二面一面(4.11)(40min)问项目(技术实现、业务场景、生产落地等)TCP三次握手,四次挥手过程二面(4.14)(40min)自我介绍问项目技术实现项目落地遇到哪些问题说说eBPF的缺点(堆栈、指令数限制,性能比内核模块差,可观测性相比传统APM的不足等等)了解eBPF CO-RE吗,内核怎么做的,如果没有内核支持如何实现了解namespace吗,有哪些namespace,分别展开讲讲docker除了namespace和cgroup,还用了哪些技术浏览器访问的网络行为过程资源的同步问题怎么解决互斥锁和自旋锁区别毕设题目是啥,愿意跟着美团一起做毕设吗手里有其他offer吗,选择的时候看重哪些操作系统组果然很match,二面面试官表示我对内核eBPF技术的了解可能比他们一些同事还更深入(有点受宠若惊)。两轮面试基本100%都回答出来了,自我也感觉稳了。差不多等了两天,第二周周一的时候出现了乌龙,美团给我发感谢信了,把我吓一跳,然后去核实发现应该是海发的时候发错了。4.18上午接到美团HR电话,随后收到录用意向。总结总的来说,由于一直在项目组干活,全程没空准备刷题和八股,明显感觉有一些问题的细节还是生疏了(所以面试准备还是很重要),由于时间仓促被迫只能一边面试一边找感觉。其次是投的早很重要,我投的晚的字节和百度连面试官的脸都没有见到过。这里还得多多感谢经常给我答疑解惑的学长和一同找实习分享进度、经验和信息的实验室同组同学,如果没有他们我可能都意识不到要这么早开始找暑期实习。不过幸运的是结果也还算不错。写下这篇文章为自己的2023暑期实习面试画下一个句号。祝所有看到这篇文章的小伙伴也能收获自己满意的offer。
点赞 41
评论 11
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务