腾讯2018暑期实习生后台开发面经(已收offer)

一面(40分钟):
首先问的是。。。
会打篮球吗,打什么位置,打了多久。
有女朋友吗,为什么没有,怎么分的???
打算考研吗,为什么不考。

1.看了我的项目,有2个,先问第一个。我自己写的操作系统内核。问进程调度模块。

问项目由来,收获了什么,这里我罗列了一下写完内核后收获的知识,然后举例说上下文切换,在自己写内核之前什么都不知道,写过了就知道实际所需要完成的步骤(PCB,页表切换,汇编代码完成寄存器压栈等等),还有实模式转保护模式的步骤(A20地址线,寄存器标志位),以及如何完成字符显示(显卡内存地址,2个字节表示一个字符等)

面试官关联到问多进程与多线程的区别。

再问一个服务端,一个进程三个线程与三个进程的区别,优劣。

然后问有一个图像处理程序,处理一个请求需要50mscpu计算,现在打算部署到4CPU上,问设置几个线程合适。再扩展,假如不仅需要50mscpu计算,还需要200msIO时间,问设置几个线程合适。

    
2.问我学了网络吗,然后要我说http协议的第一行有哪些字段,然后聊着聊着到wireshark上,他再问我知道linux下的抓包程序吗,我说有tcpdump,问命令详细使用信息,凉凉,我说用的少,只知道host,src和dst选项。

然后他问tcp协议格式,问tcp包里面有ip地址吗?一开始说有,后面面试官提醒从网络分层角度再想想,然后我就说没有(哈哈哈哈哈哈哈,可把我机智坏了,其实我是把伪首部算进去了,所以说有)

    然后准备主动聊一聊tcp机制的时候(这个我准备了好久,可以说很久)然后面试官突然打断我问红黑树的性质(这个应该是压力测试吧),然后果断回答。又要我画左右旋转。

3.然后就结束网络方面的问答了,问我第二个项目,机器学习项目。问这个项目的前因后果,然后问题目要求,自己如何解决这个题目的。巴拉巴拉一堆。

最后比较重要的是我主动说明这个项目对我的收获,并不是我机器学习的知识学的怎样的好,而是让我学会了在完全没有知识与基础的前提下,如何快速学习并且解决一个项目的思路与过程。学知识->将问题分化成可行的措施->制定计划一步步完成。
总结:全场觉得自己发挥正常,没有失误的地方


二面(1个小时):

1.也是先问项目,问的我关于OS内核的项目,问我最大的收获在哪里,我说收获最大的是bootloader模块和内存管理模块。然后讲一讲实现。

2.问我c++抽象类(这个我真的基本没接触,除了一年半前c++ primer,之后就没碰到过了,也没有复习到这个)然后疯狂爆炸。我说抽象类主要做接口来用,然后问我能不能实例化,内部函数能不能定义,这里我是真的不太记得了,因为java的缘故,我就猜测说不能实例化,然后面试官问:是吗?然后我只好从可以实例化的角度去分析,理解,然后说可以实例化,面试官又迷微笑问:是吗?然后。。。慌张分析一番。后面又说内部函数能不能定义,我说可以(因为我隐约记得看书的时候有说这个实际上是可以定义的,后面才想起来了是eff c++上有),然后面试官问:是吗?emmmm。我又有点不确定了,然后从不能的角度去理解分析去试图说明理由。反正这个问题大致把我心态打残了,当时都想直接gg了的。后面坦诚跟面试官说自己这一块知识确实忘记复习了,又很少有机会去写带抽象类的继承体系,所以细节不清楚。
3.构造函数,析构函数他们与普通函数的声明区别,以及说下对他们的理解。这个还算简单,声明上就是那样的,都是以类名为函数名,没有返回值,然后构造函数分有默认构造函数,带参数的构造函数,拷贝构造,移动构造,析构函数则是前面有~。说了这几个点之后结果面试官不是太满意,问还有吗,这个就有点懵了,后面突然想到异常!对,析构函数承诺不抛出异常所以尽量用noexcept,然后构造函数是可能存在抛出异常的,比如你构造函数内部申请内存,内存不够bad_alloc这种也是合理并且大量存在的等等又bb一堆。

4.稍微问了一下虚函数表指针。

5.IO多路复用 select poll epoll

6.一个5L的桶子和6L的桶子,打出3L

7.sql语句写 一个属性的查询,分组,计数并排序输出。

7.要是设计一个高并发服务器,可以从哪些角度去优化。
总结:除了问c++抽象类和io多路复用不是发挥的太好,其他的题目基本上都回答出了,有点小瑕疵吧

三面(远程视频技术面 1个小时10分钟):

3面是视频面,很绝望,不是hr面,还是技术面试(为什么我会有3次技术面啊,好痛苦),应该是来自总部的,面试官一看就是部门大佬,交流起来压力巨大,主要来源于气场与提问的问题两个方面上。气场真的很强,中途搭配上一段比较难的问题,直接让我大脑空白了一会。差点说不出话。

1.首先先问的机器学习项目,扣细节,问我这个项目具体题目,如何实现的。然后指出我人工标记阶段存在的问题,存在误差,用有误差的标记数据再去训练模型误差更大,然后说业界明明有成体系的人工标记解决方案为什么没有去采用?为什么一点都不了解这个阶段的解决方案等等,我反正直接被问的大脑一片空白了。然后被反驳连人工标记这个阶段都没处理好,怎么能说体现解决问题与学习的能力呢。这一段是真的大脑空白,哑口无言,坦白说自己没有太重视标记一阶段,将更多的心思放在算法模型身上所以确实在一定程度上做得不好之类的。让我真的体会到了懵逼是什么感受,结束这个话题的一小段时间内我大概都是发呆状态,直到下个话题我能答上后才反过神来。

2.问第二个项目os内核,也是问为什么做这个项目,有什么收获。这一阶段问了我许多问题,都是由我每说一个知识点引申出来的,而且还挺难的,当时有点懵逼,基本上没有一个问题是心有成竹的,只能尽力将自己所了解的可能和这个问题挂钩的知识都说出来,感觉面试官可能不太满意,比如问我有没有实现外部程序加载,我说没有实现,因为ELF文件解析还没完成,然后就问我ELF文件解析的过程,答的不好,然后转问说在linux下执行一个用户程序底层所要经历的全部过程,也答的不好。这一阶段的提问与我的回答我基本上不记得了,因为问的也不是知识,更多的是给你一个过程性的问题,要你根据自己的理解说说底层或者这个过程经历了哪些阶段。而没有一个问题是我完全有把握的,所以回答也是根据自己知识储备想到什么说什么,所以问题与回答都不记得了,都是临场的。

3.然后就是问一些个人的理解与看法,对于互联网公司。我首先说了自己对于互联网公司产品的理解,然后以qq和微信举例。面试官又问了google和阿里巴巴,然后也相应的说了。

4.问我学习能力方面,问我是如何学习一个新知识的。

5.基本就这些,两个项目应该问了40分钟,不愧是大佬,从项目里面发散出巨多问题来,然后也一直在指明一些我回答上的错误,一度让我紧张。3面完后大概是最崩溃的,腾讯是我处女面,1面基本上没有回答不出来的问题,2面开头2个问题回答不好,后面都回答的挺好的,3面我的感觉则是从头到位,技术问题上我没有一个回答是满意的,当时基本上觉得自己凉凉了,都掏出手机准备买票回去上学了。。。。。直到晚上手机叮的一声,一发入魂emmm。

hr面(30分钟):
常规问题就不说了,hr面的回答一定要体现出你的TeamWork能力,hr也问了我项目的问题,问我觉得碰到的最难的部分是什么之类的。。我的回答也是从如何协调团队的角度去答的。总结一下hr面的重点:以团队合作,积极挑战,热爱你的专业为阐述点突破是比较好的答案。推荐准备可以去看看知乎里面有很多关于如何回答hr面的问题,里面个个都是人才,超喜欢里面的==。

个人相关:第三批长沙 mig 二本院校


#腾讯#
全部评论
厉害了!老哥
点赞
送花
回复
分享
发布于 2018-05-07 17:40
扎心了,继续学习
点赞
送花
回复
分享
发布于 2018-05-07 17:45
秋招专场
校招火热招聘中
官网直投
太强了,写了一个操作系统内核出来
点赞
送花
回复
分享
发布于 2018-05-07 17:57
腾讯的远程视频面会不会要在线敲代码啊?
点赞
送花
回复
分享
发布于 2019-03-11 18:11
强!看到的第一个 offer
点赞
送花
回复
分享
发布于 2019-03-11 18:19

相关推荐

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