腾讯 IEG 还愿 回馈面经
听说在牛客许愿很灵,在这里许愿ieg offer,如果通过,我一定写一篇长长的大作文来回馈牛客。
----------------------------------------------------------手动分割线-----------------------------------------------------------------
前来还愿。
首先介绍一下个人背景,本人非科班,专业机械工程,自诩菜鸡一只。半年前开始准备转行后台开发,期间看了一些书,主要包括:
C++:
《c++ Primer》《effective c++》 《深度探索c++对象模型》
网络:
《计算机网络,谢希仁》
操作系统:
《现代操作系统》,清华大学的操作系统慕课
算法:
《数据结构与算法,c++语言描述》 《剑指offer》
由于时间比较紧,还有一些知识没有学习。主要包括:设计模式,数据库,APUE等。因此,和牛客上的一些大牛相比,本人简直弱爆了。能够通过本次面试,实属面试官仁慈,运气成分比较多。
下面是本人准备春招时所参考的一些网上大佬们整理的资源,感谢大佬们的付出,希望对大家有参考价值。
首先介绍一下个人背景,本人非科班,专业机械工程,自诩菜鸡一只。半年前开始准备转行后台开发,期间看了一些书,主要包括:
C++:
《c++ Primer》《effective c++》 《深度探索c++对象模型》
网络:
《计算机网络,谢希仁》
操作系统:
《现代操作系统》,清华大学的操作系统慕课
算法:
《数据结构与算法,c++语言描述》 《剑指offer》
由于时间比较紧,还有一些知识没有学习。主要包括:设计模式,数据库,APUE等。因此,和牛客上的一些大牛相比,本人简直弱爆了。能够通过本次面试,实属面试官仁慈,运气成分比较多。
下面是本人准备春招时所参考的一些网上大佬们整理的资源,感谢大佬们的付出,希望对大家有参考价值。
1. 首先当推牛客的c++程序员面试宝典,虽然整理的比较乱,还有很多重复的问题,但是真的包含了c++程序员面试过程中的常考察的大部分问题。https://www.nowcoder.com/tutorial/93/a34ed23d58b84da3a707c70371f59c21
2. Github项目,Waking-Up,这个项目中整理了操作系统,计算机网络,数据库,设计模式,以及面经等,本人仅参考了系统和网络部分。https://github.com/wolverinn/Waking-Up
3. Github项目,CS-Notes,这个和上面的项目有点重复,但是比上面的项目更系统详细一些,可以和上面的项目结合着看。https://github.com/CyC2018/CS-Notes
另外就是一些牛客的帖子了:
1. 送你一个励志故事——涵盖20多所互联网公司的校招C++面经 ,这个是学富五车的大佬,里面有面经,也有书目推荐,强烈推荐这篇帖子,https://www.nowcoder.com/discuss/55353
2. 我的C++后台/基础架构岗位学习路线(offer大多是ssp https://www.nowcoder.com/discuss/147538
3. 牛客访谈|书单、简历、读书笔记也能当项目?大佬告诉你这样学 https://www.nowcoder.com/discuss/147538
4. 【备战春招/暑实】纯干货 | 一篇文章解决备战所有问题 https://www.nowcoder.com/discuss/364739
上面就是本渣渣准备春招实习的全部过程了。
接下来上菜(面经):
本人一共经历了 3技术面+hr面,时间线如下:
2020.3.19. 一面,电话面
2020.3.22. 二面,视频面
2020.4.8 三面,电话面
2020.4.13 HR面,电话面。
下面依次分享面试过程。
2020.3.19. 一面,电话面
问题:
(1)对游戏感不感兴趣,对游戏开发感兴趣吗?
(2)问项目,介绍项目。
(3)C和C++的区别。
(4)volatile关键字的作用。
(5)字节填充的问题。
(6)TCP套接字的操作(服务器和客户端分别做什么操作,对应于三次握手的什么阶段)
(7)进程和线程的区别。
(8)Linux信号掩码
(9)进程的通信,同步
(10)如何实现一个互斥锁。
(11)Linux find命令如何使用。
(12)你如何理解C++对象模型。
(13)构造函数和析构函数的执行顺序。
(14)在构造函数中能不能调用虚函数。
(15)为什么基类的析构函数要设为虚函数。
(16)运行时多态,虚函数机制和执行过程。
(17)只有虚函数,无成员的类的对象的大小是多少(考察sizeof的相关知识)
(18)虚表的第一项是什么
(19)矩阵相乘怎样效率更高(原因cpu的缓存机制)
(20)深度为d二叉树的节点数是多少。
(21)智能指针的实现。
(22)全局变量的初始化和不初始化对编译出的文件大小的影响。(bss段实际不占编译单元的大小)
(23)static关键字的作用。
(24)不同的源文件中全局变量的初始化顺序。
(25)new和malloc区别
(26)同一函数中变量的析构顺序。
(27)介绍的内部和外部碎片。
(28)反转二叉树,不用递归。
整个面试过程持续了一个小时,面试官人非常好,面试过程像是在做探讨,一个小时也收获了很多,聊的很开心。
这次面试并没有通过官网通知,而是面试官直接打电话。面试前状态为待处理,面试后,过了一天官网状态变为初始状态,并收到了预约面试邮件。然而第二天,却迟迟等不到电话,咨询了campas后,一面的面试官打来了电话。说今天没有面试,是为了补作天的流程,虚惊一场。
2020.3.22. 二面,视频面
面试问题:
(1)你为什么要转行互联网?扯了会皮,开始正式面试。
(2)面试官在屏幕上敲了一段代码,定义了一个类,问类对象的大小。(实际考察sizeof的知识)
(3)虚函数机制。
(4)手撕代码,实现对一个vector中所有偶数的删除。
(5)如何实现游戏排行榜
(6)当一场游戏中,所有未登录的玩家都不能登录,而已登陆的玩家可以正常游戏,那么可能哪里出了问题。
(7)linux如何查看进程死否死掉。
由于是视频面试,没有录音,整个过程就不清楚了。大致就以上问题,面了大概40分钟,面试官感觉属于深藏不漏型,他也不告诉你答的对错。被虐的很惨。面试完后,感觉自己凉凉了。官网流程依然为初试,只是更新了简历时间。接下来开始了漫长的等待,每天去官网胆颤心惊的查状态,心想,为什么不给我个痛快的,赶紧变灰啊。然鹅,一直不灰。我显然成了腾讯的备胎。就在简历马上要自动释放的那一天,收到了面试邮件,一面的面试官打电话说,不要管那封邮件,后面会有人联系我。我更加肯定,自己成了备胎。但是此时的官网状态变成了复试。
2020.4.8 三面,电话面
感觉是一个部门 leader。比较开放的聊了一下。
主要聊了一下项目。聊了项目分工,中间遇到什么困难,做项目过程如何收集资料。
是否了解游戏开发,做了什么准备。
问了未来的发展规划。
并没有问其他技术问题。
2020.4.13 HR面,电话面
(1)家乡在哪?
(2)学校对于实习有什么规定。
(3)什么时候毕业。
(4)什么时候开题交论文。
(5)实习时间什么时候开始。
(6)询问实验室往届学生情况。
(7)为什么要选开发岗。
(8)为什么不做本专业的事情。放弃本专业所学知识不觉得可惜吗?
(9)自己和科班同学有什么区别。怎么补足?
(10)还投了什么公司。
(11)为什么不服从工作地点调试。将来工作地点会选哪里。
(12)平时喜欢玩游戏吗,玩什么游戏。
一共聊了15分钟。hr小姐姐声音很好听。面试完后,秒变已完成。
接下来,开始焦急的等待环节。最终4.18日晚上找人查状态,变为已录用。2.20下午收到oc,当天晚上收到录用邮件。
至此终于结束了本菜鸡0 offer 的状态。
另外,关于腾讯官网的状态,始终是个谜。大家不要过分在意,只要没有变灰始终都有机会。之前,我为了状态的事情翻遍了牛客的帖子,发现有人从初试直接蹦到hr面试,还有从hr变复试,又变成已完成。
写在最后,给大家几个建议:
(1) 投简历一定要趁早。不要担心自己没有准备好,腾讯是我投出的第一份简历,也是第一份长出果实的简历。当然也不能一点不准备,盲目投简历,最好是准备差不多就投,一边面试,一边提高。
(2)找工作,找实习这件事,七分实力,三分运气。最重要的是,始终都要保持一个好心态。
最终,祝愿每个牛友都能拿到心仪的offer。