腾讯实习生面经(已拿offer)-菜逼的逆袭
1.引子:
说实话,我之前一直认为自己是不可能拿到BAT级别的offer的,这次参加腾讯的实习生招聘,
只是想积累经验,为未来的秋招做准备。我甚至认为如果找不到实习的话,那就不去实习了,
安心准备秋招……大家可想而知我的水平了……但是,之后的经历证明事在人为,只要努力去
做,那就有机会成功!
2.准备的情况:
本人武汉地区211小硕一枚,本科期间平平淡淡,编程基本不会;读研期间只做过一般的项目,
基础知识(TCP/IP、OS、SQL等)也不牢靠,算法和数据结构更是呵呵哒……
我在上学期就感到了压力,从10月份开始每天都花一定的时间刷Leetcode,刚开始每天只能做1
到2道,而且还需要看答案;到后面,每天可以做3-4道,算法能力有一定的提高吧。这学期开始,
我感到了空前的压力,因为想到自己这么菜逼,根本找不多实习啊……因此,制定了详细的计划,
每天从早上9点钟学习到接近11点。三月初接到了阿里蚂蚁金服的一面电话(内推),我由于准备
不足,答完就知道自己挂了……
接下来就是更有效率的复习了,基础知识都过了一遍,每天也都花一定的时间刷题,这段时间
的突击感觉自己提升挺大的。
3.笔试:
4月3号进行了腾讯的笔试,觉得自己答的一般,小题知识面很广而且都是多选;大题编程题也
4月3号进行了腾讯的笔试,觉得自己答的一般,小题知识面很广而且都是多选;大题编程题也
不是那么简单,我只完整做出了蛇形矩阵……幸运的是4月12号收到了面试的短信,然后发现大部
分同
学都收到面试通知了,腾讯这点真的需要给一个赞!
4.一面(轻松过关):
算法:一面是4月14号11点40,面试官人特别好,全程微笑,以欣赏的眼光听着你回答问题,真
是棒
棒
哒!
面试官首先问我STL熟悉吗?那必须熟悉啊,然后问我map的底层实现,我就把红黑树,
红
黑树的性质(
红黑树即是二叉搜索树又是一种特殊的2-3树),时间复杂度,为什么红黑树高效
balabala
说了很多。面试
官对我的回答还比较满意,接着让我手写BST(二叉搜索树)的查找算法,心里
一乐(前几天刚看)、
很快就写出了,他确认没问题后就没问我算法相关问题了,应该对我这方面
评价
比较高(然而真的只是运气好,
问的恰好是前几天刚准备的……)。
项目:之后他跟我聊项目,期间问到我项目有什么改进的地方,我把之前准备好的用redis优化
MySQL的
性能、
服务器采用CDN网络集群、视频流编码使用h.265代替h.264跟他一说,然后他又比
较满意(可
能觉得
我知识
面的广度还不错)。
TCP/IP:之后问到了TCP接收方如何保证按序接收,这个答的一般,语言组织的有点乱……
MySQL: 之后问到了mySQL的存储引擎;我MySQL写的是了解啊,当时心里一万只草泥马啊……
只能老
实跟人家
说只是听说过InnoDB还没有认真学习,项目中只用到了增删查改、表的设计等。
他之后
问我
本科学过数据库吗?
老实交代没学过,还跟人家强调本科学的是信息安全,信息安全没有
开数据库
,
结果这
一波解释给自己挖了个坑。他
立马就说既然你是学信息安全的那你设计一个尽量安全
的CSDN后
台系统吧,
幸亏之前复习过相关知识,磕磕绊绊说出
了自己的想法。
学习计划:最后面试官问我最近的学习计划,我就说最近了解了redis,觉得redis特别优秀,准备学
习redis的源码。
总之,这个问题只要展示对于学习技术的渴望即可。
5.二面(幸运女神在微笑):
网络&项目:二面是4月16号11:40,这次毕竟是总监面,面试的内容要比一面广也深很多。首先介
绍项目,然后就开始狂问网络了:HTTP返回码302;HTTP1.1与HTTP1.0的区别;epoll模型为什么
效率
高;对socket编程的了解程度;DNS解
析使用什么网络协议;完整解释访问一个域名的具体流
程(中间使用的协议、报文结构都要说清楚),这些问题
有的答的不好,但还算惊险过关。
算法:然后面试官话锋一转,开始问算法了:0-1背包、部分背包、完全背包;一个开放性问题:
5亿个QQ会员和5亿个绿钻用户的所有QQ号求交集(找到两个集合中相同的QQ号
),要求尽量低的
时间
复杂度和空间复杂度;最后手写了个二叉树
中序遍历非递归实现,这个倒是不难。这次面试广度
和深度都
有了,自己有的问题答得不好,但已经发挥了100%的实力
了,能不能过就看幸运女神了……
6.HR面:
HR面就比较好过了,夸张点说就是:只要表现出你眼中只有腾讯、你眼中只有技术就行了,哈哈……
7.心得&建议:
(1)基础、基础、基础,重要的事情说三遍,由于大家都是在校生没有很好的项目经验,面试官最
关心的其实是基础。因此,大家在面试前很有必要把TCP/IP、数据库、OS、一门面向对象
语言(C++/Java
)、
算法等认真复习一遍。
(2)手写代码的能力,面试需要在白纸上手写代码,这个需要平时进行针对性训练,否则面试
的时候可能不适应……
(3)认真准备项目,面试官希望看到你的工作量,因此项目的具体架构、自己做了什么、
难点、创新点、可以改进的地
方都需要认真准备。一个小建议:可以了解下对项目进行改进时可能用到
的技术,
面试官不问还好,
如果问到的话绝对可以起到锦上添花的作用。
最后,衷心希望大家都可以拿到满意的offer!