同学,别失去重头来过的勇气。

本来没想过进BAT,幸运有了面试机会,但是面试被完虐了。然后退选二线,还是被虐了,打击就更大了,最后甚至都觉得自己一无是处了,不由得就会想太多了。
因为我们拥有越多,才会越怕失去。
其实回头想想,我们本来就什么都没有,怕什么重头来过呢。

好了,装了一波文艺,开始正题吧。
上海某211高校硕士,cs专业,非大牛,非学霸,非ACMer,非..反正面目全非吧。目前拿了腾讯的sp,IEG前端开发。
本来确实不太想写这篇文章,因为毕竟不像很多其他大牛一样啪啪啪的各种offer,然后发一堆的面经,自己写这篇东西出来自己都感觉在大牛面前班门弄斧了,所以把学校信息都隐了,有幸有校友认出了也别说什么,让我静静的装回逼吧。
为什么最后还是决定写这篇文章,因为自拿了offer之后,还是会经常在牛客上看大家分享的面经、吐槽的公司以及各种心路历程,觉得还是有很多同学跟我2年前一样,颗粒无收,高不成低不就,茫然不知该怎么办,写出来只是希望那些同学能够重拾信心。(大牛可以略过,或者当耍猴看一下吧)

先上一波面经吧。
一面(大概1小时)
因为本人很早就想做游戏开发了,所以对口项目很多,基本上一面都围绕项目展开,所以没有太多基础的问题,记一些比较经典的问题。
(1).进去先手写伪代码,假设游戏平均每帧产生50颗子弹,写出对象池的概要实现。
个人觉得这个考察的还是对象池的思想,我大概写了一下伪代码。
然后关于子弹在初始化的时候,需要确定position,target,speed,destroy的条件,这些都得明确写出来。
(2).Unity 摄像机正交和投影视角的区别,渲染管道,NGUI渲染原理
这个之前都有了解过,所以答的很自信。
(3).聊一下AssetBundle和热更。
这个的话,就学Unity的时候就接触过,所以基本上能聊下去。
(4).聊一下项目中多人对战怎么实现的,遇到什么难点。
先说用Unity自带的UNet做了一套,然后做NAT穿透的时候出现了问题。就丢了UNet,用的Photon服务器,点明了一下这2个一个是点对点,一个是服务器转发。聊了项目中网络同步的思路(就是一个客户端主机,然后服务器做转发),状态机的设计(包括主角的同步,小怪的AI问题,地图资源的同步问题等等)
(5).对第三个问题的展开,聊一下网络同步有哪些。
主要就是帧同步和状态同步,聊了一下这个2个优缺点。其中我还故意抛了对王者荣耀帧和守望先锋网络同步的实现这个点,因为之前有认真看过。
(6).聊一下项目优化是怎么做的。
说了一下怎么做的资源整理(图集管理,然后包括IOS和Andirod图片压缩格式的选择,模型LOD),用profile调游戏中跳帧的地方,Update是怎么做优化的等。
还聊了一下我研究生的课题,让我介绍了一下其他项目的内容,以及问了我对游戏开发部门的整个理解(当时我从制作人,策划,美术,前/后端,技术核心跟他说了很多),然后就是我问问题的环节。我问了部门用的什么引擎,当时面试官跟我介绍了很多关于TX自研引擎的东西,然后问了一下技术路线的晋升,还有在研项目。
说实话整个一面基本上都掌握在我自己的节奏上,因为面试官围绕项目展开,很多东西我都能回答的很多,而且还能抛出很多点来聊。

二面(大概半个小时)
这个目测是压力面吧,进去面试官全程玩手机,全程打断我说话。
(1).自我介绍,介绍到一半的时候就被打断了,楼主之前做过一年交换生,他问了我为什么不继续做大数据(研究生课题是做大数据),当时就说了一通立志进入游戏行业啊,早就做好了准备啊之类的balabala。
(2).说一下Cocos2d和Unity3d两个工具底层思想上的不同吧。
因为有Cocos2d的项目也有Unity3d的项目,所以他让我聊了一下这个。而且这个他还纠结了很久,还举了例子再纸上画了草稿这样。这个其实主要还是想说ECS和OOP的区别吧,因为一直都有关注一些游戏开发的公众号,刚好在前不久看到守望先锋ECS系统架构设计的一篇文章,所以很自信就聊起来了。
有兴趣的同学可以去看看:http://gad.qq.com/article/detail/28682
(3).Cocos2d和Unity3d再内存管理上的不同。
这个我觉得主要他还是想问C++和C#内存管理的问题吧,两个框架都有自己的内存管理机制。但C++里面多了一个指针这东西,所以管理起来就毕竟麻烦,相对于C#基本上内存泄漏都只会发生再静态变量上面。这个因为Cocos2d我不太熟悉,所以当时我讲的大多数是Unity3d的中的内存管理,包括内存泄漏之类的。
(4).聊一下你觉得一个项目需要有什么编辑器
当时我说了一个资源管理器,场景编辑器,然后技能编辑器。说到技能编辑器的时候他就打断我了,问我一个技能编辑器应该要怎么实现。当时先是聊了一下怎么再Editor下做技能,然后抛了最近Unity2017新出的Timeline这个点,说可以利用这个东西做。
然后就是问了一下想做什么类型的项目,希望去什么岗位什么的,最后问我有什么问题想问他,我就说基本上想了解地在一面就已经了解了。二面面下来虽然说是压力面,但是我确实是顶住了,因为很多东西都是之前项目接触过或者说看过的,所以都聊得很好。我是第一个面的,面完面试官直接加了我的微信,说让我等直接安排HR面,但是后来因为HR没来就改成第二天了。(这时我觉得希望还是很大的,毕竟对吧,都加微信了。)

HR面
这个没什么好说的,基本上性格不是特别糟糕,都没什么问题。主要还是综合前面2个面试官的评价来觉得要不要你。最后问了一下HR什么时候出结果,HR来了句晚上就会出结果了,2选1。也就是说HR面是会刷人的,这个时候就搞得有点紧张了,因为当进二面的时候,剩下的就已经全是复旦交大的硕士了。

整个过程就是这样的,面试是国庆之前,最后收到电话通知是再国庆放假结束后的,也就是说国庆每天都是忐忑不安的过的,期间都不敢立任何flag,害怕啪啪打脸。

能看到这里的同学真的是很感谢,毕竟啰啰嗦嗦写了这么多了。这篇文章其实是昨晚熬夜的时候写的,只不过想在电脑上再认真看一下所以到现在才发(也是因为起来的很晚..)。这篇文章发完,还想继续睡,因为熬夜太伤了,所以说,尽量不要熬夜玩手机,对手机不好!

好了,面经发完了。
聊一下关于这个标题的问题了,写出来确实想鼓励各位牛友,能让大家重拾信心。

3年前,我也跟大家一样面临找工作的压力。作为一个全非的学生确实不太好找工作,当时情况是室友1一个学霸必然保研的,一个签了当时比较火的一个游戏公司(后来成为我内推备选),还有一个上海土著。而确实我专业能力很差,项目没有,投了一些研发的岗位被拒了之后就开始投擦边的,比如运维研发,测试开发之类的。最尴尬的是面试官问我为什么投运维研发,我当时其实不知道该怎么回答,因为我确实连运维是什么概念都没弄懂。后面想说投一些小公司,但是觉得钱还是太少了,就有点看不上。当时一星期跑好几个面试,天天基本上都是在地铁上度过的,后来想了想,确实是自己在本科期间没有好好的做技术,于是决定考研,希望通过再读3年书来给自己一个重新努力机会。
经历了最糟糕的情况,那下面就不会有更糟糕的了
在复习了大概4个月的时间,刚好赶上国家政策改了,然后莫名其妙就保研了。。
在知道了保研的时候,我再回头重新总结了一下之前的面试(可以毫不夸张的说,面了起码几十家。。),发现对IT其实更看重项目经历,一个对口的项目说不定就能帮你拿下这次面试。苦于没有项目经历,我就在随便投了一个小公司去实习了半年,当时是真的苦,100/天,学校到公司来回4个小时,加班最严重的时候一个月上了整整30天班,通宵3次,真的是拿着卖白菜的钱,操着卖白粉的蛋。有一段时间晚上回去还要继续干毕设做到1,2点,当时我尼玛都很好奇我是怎么坚持下来的。当时一心想的就是多接触实际项目,攒经验,不图别的了。那也是第一份工作,就是做的游戏开发,用得是Cocos,也是那段时间接触了游戏行业产生了兴趣,并且真的用上了C++进行实际项目的开发,所以即使每天累的不行,心里还是开心的。
半年实习结束之后,我很认真的对自己做了一套研究生的职业规划。

1.包括将来工作要做什么(当时已经定下来要做游戏开发)。
2.怎么进游戏公司(内推+笔面试准备)。
2.需要怎样的技术储备(这个当时是挑了腾讯和网易游戏的职位招聘,看那上面有什么要求来针对性学的)。
3.怎样去实现这些目标(自己努力+充分利用身边的资源)。

大方向是研一无论如何做一款游戏(去外面实习也好,自己做也好),研二的话想做一次交换生(这也是当初保研为什么没有选其他学校的原因,就是希望本校保护机制能让交换生竞争的时候有点优势),最后确实是这些目标都达成了。
研一一开学,我就直接找导师谈了自己的想法和规划,意思其实就是可能会想自己支配的时间多一点,少去一点实验室之类的,当时很神奇的导师就同意了,这里确实很感谢她。
然后着手开始了解需要从哪些方面开始准备,其实无非两点:编程能力+有点质量的实际项目。
后来看到一篇文章很不错,有兴趣进入游戏行业的同学可以看一下:https://mp.weixin.qq.com/s?__biz=MjM5MTI0OTkwMA==&mid=2650226841&idx=1&sn=c2f4d105fe89f84702a80b447ff39f4a&chksm=bebb841a89cc0d0cdda034b039d01ff2b7d10bb8e50d674ce7c3800b586e07046451444d39d7&mpshare=1&scene=23&srcid=0519wBiDrF0NH8JQNxrAyQDT#rd
这时候就很愁项目了,当时想过自己拉人一起干,但是技术上确实有欠缺,有个大牛带肯定还是很好的,所以开始打听学校有没有这方面的人。结果是还真找到了一个学长做这块的,于是不要脸的就去问了他的个人经历。然后刚好他想要自己新开一个项目,我就自荐加入,他看我之前做过一段时间的Cocos,就让我加入了,后面是用Unity做的。项目做了一年,这期间也是基本从0开始学,一步步做的,最后项目也卖了个好价钱(这个也是面试的谈资)。
然后就是关于交换生了,这个没什么多说的,在研究生入学前就已经跟学院老师打听好了,最后也是在外面体验了一年的生活。
然后就是找工作了,实习生投了腾讯,网易游戏还有阿里,网易游戏直接3道算法题,因为像之前说的,非ACMer,所以0Accept完美挂掉。腾讯估计因为没有远程面试也给挂了。那时候反倒是阿里给了个面试机会,C++的,但是一面就挂了,问了很多基础的问题都没有答上来。于是当时就发现,光靠项目是真的不够的,于是开始了一波疯狂复习,像C++,数据结构,数据库,操作系统,数据库这些东西,都重新去拣回来。还有是针对算法,当时先是刷了《剑指Offer》,然后尝试做一些Leecode,发现做不太出来,就买了一本算法书,对着书来做。因为实习生挂离正式校招还有好几个月的时间,所以这个复习的过程自然也持续了几个月。6月份回国的时候,到9月份还有一段暑假,就去找了一份实习(也是游戏开发的),一直做到上个星期才辞掉的。实习的时候在地铁上一直在刷书,一个是看一些公众号分享的文章去增加自己的知识广度(这里推荐两个订阅号:算法与数据结构,Gad-腾讯游戏开发者平台),这种半懒惰学习的方式确实能增加不少见识,其中很多文章和知识都是在订阅号上面看到,然后Mark下来回去再认真研究的(像守望先锋网络同步和ECS就是在这些文章里面get的)。然后是刷了多家公司的笔试和面试题目,有多少都不记得了。。
这篇文章写出来无疑是暴露了自己的真实水平了,所以大牛不要喷。只是希望大家能重拾信心,就算错过了秋招,也不要气馁,好好准备接下来的春招,真正的去做好准备,到时候必然无憾。上天不一定是公平的,但是确实大多机会都是留给有准备的人的。
过往云烟,风吹即散,但前路仍未知,加油少年。
全部评论
励志!
1 回复 分享
发布于 2017-10-25 08:07
沾喜气!吸欧气!我的Offer快来吧!求求你了
点赞 回复 分享
发布于 2018-09-16 21:33
沾沾大佬的喜气
点赞 回复 分享
发布于 2018-09-16 20:53
楼主很赞
点赞 回复 分享
发布于 2017-10-25 12:45
感谢楼主,让我放下了无谓的烦恼,重拾信心!
点赞 回复 分享
发布于 2017-10-25 10:47
真的很棒!
点赞 回复 分享
发布于 2017-10-25 10:35
打call
点赞 回复 分享
发布于 2017-10-25 10:30
这让我重拾了信心,谢谢你啊
点赞 回复 分享
发布于 2017-10-25 08:49
三刷
点赞 回复 分享
发布于 2017-10-25 01:56
我明天上班加精
点赞 回复 分享
发布于 2017-10-25 01:00
二刷
点赞 回复 分享
发布于 2017-10-25 00:57
走在路上
点赞 回复 分享
发布于 2017-10-24 17:59
大佬。
点赞 回复 分享
发布于 2017-10-24 17:41

相关推荐

03-16 22:00
武汉大学 C++
幸福的小熊猫想要offer:我阿里投的 c++岗,面试官说自己是做 java 的,c++这辈子才有了
点赞 评论 收藏
分享
03-19 10:07
已编辑
广东药科大学 golang
Yki_:你倒是进一个面啊
点赞 评论 收藏
分享
评论
41
85
分享

创作者周榜

更多
牛客网
牛客企业服务