网易互娱游戏面经(游戏研发工程师) 杨姐姐保佑
(这场面试真的只能主对不起,副告辞啊,连点个大招的机会都没有)
原本约好1:30分开始笔试,然而12点50分在岗顶等了33分钟公车才上车的我,还没开始面就一副透心凉的样子。
迟到罚时,优先级从第一变成倒数第一,额,行,你还给我机会,我很开心。(所以到底有多少个面试的)
2点30分去做了笔试题,由于保密,就不说了。
3点出来等待等待......睡过去了(昨晚2点才睡,早上7起床的我...),zzz
4点醒过来,咦,到我了吗?好像还没有,继续睡觉,zzz
4点30分,有个小哥哥在叫醒我,“是这样的,刚才和面试官商量完,你的面试时间是5点”,开始担忧起来,大脑还没醒过来。
5点,开始一面,吐血。
一面:
0. 编程题讲解一遍
1. 多态怎么实现,虚函数表什么时候创建。
2. stl了解吗?vector怎么实现的?map底层是怎么样的?红黑树的特性?红黑树是怎么旋转的?(吐血,还不让我将ALV旋转说一下,直接怼红黑树真的吃不消。)
3. 转型(4种)?static_cast和你直接转型的区别?
4. 智能指针?auto_ptr是怎么销毁对象的,怎么赋值的?shared_ptr呢?这些是线程安全的吗?线程安全的智能指针是哪一个?(别说了,我认输,我认输)
5. 数据库了解吗?(只会mysql的我瑟瑟发抖,对不起,打扰了。)
6. 多线程呢?
7. 网络编程模型有哪些?select,poll和epoll的区别?epoll底层是什么?epoll在内核级是怎么实现信息回调的?底层怎么实现的?怎么获取epoll里面的信息,那个函数?(对不起,对不起,告辞,告辞)
8. 游戏玩过吧?游戏排行榜是个很常见的东西?比如LOL,如果我现在需要胜场排名时时更新,只需要知道自己是第几名就好了该怎么做?胜场数量级是100000,毕竟你这一生都没有那么多时间玩这么多场。(如果我把号传给我孙子呢?对不起对不起,我不该给自己加难度。)
一开始画了10分钟就想到线段树来做,可是要是超过200000不是凉了?毕竟200000*20*12的空间复杂度,所以一直没有说。要不就用树状数组,也会200000*4*12的空间复杂度。要是平日打acm,谁管那么多,敲就完事了,现在为什么我要证明那么多呢?可是面试官不会线段树,额,额,对不起,打扰了,告辞告辞。然后他和我说了用树状数组可以写,额,我也是这么想的!换个人来会不会一脸懵逼啊!
9. 有看过开源项目或代码吗?(STL,libco)(不敢说muduo,毕竟没看完)libevent看过吗?(最近准备去看,等我协程搞定先)
10. python了解吗?(对不起,没看过源码,对不起,我觉得现在没看过源码都不能叫了解了)
(面试完之后一副肾虚的样子,什么也不会,可怕,真的是全栈的吗?)
二面:
0. 自我介绍一下吧
1. 实习在做什么?(所做的事情说一遍,分析各种问题)
2. Tcp了解吧?三次握手?四次挥手?为什么不和三次握手一样三次就好?客户端主动断开和服务器主动断开有区别吗?(也只能到这里了)
3. 你的学习方法是怎么样的?
4. 对游戏感兴趣是吧?玩过什么游戏?
5. 那我们来个场景,四川棋牌玩过吧?你知道自动洗牌吧。那么现在给你设计,你怎么想的?
还是一样,二话不说说了个暴力的我知道肯定不行啦!
低头画图苦思5分钟,可以给个提示吗?{可以用rand}
低头画公式,哦,这样可以吗?虽然我证明不出来?{那你证明一下?}(所以到底是可以还是不可以啊!难道不可以?)
证明了半天,觉得全是可以的!有oj给我放下代码吗?呀不?手撕代码?不会?{面试官细心的证明了我的算法是正确的!}(捂脸,能不能说白一点,我证明半天错误的!)
6. 到此为止,有什么问题?
7. 回去等通知吧,两三天后会给的!(告辞告辞)
基本凉凉,我觉得超越姐姐也救不了我了!告辞告辞!感谢网易游戏一个游戏引擎问题都不问,告辞告辞。