这篇文章主要叙述腾讯实习后台开发的面试经验,感兴趣的同学可以瞄一瞄(仅限于实习). 本次实习面试主要经过了一下几轮:
0)简历投递.
1)线下笔试.
2)面试初试.
3)面试复试.
4)GM/EVP面试.
5)线下签offer
##0.简历投递
首先需要在这里完成注册,并填写简历. 可能是去年研一的时候就想跑去实习,于是早早的就注册了一个简历,简历ID号就 小了别人很多,是5位数的简历ID.里面如实填写就好了,没有啥要注意的.
##1.线下笔试
笔试前会在官网这里查询到自己的笔试地点.当然需要准备的 东西也比较正常,身份证/校园卡,2B铅笔一支,橡皮擦一枚,签字笔一支.下面介绍一下 关于考试的题型(由于保密协议,只透露大概的内容):操作系统,c/c++,IOS开发, C#,http协议,javascript,数据结构和算法.
###1.1.操作系统
了解一下操作系统用户态,核心态,中断,死锁,分页分段的一些内容.以及在程序 运行中程序员所能够控制的内存,堆/栈空间到底存放的是什么内容,静态内存存 的是一些什么东西和堆/栈空间有什么区别.当然现在还在学习中地址.
###1.2.c/c++
了解一下c/c++构造函数,析构函数,构造顺序,析构顺序,函数内部对局部变量,全局变量 静态局部变量,静态全局变量的声明.了解const,static,extern,virtual等关键字的作用, 以及字符串,字符常量,字符数组在内存中存放的位置.推荐圣书c++primer
###1.3.IOS开发,C#,javascript
这三我不是很懂,但是有幸没怎么考到,不过javascript正好考了一点我看了的东西,算是蒙对了一个.
###1.4.http 协议
想了解http协议的话,参考圣书http权威指南.这个书讲的非常详细,包括了大部分http常考 的东西.状态码,字段含义等等.
###1.5.数据结构和算法
想了解数据结构和算法,对于大部分面试的同学,推荐两个刷题网站leetcode,以及hihocoder. 前者leetcode中80%题目比较基础,可以加强一下信心;后者hihocoder带有一些高深的数据结构和算法,有点意思. 经常会有名企的题目会挂在上面,如微软,网易游戏等等.至于推荐的书嘛,如果觉得自己数据结构算法差一点就看 剑指offer;如果觉得自己还不错,推荐 一锻炼思维的书挑战程序设计.
##2.初试
万万没想到啊,初试竟然被分成了上午和下午.
###2.1.初试1
上午一个感觉很牛的面试官问我一些项目里面的东西,着重看了我的项目经验,问了我些我自己搞的一些 小东西(简历中的项目经验)接着问我linux和windows在你感官上又什么不同. 这问题我想了好久,不知道怎么回答..乱扯了一些..说是linux更有自主,更自由,当然windows也有相应的功能,但是需要对windows底层了解的更多一些. 我举了一个最近实验上用的例子.wireshark vs tcpdump ,wireshark就是一个带有图形化界面的网络数据包分析软件, tcpdump是一个纯命令行式的网络 数据包分析软件.wireshark使用起来很容易上手,但是想要自定义其输出格式,提取处包中想要的数据还是有点困难,使用tcpdump + awk 就能容易的提取到 .分析一下pcap 和你想要的协议格式,在用awk分解输出一下想要的东西就可以了. 于是面试官就问我tcpdump工作原理你知道么?我就从网络数据包这个硬中断 开始说起,到cpu执行,再到tcpdump的软中断开始,到cpu执行,说了一点点.接着面试官又问我你懂tcp/ip么?3次握手大家都知道,4次断开链接的过程你说一 下把,接着我就噼里啪啦说了~ 又问为什么是4次断开呢? 全双工啊blabla~ 又问你懂并发编程么?能举几个并发编程中常用软件的例子,如select poll 等 等?这一下蒙了.完全没搞过啊.就如实说没搞过了.接着就差不多了,要我下午再来(满心欢喜以为是过了初试,查询状态后发现还是初试中)
###2.2.初试2
到了下午,一跳一跳往前走啊,以为过了初试.去了那边,被告知现在的状态还是初试状态,你们并没有过初面.好吧,就跟着走吧~接着慢慢悠悠的跑去上午 的那间房,一起同去的还有5个人,有中南大学的,有国防科技大学的,还有林科大的,还有俩没问清学校. 进去之后,告诉我们有个算法题和一个memcopy的题 限时一小时写完交过来. 算法就是求一个数N(1<=N<=1000000)的所有连续自然数和的组合数情况.如15=1+2+3+4+5=4+5+6=7+8. 当然小小推敲一下就好了. 差不多15分钟就搞完了. 后面时memcopy函数,这个考点就是考内存重叠的情况,注意从头还是从尾复制.第一个做完,个人感觉面试官感觉还不错,讲了一会儿 就走了.
##3.复试
第二天上午参加复试,看起来是一个沉稳耐心的面试官,一进去桌子上摆了纸和笔(吐槽一下一面的面试官,想写点什么给他看,都不让我写).面试官看了我的 简历,说搞过ACM呀,都来说说你的科研经理看看,blabla 把自己仿真 bloom filter 的一些项目说了一下. 他又看到了阿里云上贵州竞赛那个,我又 blabla 把这个竞赛过程说了一下,怎么优化怎么搞才到最后的成绩.最后,他问了我这个阿拉伯数字识别是怎么回事,脑子里就把机器学习那视频放了一边, 从图像处理成灰度,到机器学习模型,到输入层,隐藏层,输出层,到迭代方法,到结果判定说了一遍. 他问你用什么实现的,我说octave(其实就是matlab的 免费版).他也就没问啥了. 最后一个技术问题,你知道TCP雍塞窗口么?是什么?我一下有点蒙..说雍塞窗口和滑动窗口一样么?他说不是一样的,那好吧今天 就问到这里,你实习什么时候能来?我说看导师吧,7月的样子.最后一个问题:你还有什么想问的? 这个问题的回答比较有意思,我以为会在三面的时候问, 这个时候没去记这个答案,只问了有没有员工培训计划. 当然,这个问题的答案在这里有比较详细的回答.
##4.GM/EVP面试
这个就是聊人生啊,聊理想啊,我说我以后相当一个架构师,现在想了解一下腾讯整体架构运营情况. 没想到最后就把我弄到架构平台部去了,感觉挺好的. 最后的那人感觉很会聊天,说话很巧妙,既不让你失去自信,同时也不会让你过度的自信. 例如:在我手下也毙掉一些huster的,你也不比他们差.但是湖南大学 的计算机和华科的计算机还是有差距的.这个面试主要问了几个问题:人生中最自豪的事情,人生中最遗憾的事情,以后的发展方向,为什么不读博士?差不多 就是这些了.最后,有个小细节前两位面试官都没有的就是,起身目送我走出门,告诉我电梯在右手边(当然我也不是故意犯二往左边走).
##5.线下offer
27号又是短信又是电话的,要我赶紧去茉莉花签offer. 很开心的跑过去,是那位每天在通知面试的那位HR,告诉我一些实习注意事项,签了字. 然后美美的 拍了个照片就走啦~ 另外还送了长沙线路特有的企鹅,啦啦啦~
Over, 五一愉快!