腾讯游戏客户端暑期实习一二面+hr面面经(已offer)
去年参加了腾讯的游戏客户端开发公开课,当时是光子班,最后的结课面试中倒在了二面。这次投的还是光子,不过被魔方捞了,总共两轮技术面+一轮hr面。
一面(30min)
1.项目经历(问的时间比较长)
2.你对虚幻引擎哪方面的技术比较熟悉?
3.UE4网络同步机制?
4.RPC中如果有参数的话是如何传递的?
5.UE4中Actor、Pawn、Character的区别
6.UE4中GameMode、GameState、GameInstance、PlayerState和PlayerController的区别
7.又问了一会我游戏引擎项目的东西
8.C++lambda表达式介绍一下
9.用auto定义一个变量接收一个lambda表达式,对这个变量求sizeof是什么结果?
10.上一道没答出来,于是问我认为可能哪些东西会影响它的大小,进而引出一个对象由哪些组成、哪些成员会占用对象的空间
11.内存对齐
12.有没有可能存在多个虚表指针的情况?
13.怎么把对象创建在栈上,怎么把对象创建在堆上
14.用new的方式怎么把对象创建在栈上
15.new了一个int类型的数组,new的前后发现进程中的内存占用是没有变化的,可能是什么原因导致的?
16.25匹马,5个赛道,最少赛几场可以求出前三快的马
17.反问
二面(1h)
1.讲讲项目经历
2.任务系统的实现
3.游戏中的寻路
4.项目中使用的通信协议
5.UE4网络同步机制
6.游戏中的AI敌人是怎么实现的
7.你的游戏引擎项目有什么功能?
8.游戏引擎中editor和play状态的切换怎么实现的
9.脚本功能的实现
10.虚析构函数的作用
11.虚继承的意义
12.平面中怎么判断一个点是否在三角形内部
13.齐次坐标的作用
14.重心坐标
15.用opengl绘制图形到屏幕上的全步骤
16.导数的意义
17.极限与导数的关系
18.微分的意义
19.设计一个栈的数据结构,要求入栈、出栈和返回栈中最小元素这三个方法的时间复杂度都为O(1),怎么实现
20.最近的学习计划
21.你对哪个技术方向感兴趣一些
22.反问
hr面
基本聊天。问了一些常见问题如学习计划、遇到的困难及如何解决、性格的优缺点等。以及反问。
hr面结束后状态变为录用评估中,第二天收到hr电话通知薪资和实习地点等信息,随即收到offer邮件。