腾讯游戏客户端开发面试经历分享
litsun
碎碎念————第一次腾讯游戏客户端开发面试
作为一个本科、研究生专业都跟计算机不沾边的学生,简历被通过筛选本来就应该是最好的结果了,然而自己还是抱着一点点的期望,万一自己就通过了所有面试,进入腾讯实习了呢==。
实时证明期望终究是期望,现实终究是现实。
发完牢骚,该改进的还是要改进,该学习的还是要学习,不然下一次校招怎么进腾讯呢(笑)?针对这次经历,我发现果然知识还是要归纳整理才能记忆理解的更加深刻。虽然之前写了一些烂文,但好像并没有认真的去对待,导致写了就写了,自己也不怎么看,别人也不怎么看,还想可耻的骗访问量。。。(向自己扔板凳!!!!),从今天起我决定要好好写文了,起码做到字句斟酌,自己下一次看时能够快速会想起自己的这些知识,还要做到大家看有所值。
这里我就腾讯的一面做一些记录
一些情况的简单说明:
- 这一次招聘是游戏专场,所以关于其它的网络、云计算等其它方面的却不是很了解;
- 我面的是游戏客户端开发,这一次面试是单面,游戏策划跟游戏运营是群面;
- 腾讯是没有专门的TA(Technical Artist)职位招聘的,但是你可以面美术或客户端,然后进去后做相关方面的工作。面试官说过TA也分两种,一种是偏向美术的TA、一种是偏向程序的TA(或许跟Graphic Programmer有点像);
- 流程大概是:面试首先是自我介绍(一分钟),然后是面试官根据你的简历来问你问题,最后你可以问面试官一些问题。前后加起来大概30分钟左右;
重点来了,面试官都问哪些东西?
- 首先根据你会的编程语言,问一些关于编程语言的问题。感觉c++是必问的,c++的多态,多态的实现,还有STL库的一些实现;
- 算法与数据结构,这个应该也是必问的,像红黑树、二叉树啥的。我是连STL库一块问的,因为STL库的实现本身就用了很多数据结构;
- 根据你的具体的项目或软件经历来有针对性的提问,我用过Direct3D、编制过扫面线Z-buffer光栅化程序、光线追踪程序、以及一些unity shader,所以他问了D3D的piplines,光栅化程序的作用,光线追踪与普通diffuse的区别,unity shader中垂直雾的实现等。大概就这些;
- 问你平时有哪些学习技术的论坛;
大概就这么多,总体来说,感觉自己在计算机基础知识上还是薄弱了些,因为自己一向是即用即查,导致一些东西只了解大概,而没有系统的梳理理解。所以,今天算是开了个头吧,以后要好好利用博客这种分享知识,整理知识的平台。
以上~
腾讯的二面记录
很幸运地进入了腾讯的二面,二面的本来是要要技术总监面的,结果当时技术总监在开会,所以就换了其它的人来面。二面相比一面来说变化还是比较明显的,总结来说有以下特点:
- 这次的面试计算机基础知识(数据结构、算法、编程语言等)问的不是很多,主要问一些跟你选的职业方向相关的专业知识;
- 主要针对你简历上的项目来展开面试,当然是跟职业相关的项目,你如果选游戏客户端开发方向,而简历上写一些后台开发经历,这些后台开发经历怕不是会被直接略过;
- 就是这次的面试非常非常细!注意!是非常非常细!!主要还是针对项目展开,而且展开的很全,面了大概一个小时左右==
特点说完,就要就具体面试过程记录一下,以此来告诫自己,不论去学了什么样的技术,永远建立在扎实的基本功上面,否则纯属无基之谈了。
- 渲染管线:简述渲染管线过程,然后针对渲染管线的具体细节进行提问,比如某一过程的作用是什么,具体是如何实现的。虽然有些过程都硬件化了,但是还是要清楚实现的算法;
- shader:不论选TA或Graphic Programmer,对常见shader的实现(不论原理,还是实现过程)一定要有透彻的了解,比如阴影实现、常见关照材质。我因为有大半年没具体去写shader了(有些语法都忘了==),所以大体思路知道,具体实现说错了许多,甚至说出顶点着色器不能实现着色这种瞎话。。。给自己打脸(活该进不了腾讯);
- DirectX或OpenGL:这两种图形设备接口是要知道了,如果是TA的话可能只需要了解就行,但如果是Graphic Programmer的话,一定要对这些接口了如指掌(这是我从面试管那学来的建议,毕竟GP可能是要写游戏引擎的人),我这个大概有一年没碰了,所以答得奇差无比==,再次给自己打脸;
- 每个人都有自己的项目经历,所以你们自己的一些相关项目也会被问道,也许是那种从头到底的问,所以说如果自己的项目经历自己都不清楚,那面试官该该咋办呢?
感谢面试官让我又学到了一些知识与不足,面一次试,感觉跟一次考试一样,会的不会的一下子全爆露出来了,看来还需继续努力。另外去现场见识了一下大厂的工作环境,大厂果然牛人多==,羡慕脸,滚去学习。