网易杭州游戏研发实习面经
在牛客混了一段时间,看了很多大佬的面经,学习了很多,国内面试套路跟美国不大一样,写点东西也回馈下牛友
介绍下自己本科国内辣鸡211网络工程,神坑,计算机基础课没有大project一考定总分,专业课全是插网线,配置交换机什么的,硕士美国西部二流学校软件工程,也很坑,跟文科似的,天天读各种莫名其妙的paper,写summary
本来一直对游戏开发也挺感兴趣的,外加美国这边投的比较晚,自己又菜,没有拿到几个面试,亚麻玄学拒,google走了一轮笔试和面试,发现给我转到秋季实习,我们学校不允许秋季实习,后来取消了后面的面试,小公司简历拒,就转投国内了。
网易杭州4月5号投的简历,20号笔试,两个半小时三道算法题,做出来两道,网易题说明巨长,一定要有耐心
第一题是给一个弹球的初始位置,撞墙改变方向,问最后停留位置什么的,
第二题是模拟Markdown编辑器,输入格式特别诡异调了好久
第三题是一个正方体,六个面数字不同,给定初始状态,和结束地点,在一个矩阵里滚,朝下的一面的数值算路径什么的,问能否到终点,如果能最小距离是多少
(完了之后立刻面头条,面完已经是这边夜里两点了,所幸也过了,不过到现在还没匹配好,又是转岗什么的,神烦,不大想去了)
前两道调输入输出很麻烦,有的人卡在上面,第三题当时没做出来
25号接到面试邀请,杭州互娱,29号面试
面试官是一个挺和善的小哥哥,聊的很开心,貌似也是留学回来的,对美国教育挺有信心(当然我是菜鸡),题目记得不***楚了,大概如下:
1.自我介绍
2. 会不会python,会一点,问我什么是协程,作为一个调参侠,自然是不会的,于是改问C++
3.C++智能指针、多态、虚函数,内存分配,堆栈
4.STL里面的各种容器,会的都说一遍
5.TCP和UDP介绍下,区别联系
6.操作系统,内存管理(前段时间有在跟CMU15213,滔滔不绝讲了几分钟,从原理到实现,这段答得不错,被夸了),组成原理什么的
7.Epoll和Select
然后就是四道算法题,不过只要说原理,不难,看反应速度:
1.去除字符串里的空格,一开始想用队列啥的,然后被提示不要有多余空间,想要用自动机模拟正则表达式,没说清楚,提示下想出用双指针,水过
2. 数组每个元素出现两次,只有一个出现一次,求那个只出现一次的元素,脱口而出Xor,他说如果这个数列排好序呢,要求O(logn),想了一下,用二分查找,根据奇偶进行判断
3. 你笔试最后一题,就是转方块找最短路径的那个(我说:当时没写出来),他说现在会不会,我给了个暴力DFS的算法,但也说明了估计会超时,他给出提示,初始状态固定,每个点固定,我说记录所有状态,从终点开始用DP就行了,他觉得我反应速度还不错,水过
4.本来已经要结束了,都让我问他问题了,完了,一时兴起,咱再来一条,问如何生成圆里面的随机点,给出答案用极坐标,说极坐标可以满足要求,但是生成的点是不均匀的,然后向我解释了下为什么不均匀,我后来想到是用x,y直接生成然后剔除不在圆里面的点就可以了
最后聊了下家常,哪里人,啥时候实习什么的,说一周内HR联系我
5月7日收到邮件面试通过,意向书,5月8号offer,感觉待遇真的还是不错的,也算圆我一直想去游戏公司看一看的梦想了(看看暑假后能不能投Blizzard~~,虽然目测是炮灰)。
总结下:感觉国内很多大厂对于算法题还是十分重视的(感觉国内公司笔试面试啥的有硅谷化的倾向,比如阿里考白板编程啥的),当然面试考的没有美国难,笔试难度完爆美帝,还有摄像头屏幕监控啥的,总之还是多刷Leetcode和剑指offer(《剑指offer》建议直接看最优解,前面那些说了也没啥用,而且面试官默认你是看过这些题的)做好准备,我大概刷了300+题,有一个可以检验自己的方法,就是每周参加Leetcode的contest,因为都是新题,如果每次能稳定做出3题以上,算法这块儿基本上就没有太大问题了,面试的话多刷面经,应届生面了面去就那些基础知识,自己项目一定要熟练掌握。最重要的是自信,平时注重语言表达能力的培养,其实我啥都不会,就是看起来会(面试成功率比较高),牛客网一堆大佬论实力分分钟吊打我,有的可能没有拿到理想的offer,还是交流出了些问题,总之相信自己,大厂面试官正常情况下还是很不错的,就当作两个搞技术的唠嗑,不卑不亢,以及保持良好的心态吧,切莫跟周围人攀比,人一切痛苦的根源来源于比较,相信大家都会有好结果的。
以及求个网易的组织