100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 网易游戏研发工程师实习生(客户端方向)一面

网易游戏研发工程师实习生(客户端方向)一面

时间:2024-05-02 18:43:18

相关推荐

网易游戏研发工程师实习生(客户端方向)一面

项目

1、项目介绍以及你在开发过程中负责的内容。

2、卡牌拖拽效果如何实现。

鼠标点击卡片时,获取鼠标的位置以及卡片的中心位置,计算二者的距离向量,在update函数里根据距离向量以及鼠标的位置,更新卡片的位置,即可实现卡片随着鼠标一起移动。

3、场景的实时渲染会造成比较大的开销,请问可以通过什么方法可以减少部分开销。

烘焙,将不需要变化的场景提前渲染到纹理中存储,场景直接采样纹理得到画面效果而不需要实时渲染。

4、卡牌图鉴中如果卡牌数量过多如何设计可以减少gameobject的创建以及优化管理。

用MVC模式将数据管理和视图ui分开,通过控制器来连接两部分,M部分进行数据管理,包括物品以及数量等等,V用来将数据加载到游戏背包画面中展示,C用于连接两部分。

语言基础

1、c#的生命周期。

(1)编译阶段:Reset

(2)开始阶段:Awake-OnEnable-Start

Awake:用于初始化,并且只会执行一次,比如创建游戏对象

OnEnable:脚本每次激活时执行

Start:在初始化后的下一帧执行,只会执行一次,程序UI的初始化,比如获取游戏对象或者组件

(3)迭代更新阶段:FixedUpdate-Update-LateUpdate

FixedUpdate:以固定的频率调用

Update:以非固定的频率调用

LateUpdate:每当Update之后立即调用

(4)显示阶段:OnGUI

(5)清除阶段:OnDisable-Ondestroy

OnDisable:脚本不可用时执行

Ondestroy:脚本销毁时调用,只执行一次

2、awake和OnEnable的区别。

3、面向对象语言的三大特性。

继承、封装、多态

4、举个例子解释一下多态。

5、抽象类和接口的区别。

一个类只能继承一个抽象类但是可以继承多个接口

6、重载和重写有什么区别。

重载:重载的方法参数上存在不同,包括数据类型以及参数的数量。

重写:重写的方法的参数以及方法名都要一致。

数据结构

1、list和vector有什么区别。

一个是链表结构一个是数组结构

2、了解哪些排序算法。

直接插入、选择、冒泡、快排、希尔、归并、堆、基数

3、简单描述一下快排和冒泡的思路。

4、冒泡和快排的时间复杂度。

6、二叉树的三种遍历的顺序。

前中后,根的前中后,但是子节点都是先左后右

7、二叉查找树的特点。

左节点<根节点<右节点

8、如果二叉查找树插入的节点过多会发生什么情况。如何解决。

树结构会发生偏移,会存在左右不平衡的情况,查找起来也会麻烦许多,通过左旋或者右旋使得二叉树两边平衡

图形学

1、除了unity的基本的渲染管线你还了解哪些渲染管线,简单介绍一下。

(1)SRP可编程的渲染管线,有两层,在底层封装图形API等,在第二层允许通过c#脚本来设置渲染命令,unity将这些命令传给底层图形架构。

(2)LWRP用SRP写的一个渲染管线,如果不想花很多时间在管线上的编写,就可以使用LWRP。

(3)URP在SRP上扩展得到,使用一个实时阴影光和每个对象的光消隐执行单遍正向渲染,而传统的是对每个像素光执行一次附加遍历。LWPR的升级版本。

(4)HDRP(高清渲染管线)更加高清精致的效果。支持一些现代图形学的一些东西,光追等等。

2、叉乘和点乘的物理意义。

3、物体描边如何实现。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。