过程是曲折的,结果是美好的。
师姐直接内推自己的部门,TEG。
面完后凭记忆复盘,不是非常详细,但问题大部分都在这里了。
一面
自我介绍
项目
科研,背景,怎么实现的
深拷贝与浅拷贝
析构函数为什么是虚的
三次握手交换了什么(seq/ack+发送窗口),发送窗口是干什么的,解释滑动窗口协议
信号和信号量的区别
IO协议栈是什么(不懂,能不能给点解释),面试官举例说打开一个文件,从键盘输入再保存,这段时间发生了什么。我回答说键盘是外设,产生IO中断,CPU读取放入内存,再从内存放入磁盘。面试官追问读取数据怎么从内存写入磁盘,我扯了一些页面置换什么的(答非所问),中间我还扯到了L1 L2 L3缓存,被追问里面有什么,我不是特别了解,只说了有一些寄存器什么的。
32位系统,地址空间是多大(2^32=4GB)
物理地址空间和虚拟地址空间怎么转换(扯了一些基本定义,最后坦言具体怎么转换的不知道,答案应该是MMU)
内存有哪些技术(开放回答,交换技术与虚拟内存,重点讲虚拟内存、页面页框页表、缓存淘汰的策略一般是LRU)
算法题:以单词为最小单位翻转字符串,先整体翻转,然后遍历,碰到空格时把前面一小段翻转(单词翻转)
算法题:10万个数字找重复数据,我回答了哈希表、位图、布隆过滤器、排序
还有什么想问,为了表现一下自己,问了一下对方产品怎么做的一致性,还问了有没有借鉴PAXOS与RAFT算法,对方给我讲了挺多关于存储的知识
总结:没问网络并发与数据库,除了操作系统的几个问题,其他都答的挺好的,看来要多看看操作系统的细节了,最后的提问交流还挺愉快的
师姐反馈,过了一面,等二面吧。
二面
3.6 牛客网1h
个人介绍
项目和比赛问得挺仔细的
epoll的工作模式,优缺点
select怎么做的,缺点,内存开销
重载怎么实现的(名字翻译)
虚函数
管道分为哪几种,匿名管道怎么实现的(fork,拷贝父进程地址空间,共享同一个管道socket,所以可以匿名通信)
手撕代码:二叉树的(最大)宽度。牛客网面试房间,写完之后要调用main函数输出的,代码能work。
当天师姐反馈,过了二面,三面是大boss,很严肃,可能会很有压力,做好心理准备(事实证明,做了心理准备也没用。。)
三面(压力面)
3.10 腾讯会议1h
怼项目,优化手段都没问、调度器也没问,就问为什么会有死锁,我回答说调度规则决定的,能否试探加锁去解决死锁,我说不行,因为车辆不准只走一部分,如果它没法走满速度,那它会等待,这样有可能会循环等待,举了个四方形环路的例子,这个例子给出来后才打消了面试官的疑虑,庆幸当时能够在巨大的压力下构建出一个死锁场景。
问SDN项目遇到的困难,我说用户与控制器通信的方式弄了很久才知道,面试官认为这是一个很基础的功能,任何SDN控制器都要提供,说我技术选型有问题,我回答最开始没想到需要这个功能,这个框架已经搭建好了,所以就没想其他SDN控制器,这需要自己手动实现,最后是通过NAT技术转换实现的用户与控制器通信的(这块有点减分,说我技术选型有问题,语气略生硬)。SDN项目里的时延检测模块,为何精度要好(SDN环境下,交换机没有能力处理包头,所以要上交给控制器,所以得自己实现检测方法),时间是怎么得到的(我回答说Python的time库,调用time.time()即可得到当前时间),追问time函数返回值的精度是多少(我被怼的有点慌了,这里也忘记具体精度了,被狠狠地怼了一番)
Linux的定时精度,怎么往前走的(晶振,产生一个滴答,定时器,如时间轮,这里应该算是回答上来了)
进程间通信,要发送10GB数据,要怎么做,首先说了管道,再socket,然后用socket距离说了流程:因为socket有缓冲区,所以可以先分段,然后再一边写,一边读。然后后问我IPC哪个方式最快,回答共享内存,话题转移到共享内存的实现了,我说mmap,问我有没有实际写过,我说没有,但我知道一些应用场景。
mmap有哪些应用(malloc分配内存,以及epoll往内核注册事件,这里回答上来了)
集合,里面每个数字都有两个,只有一个数字只有一个(我回答异或,问我有没有其他的,我说哈希表,然后详细说了两种方法的具体实现以及时空复杂度)
总结:面试官给我的压力很大,说话语速很快,整个面试处于一种很紧张的状态,被怼项目的时候差点想放弃,但还是坚持面完了,可以说,这次面试极大地提高了我的承压能力。
面完问师姐,暂时还没消息,我以为凉凉了,当天晚上告诉我过了,激动万分。
但是面试状态一直是复试,中间拜托师姐催催,但是还是没反应,直到3.19,观望状态突然变为了初试,我慌了,赶紧问师姐,师姐问了HR,说两种可能:要么凉、要么换组了。当时万念俱灰,非常沮丧。
3.20状态又变为了复试,我懵了,晚上状态直接变为了HR面试,开心极了。
HR面
3.27 中午收到下午三点HR面试邀约的邮件,于是打算小憩一会,在睡梦中突然接到一个来自杭州的电话,阿里四面来了!好不容易面完,挂完电话的一分钟之后,广东电话就来了。
3.27 40min 本来约好电话面试,但是由于通话不清晰,改为了在腾讯会议不开视频的通话面试,以下A是本人
看你的比赛经历比较丰富,你是怎么看比赛的呢
A:因为在校学生参与实际大型项目的机会比较少,比赛是个很好的选择,能锻炼编程能力,也能锻炼解决问题、分析问题的能力
那为什么不来实习,而去比赛呢
A:腾讯要求比较高,为了打好基础,提高自己,所以我选择了打比赛,而且当时也没系统地复习过后台开发相关的知识,所以还是继续学习,参加比赛,提高自己
说说华为比赛
A:巴拉巴拉
比赛的分工是怎么样的呢
A:我是队长兼主程,队友辅助巴拉巴拉
华为比赛过程怎么样的,有遇到什么技术之外的难题吗
A:巴拉巴拉(团队合作)
嗯。看得出来这个团队合作对你来说是难忘的记忆
在长达两三年的科研项目中获得的最大收获
A:思维模式,发现问题-分析问题-解决问题,巴拉巴拉
(好像很认同这个思维模式)你在什么时候发现自己掌握了这个思维模式呢
A:直接举了华为软件精英挑战赛的例子,从分析题目,到提出问题,用优化手段解决问题,再到碰到技术难题,再集中攻关,最后收获成果,这个成就感是很强的,巴拉巴拉
你没有互联网大厂实习经历,如何理解互联网后台岗位
A:虽然没有实习,但是有很多了解,通过前面几轮技术面,我相信我的后台知识储备也是过关的,我也非常想进腾讯互联网公司,互联网公司主要是做产品与服务,像腾讯这种大体量的公司,产品要服务于万千用户,那为了提供更加优质的产品与服务,就需要技术人员的分工合作,前端后台等等,后台的方向有很多,数据库、服务器,我相信腾讯肯定用的是最好的硬件资源,但再好的设备也要交到人的手上才能发挥优势,后台就是做这样的事,我们要做的就是最大化利用硬件资源,为产品与服务提供基础保障等等,巴拉巴拉
你讲的挺好的,很有主持人范,我都被你带进去了
A:我以前做过主持人,所以说话这方面还算不错
实习时间
A:三个月没问题的巴拉巴拉
你有什么问题呢
A:大概什么时候有结果
几个小时后去官网查询状态即可,如果是已完成,就等offer审批,审批需要两三天,大概下个星期会有结果
A:我会和我的内推师姐在同一个部门吗
(查了一下电脑,发现我的面试官也是同一个部门)可能会
A:我觉得如果有很熟的直系师姐带我的话,我会成长得更快
不用担心,我们会安排导师,都很nice,而且我相信你的沟通能力,肯定可以可以成长得很快的。
(打算结束时)最近有没有面其他公司?
A:投了一些简历(因为差不多要结束了,我当时脑子没转过来,忘记说“我最想去的还是腾讯”这句话了!)
总结:刚面完阿里四面,不仅要手撕代码,还问了很多东西,因为我说了三点要结束,所以面试官语速很快,我觉得我发挥得不算太好。在听腾讯HR小姐姐说话的时候,还偶尔还有点走神,思绪还没有完全从半个小时前的一些问题中出来。所幸HR小姐姐很温柔,说话轻声细语,很快我也冷静了下来,开始发挥出我应该有的水平。从3.2一面,到3.6二面,再到亚历山大的3.10三面,以为自己在总监的连环炮下要凉了,但内推师姐说我过了,但是简历一直没更新,3.19,我的状态变为了初试,当时心灰意冷,师姐问了HR,说要么凉,要么转组,但3.20下午又变为了复试,感觉峰回路转,晚上又变为了HR面试,我心情激动,一直等啊等,终于在3.27中午接收到了面试邀约,许愿offer!
4.1 17点,在健身的时候来了个电话,广东深圳,座机号码,oc来啦,两个小时后收到了录用函,感谢腾讯爸爸收留。
全部评论
(11) 回帖