2019腾讯TEG提前批C++后台开发一面~四面实录

985渣渣小硕一枚,非计算机科班出身,考研跨考到华工计算机专业。研究方向是图像处理,平时较少接触ML、DL等算法,所以3月初准备找实习的时候果断放弃了算法岗,没办法只能捡起自己以前稍稍有基础的的C++后台开发这块。

大概3月9号官网投递的简历,也没有找内推,我一直以为自己已经错过提前批啦,本意就是想先把简历投了,以后估计还要做腾讯的笔试才能进入面试。

结果3月16号晚上有深圳的座机打过来,因为当时正在做网易提前批的笔试,所以就没接。

3月17号下午又打过来,问我方不方便面试,我说现在不在学校,能不能明天上午面,他说可以,约定在18号上午10点到12点。

挂完电话,我还天真的以为这可能是个hr,还不知道即将面对的就是技术一面。

晚上问了一下面过腾讯提前批的同学,他们说第一次就是技术面。我顿时有点慌!我特么怎么这么弱智天真呢?

当时的情况是,从开学开始除了做做简历,其他时间全在刷题刷题,根本就没有复习跟面试有关的东西,项目也没怎么看。

从来没想过,第一次拿来练手的居然是腾讯!!

没办法,只能拼一把啦,当天晚上10点开始,通宵了一个晚上,重点复习Linux和项目相关的内容。

3月18号上午11点30,电话过来,开始面试。

———————————————————以上2019年3月30日更新—————————————————————————

一面  电话面  50min   3月18号上午11点30

首先上来就是C渣渣基础

1、C和C++的面向过程和面向对象有什么区别?

2、C++的结构体和类有什么区别?默认访问权限有什么区别?结构体能不能写构造函数?(最后这个答得有点犹豫)

3、类的private、protect、private三种访问权限?继承类的三种访问权限?

4、函数重载?返回值类型不同可以重载嘛?运算符重载?所有运算符都可以重载嘛?(最后这个答得不确定)

5、虚函数怎么实现?

6、new与malloc有什么区别?能不能用malloc去分配一个自定义类的空间?(说没有这样用过)

7、类进行对象实例化时构造函数是怎么工作的?new操作是不是就是调用构造函数完成这个事情?

问我了解STL不?我说以前看过,现在忘得差不多啦,然后就不问了。

8、数组和链表有什么区别?

9、STL中队列是用数组实现还是链表实现?

10、队列和栈有什么区别?

11、STL的map是用什么实现的?

慢慢转入数据结构:

12、平衡二叉树和红黑树有什么区别?(只回答了平衡二叉树,红黑树只说了它的性质,对于具体结构不了解)

13、熟悉哪些排序算法?

14、如果内存放不下的数据怎么排序?(我说这不是外部排序么?但是不知道具体方法)

15、有4万个员工,按照年龄排序怎么做?(第一反应是快速排序,面试官提示说有没有接触过基数排序?我说以前看过现在想不起来啦,囧!面试完才想起来,按照年龄排序非基数排序莫属啊!)

16、给一串数,怎么找出最大的K个数(K < 10),用什么方法比较好?

项目(FTP文件服务器)还有Linux一起问的:

17、socket编程——服务器和客户端的流程?以TCP为例。(在叙述的过程中也问了很多问题) 有一个比较重要的坑是:socket网络编程使用TCP通信时三个接口listen、accept、connect与三次握手的关系是怎样的?当时掌握不够深入,这个坑踩进去啦。

18、阻塞非阻塞有什么区别?(这个答得不好)以read阻塞方式举了例子。然后问我read怎么实现非阻塞??以函数调用的形式怎么实现非阻塞的效果?(到最后跳进各种坑里出不来,面试官说阻塞非阻塞是通过设置文件描述符的属性来实现的,后来面试官就主动换了其他问题)

19、select和epoll的区别?

20、网络编程中,调用send函数,send函数返回之后新的数据在哪里?发送端的网卡缓存?系统缓存?还是对方主机的网卡缓存?

21、用户态和内核态?

22、进程间通信的方式有哪些?哪种效率最高?

23、linux常用的命令——查看有哪些网络连接、开哪些端口的命令?查看进程的命令?说了ps,然后问ps能看到什么进程的信息?能不能看到内存分配的信息?

24、linux进程登出之后,怎么让这个进程还在后台运行?用什么命令?(之前一直没搞清楚他的意思,这个没答出来)

25、你有什么问题问我?

26、暑假能来实习多久?9月以后还能继续实习吗?

本来说的面半个小时,结果一直面50分钟!而且面试官gg的声音一直很小,老是听不清楚,每次都要向他确认问题。

总结来说:

       各方面问的都很基础;很多方面掌握不够牢固!linux方面问的深入就会采坑。而且回答问题的时候不够连贯,结结巴巴的,但是思路还是相对比较流畅的。毕竟第一次面试,说话技巧不行。

      中午一面结束,下午就出结果进入复试环节。鹅厂的效率简直可怕,估计二面也就这几天,希望能把好运气再持续一下吧~

二面挂了也无所谓吧,也可能别的事业群会捞起来,即使实习去不了鹅厂,秋招相对也比较有经验了,大不了到时候再战!心态放平和,继续加油吧~

                                                                                                                               ——————上面是一面面完的心情

二面  电话面25min  3月20号下午14:30

1、熟不熟悉innoDB?

2、选择索引的原则?(第一个问题当时没用过不熟悉,索引当时也没复习,只是把自己了解的索引一股脑全讲了出来)

3、进程间通信的方式?

4、信号量?

5、多进程与多线程的区别?

6、fork返回值?父进程fork之后,在子进程结束之前干嘛?(等着给子进程收尸)

7、线程安全?

8、死锁?

9、Linux命令:查看系统负载?

10、有个批处理程序,关掉客户端还能在后台跑,命令怎么写?(跟一面的那个问题有点相似,当时没搞懂,又没答出来)

最后面试官又问了我熟不熟悉ML、DL还有模式识别相关的算法?我说我们搞的都是传统的图像分割算法,还有目标跟踪之类的。面试官说现在这些都已经产业化啦,你们研究还有啥意义??我竟一时语塞!!内心:有本事问我老板去啊,我有什么办法。

二面总结:最后几个问题要么不会,要么答得不好,最后还问我人工智能,搞C++后台也要搞AI嘛?搞得我心里很虚。最后他问我你在广州读书,如果来深圳面试应该方便吧?我说非常方便。感觉有一点戏。

二面结束当天晚上,看到应聘状态还是复试,但是时间更新到3月20日。所以感觉可能会邀请我去总部面试。

接下来的时间里,又把C++不熟悉的基础、面试经常问的问题又复习了一遍,每天更新好多博客,可以去看我总结的C++博客哈哈哈,偷偷给自己打个广告~

3月25日周一收到视频面试邀请,时间是3月27日下午17:25,顿时压力倍增。感觉三面可能会围绕项目问,我做的项目是类似百度网盘的一个东西,可以实现密码验证、上传文件、下载文件、断点续传、多点下载、用户空间扩容等功能。所以精力都放在了对项目进行深挖掘,比如如何提高高并发高负载处理能力啊什么的。结果......项目提都没提。

三面  视频面35min  3月27日下午17:25

面试官是一个年级稍大的前辈,感觉至少总监级别的,还蛮和蔼的,总感觉他长得有点像葛优.....

面试的时候慢吞吞的,想到哪问到哪.....

1、自我介绍

2、C++常用STL?map的底层实现?

3、AVL树与红黑树的区别?

4、熟悉哪些排序算法?快速排序的优劣势?

5、手撕代码:实现char* strcpy(char* dst, char* src)

6、操作系统:进程与线程的区别?进程池与线程池?

7、为什么需要四次挥手?

8、socket编程中accept函数发生在三次握手的什么阶段?(这里是一个坑)

9、你有什么问题问我?

10、单链表反转?

三面总结:最后问面试官的问题是:你对我的知识架构和学习有什么建议?面试官:根据你面试的表现,理论基础掌握蛮扎实,代码写的不够流畅,以后在学习的时候要多敲代码!我说写代码的时候太紧张了,真实代码能力还是可以的,LeetCode刷了两三百道什么的开始狡辩,尽量扭转面试官对我代码能力的不好印象。

三面之后,觉得代码写的确实磨磨唧唧,但是其他问题基本都答得很好,也不知道自己能不能过,也没敢报太大期望。

3月29号下午四点多,突然发现状态已经更新到HR面了,五分钟之后HR面试邀请就发来了,当天晚上19:25。

HR面  电话面15min  3月29日晚上19:25

面试官是个小姐姐,声音很温柔。

1、自我介绍?

2、羽毛球打的好嘛?参加过什么比赛吗?(我自我介绍有说喜欢打羽毛球)

3、你是通过什么事件知道自己的基础知识很扎实的?(自我介绍里面有说自己知识基础比较扎实)

4、你为什么比别人掌握的好?是比别人更努力还是更有天赋?

5、找过其他实习吗?有没有面试其他公司?

6、考研的成绩很靠前嘛?

7、有没有读博的打算?

8、你是哪里人?是独生子女嘛?

9、有没有亲属在腾讯工作?父母是做什么工作的?

10、找工作有没有地域上的考量?

11、你有什么问题问我?

————————————————————2019年3月30日更新————————————————————————

2019年4月9日 下午15:00  已收到口头offer,hr确认了个人信息和实习薪酬

2019年4月9日 晚上  收到腾讯TEG实习生录用函

小结:

能拿到鹅厂的offer,感觉运气占了很大一部分。

拿到TX的offer之前三月份也面了几家公司,阿里一面就挂了,估计也是跟没有认真准备有关系,感觉阿里的面试官要么问题问的很宽泛突然之间不知道怎么回答,要么问的非常非常基础,基础到教科书里面讲的内容,感觉面试官都没有看我简历写擅长什么。反正一面就挂我也没觉得可惜,就是觉得阿里不适合我。而且还有一点:我明明投的C++的岗位,结果面试官却说我们不用C++,还一直强调语言只是工具! 工具....工具....行吧。

最有讽刺意味的是虎牙,去酒店面试,一面只聊了十分钟面试官就让我带简历走人,为什么?我特么刚做完自我介绍就说我笔试选择题做的一塌糊涂(单选对了2道,不定项对了3道),然后问我问题有两个没答好就认定我基础太差!关键是他问的问题一点都不基础,虽然我选择题做的不好,可是我编程三道全做出来了啊,更让我无奈的是,前一天腾讯三面的面试官还对我评价是基础蛮扎实!到虎牙就成了基础差到爆的人,哎~ 你说气人不气人? (题外话:那天听说吐槽虎牙的挺多,有个妹纸说他好几个同学都是虎牙一面都没过,但是人家都已经拿到TXoffer了,看来我不是个例呀!)

至此我终于明白,面试运气成分是真的大!当然实力还是很重要的,只不过说你不能忽视运气的成分。虽然虎牙一度让我对面试很怵(你遇到面试不到10分钟就说你基础太差让你走的情况你就懂了),但是毕竟看开了很多。挂了这个就试试别的,反正又不是非你家不可啦是吧?

以后还是要好好搞技术呀,可不能被人看不起!毕竟技术安身立命嘛,不靠技术难道靠颜值啊?与诸君共勉~

最后祝大家都能拿到心仪的offer! 都要加油鸭~

 

——————————————————————2019年4月9日更新————————————————————————

 

 

 

你可能感兴趣的:(面经)