Unity game client interview (2019)

Disclaimer: This article is a blogger original article, follow the CC 4.0 BY-SA copyright agreement, reproduced, please attach the original source link and this statement.
This link: https://blog.csdn.net/shirln/article/details/98179378

Recommended reading:

One. Guangfu subway station near a company

The company is restructuring into a VR game industry companies, the company is developing is a second element to develop a card game, there are 10+ people, use Unity, C #, uLua development.
The company has eight T questions:
1. Is familiar with the UGUI, Dotween
2.animator what
3.animation how to make animation
playback While Animation and Animator is an animation control, but their usage and grammar are related much different. Animation control playback of an animation, and are switched to each other between a plurality Animator animation and animation Animator a controller, commonly known as the animation state machine.
(A) Animation Module
(1) create a new object, and additional components on Animation objects;
(2) select the object, shortcut keys: ctrl + 6 animation editor is opened, the new animation.
(3) Play the animation

void Start ()
{
	_anim = GetComponent<Animation>();
	if (_anim != null)
	_anim.Play("Test");

}

(B) Animator module
(1) create a new object, Window in the Unity Editor -> Animation Animation pop-up editing page, create a new animation save.
(2) Double-click the file to open Aniamtor .controller editor.
(3) runs directly see the effects
4. implemented coroutine

StartCoroutine(协程的方法名());//调用方法一
StartCoroutine("协程的方法名");//调用方法二
IEnumerator 方法名()
{
	...
    yield return new WaitForSeconds();
}

5. x will not be repeated an integer number 1-100 sort
6.static, const, readonly getonly difference of
the difference between the abstract class and the interface 7.?
8. How optimized code
(1) for loop break recall the results obtained or return;
(2) using a shift operation of multiplication and division

two. A company Software Park

T questions: five A4 paper, but the topic is not very difficult, questions are not many, the whole question is a simple programming
C # pen questions (mandatory questions)
1. What is the difference briefly class and structure is?
What is the difference 2. Please briefly describe the abstract classes and interfaces that?
3. To understand what design patterns? Please list the names you know design patterns.
4. Please describe what is reflected?
Reflection provides object (Type type) package assemblies, modules and types. You can dynamically create an instance of the type using reflection, to bind to an existing object type, or acquired from an existing object type and call its methods or access its fields and properties. If the code used in the properties can access them by reflection.
Here Insert Picture Description
What 5.C # The delegate is? The event is not a delegate?
The delegate can be a method of substituting another method as a parameter. Commission can be understood as a reference point to a function. Events are a special commission
6.try {} There is a return statement, then followed by the code will be executed after the try {} finally in, and if so, will be executed at any time, before return or after?
Here Insert Picture Description
7. The following code is what's wrong?

short sl=1;
sl=sl+1;

What the code below amusement wrong?

short sl=1;
sl+=1;

Yes, it will automatically forced conversion
Here Insert Picture Description
8. a number of rules are as follows: 1,1,2,3,5,8,13,21,34 ..., seeking 30-digit number is achieved using recursive algorithm (C #)

public static int Foo(int i)//即定义一个公共静态函数体,输入一个整数(第X位数),返回值;
{
	if (i <= 0) return 0;//预防输入0或负数,输入则返回“0”;
	else if (i > 0 && i <= 2) return 1//如果输入第1位或第2位,则返回“1”(如题);
	else return Foo(i - 1) + Foo(i - 2);//输入其它的数则返回前两个数的值。注意:因为求数列中每一个值都是调用该函数,所以求前两个数的值就又要调用2个这个函数。这就是递归(调用自身)。
}

Foo(30);

Here Insert Picture Description
Unity笔试题(必答题)
1.Unity3D从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法。
2.请简述Unity3D项目中预制组件上出现数据丢失的原因可能有哪些?
3.Unity3D中的协程(coroutine)和C#线程之间的区别是什么?
4.编辑器运行时,资源加载的方式有哪些?
(1)通过Resources模块,调用它的load函数:可以直接load并返回某个类型的Object,前提是要把这个资源放在Resource命名的文件夹下,Unity不关有没有场景引用,都会将其全部打入到安装包中。
(2)通过bundle的形式:即将资源打成 asset bundle 放在服务器或本地磁盘,然后使用WWW模块get 下来,然后从这个bundle中load某个object。
(3)通过AssetDatabase.loadasset :这种方式只在editor范围内有效,游戏运行时没有这个函数,它通常是在开发中调试用的
Here Insert Picture Description
5.分别解释这几个目录的作用

Plugins:扩展unity功能的插件
Editor:主要用来扩展unity编辑器的功能
Resources:动态加载游戏资源到场景中
StreamingAssets:存放需要保留原格式的资源

6.写出Unity释放资源/内存有关的几个方法
Here Insert Picture Description
Lua笔试题(选答题)
1.有一个table t,请简述t.x和t[x]的区别是什么?
Here Insert Picture Description
Here Insert Picture Description
面试的几个问题:
1.内存优化
参考文章:内存优化之资源管理
2.关闭一个界面的方法:隐藏,销毁,移到屏幕在,设置摄像机的渲染层级
3.卡顿怎么解决,比如背包系统有3000个物品,用户操作会很卡,怎么解决

三。高新世贸中心某公司

这是一家19年成立的公司,一个老板开了几种类型的公司,但都在一个地方上班,里面有两个棋牌项目,一个momo游戏,一个物联网项目,还有人工智能项目。
笔试题大概10道左右,都很基础,只回忆出两道题:
1.OneEnable,Awake,Start,Ppdate,FixedUpdate,LateUpdate的执行顺序,作用,执行次数。
2.移动/旋转的快捷键:W/E

三。环球中心某公司

这是一家2018成立的公司,工作时间:朝九晚九
线上笔试·
1、 OnEnable、Awake、Start运行时的发生顺序?哪些可能在同一个对象周期中反复的发生
      Awake——OnEnable——Start;OnEnable
2、 MeshRender中material和sharedmaterial的区别?
      Sharedmaterial改了材质,使用了sharedmaterial的都会同步改变,但material不会随着同步改变
3、 LOD是什么,优缺点是什么?
      多层次细节,根据模型位置等决定渲染。优点:可以根据需要选择渲染模型;缺点:需要美术提供模型的不同细节。加重了包体负担。
4、 ref参数和out参数是什么?有什么区别?
      Ref使用前必须初始化,但是out不需要。
5、 Unity3d的物理引擎中,有几种施加力的方式,分别描述出来
      Rigibod.AddFoce;Rigibod.AddFoceAtPosition
6、 Ugui,NGUI的渲染方式,如何在两个UI之间插入3d特效
      添加一个专门渲染3d特效的摄像机,或设置sortingOrder。
7、 简述List(vector)与LinkedList(list)的区别
      List(vector):数据结构是数组,查询快,增删快;LinkedList(list):数据结构是链表,查询慢,增删快
8、 C#内存分配原理,垃圾回收函数是什么,如何减少垃圾回收触发?
      GC;用StringBullder代替String。
9、 列举3d渲染管线流程
      顶点着色器——裁剪——片元着色器——显示
10、算法锐角处理
      汽车从a出发,经过中心点o,到达b,当角∠aob为锐角时,需要在程序上插入两个点(偏移为1),从新连接使得每次转弯都不那么尖锐,如图虚线。请分别列举a,b位置的不同情况下偏移点计算
Here Insert Picture Description
现场笔试
1.二叉树中序排序算法
2.快速排序算法
面试题
面试
1.连连看连线算法
2.洗牌算法
Here Insert Picture Description

四。复城国际某公司

笔试无
面试主要针对你做过的项目提问,问你如何实现,以及该功能的优化
例如·:
1.五粮液活动怎么实现的
2.连连看关卡实现
3.连连看地图生成算法,如果每种出现有一定的权重,又该怎么实现
4.拍一拍成就系统实现,如果有个类实现,类里应该包含哪些。
5.儿童游戏关卡界面实现

四。软件园游戏工厂某公司

笔试无
面试

1.热更新以及框架
tolua
2.代码管理以及差异
svn是直接与服务器进行交互,git是将项目缓存在本地再推送到服务器
3.UDP,TCP区别
(1)基于连接(TCP)与无连接(UDP);
(2)对系统资源的要求(TCP较多,UDP少);
(3)UDP程序结构较简单;
(4)流模式与数据报模式 ;
(5)TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。

五。箐蓉汇某创业公司

这个公司来得比较干脆,差不对就是一个上机题,给你一个他们实现的界面效果,让你照着实现。大致是一个滑动列表,实现列表元素的动态生成,初始化相关;然后需要对列表中的元素按等级排列,按品质和等级排列;最后需要实现选中一个元素,显示此元素的相关信息。上机时间(30分钟)
最后会根据你的成品问你一些问题,例如:
1.按品质和等级排列怎么实现?
品质*100+等级进行排列
2.排序算法你知道哪些?冒泡法如何实现?直接上机写
3.如何实现选中一个物体,显示详细信息?
将列表中的元素信息用一个list存储,点击某个元素时传入点击元素的id对应去取list中的信息.

六。天府二街领地环球金融中心A座

直接面试,没问什么技术问题,就稍微打听了一下上家公司的相关情况。

七。川师旁有点学院某3D仿真公司

The company is doing 3D simulation courseware, job demand at the time of writing is done VR or read the game first, then try to cast the next, in fact, getting bigger and imagination in the gap.
1. The role of Singleton pattern?
2. What is abstraction?
Under the premise of inheritance, instantiate different objects that call the same method, but exhibit different behavior, which is called polymorphism
virtual methods, abstract classes, interfaces are polymorphic three implementation means
3 give you some C ++ code with C # you ask how to achieve?
4. What college do best subject?

Guess you like

Origin blog.csdn.net/shirln/article/details/98179378