游戏客户端面试(Unity)

推荐阅读:

  •  我的CSDN
  •  我的博客园
  •  QQ群:704621321
  •  我的个人博客

一。最开始的两家公司笔试面试题目

      一家公司是学校聘请研究教育方面VR课件的公司,面试没几天,就收到了面试通过的消息,后面因为通过了另一家游戏公司而拒绝了。
      另一家公司是一家游戏外企,在春熙路,当时笔试还可以,面试被问及到很多图形学的知识,不行被刷

C#知识
1.值类型,引用类型;装箱和拆箱:
2.接口和类的继承。
3.String , StringBuilder区别。
4.C#与C++结构体的区别
5.sealed,const 和onlyread的区别; ""与null的区别
6.委托,delate :三种泛型委托
7.协程和多线程的区别?结构体和类的区别?
8.命名空间?unity 的命名空间-unityEngne
9.实现计时器的方法? Time deltatime:协程
计算机图形学
1.期末成绩,学了什么。
2.光照模型有哪些,公式?兰伯特 半兰伯特等
3.3维模型组成? Mesh
4.如向将文理贴在模型上? uv坐标
5. 图片向格式有那些?
数据结构
数据结构有哪些?最熟悉什么?
Unity
1.碰撞器,触发器的区别。物体发生碰撞的几个过程?
2.Mesh下面有哪些字段(熟悉组件不的字段)顶点坐标,法线,纹理坐标,三角形绘制序列等
3.如何实现资源复用? 对象池
4.U3D脚本的生命周期? Awake一Start—— Update- FixedUpdate一LateUpdate -0nGUI一Reset一OnDisable一OnDestoy
5.如何实现UI界面的层级?图集的创建?图集的作用?
6.坐标空间有哪些?顺序?世界坐标系一屏幕坐标系— GUI界面一视口…

二。天府四街某科技有限公司

    公司主要是做棋牌类的带有赌博性质的游戏,当时公司成立没多久,很幸运的进去了。
当时笔试主要是针对lua和shader方面,大概记得几个:
1.lua实现类的继承
2.lua遍历查找某个数
3.shader实现半透明效果
4.优化
反正全是编程题和简答题。当时优化写了有对象池,面试就被问到了对象池

三。簇桥附近某科技有限公司

    一家修马路的公司,公司很大,环境很好。当时面试感觉还可以,就是很多优化方面的不太懂,所以没过。
1.向量的加减
2.ngui和ugui的区别
3.用过的数据结构有哪些,优缺点
4.优化
5.字典和List的区别
还有一些想不起来了。。。

四。东郊记忆附近某科技有限公司

    这个公司主要是做休闲小游戏的,据说两三个星期就能完成一款小游戏。当时谈得挺好的,说后面联系我,就再也没有联系了。
1.当时主要问了下为什么想跳槽
2.在原来公司的主要工作
3.当一款游戏改动后,如何做升级工作,用什么方法。

五。高新附近某科技有限公司

目前有三个项目组,有一个是二次元偏女性的。
1.UI用的是什么框架?UGUI
2.代码用的是什么框架?MVC
3.说说你在公司做的项目
4.代码:单链表的增删查
5.只需要说出思路:有一条一次可跑6只小猪的赛道,现在有38只,用最少的次数测出跑得最快的前三只
6.申请内存的方式:new
7.canvas的作用:
Canvas画布负责UI组件的布局以及渲染,所有的UI组建元素必须作为Canvas的子节点。
8.单链表和数组的区别

六。环球中心某科技有限公司

    这个公司主要是做格斗,RPG类型的游戏,地点在环球中心,地理位置是真的不错,高大上,环境也很好。去应聘的时候公司正在招H5微信小游戏的。当时端午快到了,看到公司每个人都发了一盒粽子,一桶菜籽油,一袋米,恩,感觉福利不错,上班时间9:30-18:30.
基础
1.面向对象和面向过程的区别及其优缺点?
    区别:面向过程就是分析出解决问题的步骤,然后一步一步实现,在使用的时候分步调用即可;
              面向对象就是把问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是描述某个事物在整个解决问题步骤中的行为。
面向过程
    优点:性能高
    缺点:没有面向对象易维护、易复用、易扩展
面向对象
    优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护 。
    缺点:性能低,类调用时需要实例化,开销比较大,比较消耗资源。
2.面向对象程序有何特点,如何实现?
(1)封装:C#对方法的封装只需要改变方法的访问级别,比如设为public,private等。
(2)继承:使用符号“:”实现继承,继承可以使子类或者说派生类获得父类或者说基类的所有可被继承的内容。
(3)多态:体现在函数重载和虚方法使用上,编译时多态利用函数重载实现,运行时多态通过覆写虚方法实现。
3.解释时间复杂度和空间复杂度,并指出在评估算法质量是应选择哪个指标?
时间复杂度:程序运行过程中所用的时间,与算法中语句的执行次数成正比例。
空间复杂度:算法需要消耗的内存空间
在评估算法质量是应选择时间复杂度作为主要标准。
4.求下面二叉树的前序遍历,中序遍历的输出结果。
在这里插入图片描述
前序遍历:根左右6423517
中序遍历:左根右3246157
后序遍历:左右根3241756
在这里插入图片描述
5.选着你熟悉的一种排序算法编写代码实现方法Sort(int[])对一个数组进行排序。
    当时做题选择的是最简单的排序:冒泡法。还有更过的排序方法请见:十大经典排序算法
6.编写一个函数,当已知一个三角形边长a,b,c时,求其对应的三个夹角。
    这个题应该算是很简单的,只要你了解三角形边与角之间的公式,直接变换公式就能写成程序。此题还需要调用反函数
在这里插入图片描述
C++部分
*7.const int a和const int a,const int const a有何区别?
    后面那一块很懵逼,看不懂。C++里面的指针什么的真的很烦人,当时也没怎么学懂,需要了解的自己百度吧,推荐一个答案:const int *a与int *const a,const int *const a的区别

8.假设x=9999,以下函数的输出是多少?

int fun(int x)
{int count=0;while(x){++count;x=x&(x-1);}
}

    恩,这个题也是醉了,没有输出语句,我怎么知道输出的是什么变量,恩,但是呢,又不能直接那样写,于是当时写的答案“输出语句呢,如果要输出count的值,输出结果应该是8”,while的作用是在每一次循环减去一个二进制的1,9999有八个1。
9.编写一个函数模板,实现将输入的数组逆序,并存储到目标数组中,函数输入参数src,原函数组dst,目标数组int len数组长度。
    大致说下思路:将原数组逆序取出,顺序存入目标数组

for(int i=len;i>=0;i--)
{for (int j=0;j<len;j++){dst[j]=src[i];}
}

在这里插入图片描述
C#部分
10.ref和out有何区别?

(1)ref传进去的参数必须在调用前初始化,out不必,即:

1 int i;
2 SomeMethod( ref i );//语法错误
3 SomeMethod( out i );//通过

(2)ref传进去的参数在函数内部可以直接使用,而out不可:

public void SomeMethod(ref int i)
{int j=i;//通过//...
}
public void SomeMethod(out int i)
{int j=i;//语法错误
}

(3)ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值。
    ref在参数传递之前必须初始化;而out则在传递前不必初始化,且在 … 值类型与引用类型之间的转换过程称为装箱与拆箱。
11.阅读以下代码,程序输出是什么?

	private class A{private int m_a;public A(int _a) { m_a = _a;}public virtual int GetA(){return m_a;}public int GetAA(){return m_a;}}public class B : A{private int m_a;public B(int _a) : base(_a) { m_a+=_a-1;}public override int GetA(){return m_a;}}var b = new B(12);var a = b as A;Console.WriteLine("GetA={0},GetAA={1}",b.GetAA(),a.GetA());

在这里插入图片描述
输出:GetA=12,GetAA=11
12.编写一个函数,输入指定长度,输出一个包含数字,大写字母,小写字母的随机字符串。要求:字符串的内容可选,即可以选择是否包含数字/大写字母/小写字母,且可选内容是否重复
在这里插入图片描述
扩展
    这两个扩展题,真的是,我的能力有限,没有思路。第一个题还能看懂题,后面一个题越看越懵逼,忘大佬解答。
13.选择你熟悉的一门语言,或者使用伪代码,实现以下功能:
    一个矩形Rectangle包含左上角坐标(x1,y1),右下角坐标(x2,y2),width,height(宽,高)四个属性

bool intersect(Rectangle b) 判断是否与矩形B相交

bool contain(Rectangle b) 判断矩形b是否被包含在当前矩形中

可选:Rectangle Rotate(p,angle) 将矩形按照点p旋转angle角度,并返回旋转后的矩形。
在这里插入图片描述
14.假设现有M个人,分散在N各QQ群中,任何人可以属于一个或多个群,现在需要将M个人按照以下要求重新分成K个组:
重新分组后:
(1)每组成员是互斥的,即任意两个新组之间的交集是空的
(2)任意两组组成的冰机不是分组钱任意QQ群的子集。
(3)任意一组成员至少是1个分组的QQ群的子集。
(4)任意一组成员与任意其他QQ群的交集只能为空或等于该新分组自身。
选择你熟悉的一门语言或伪代码完成以上功能
在这里插入图片描述

七。软件园E5某公司

1.怎样引用全局变量
2.局部静态变量和局部一般变量的区别
3.实现一个函数中的构造函数(有两个),析构函数,赋值函数等方法
4.#define A(x) x+x
b=5*A,问b的值
5.分别使用bool,int,float,指针与"零"做比较
6.写出下面程序的输出结果,并说出有什么问题

A(){A(){print("a");}~A(){print("~a");}
}
B():A{B(){print("b");}~B(){print("~b");}
}
main(){A *pa=new B();delete(*pa);
}

7.矩阵运算
8.说你玩过的5个游戏及心得
9.说出你最熟悉的设计模式,并举例说明
10.写一个函数,实现在字符串n中查找子串M,并返回查找到的第一个下标
11.人,羊,菜,狼过河问题
12.写一个函数,查找任意一个数n,的连续几个数之和也为n.
笔试题暂时只记得这些了,下面说说面试吧
面试
面试几乎全考的简历上的内容
1.说说你数学建模担任的角色,怎么建的模等
2.C++学了那些,针对你说的考
3.计算机图形学学了那些?,怎么画直线,裁剪算法有哪些,并说明怎么实现,渲染管道,矩阵的逆运算,在图形学中的意义
4.数据结构学了那些,队列和栈的区别,如何实现用两个栈实现队列的功能。
5.如何洗牌?
6.说说在原来公司的项目,好友列表怎么实现,无尽列表怎么实现?
7.编辑器扩展怎么实现?
8.lua怎么实现继承?
9.shader的光照模型知道那些
10.人工智能学过什么,说一说蚁群算法,蚁群算法怎么实现信息传递。蚁群算法在游戏中的应用:加入屏幕上有成千上万的子弹,如何判断子弹是否与玩家相撞(你不可能循环每个子弹判断)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1621925.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Unity - 微信小游戏

总参考&#xff1a;Unity WebGL 微信小游戏适配方案(公测) 安装与使用 下载 Unity插件&#xff0c;并导入至游戏项目中&#xff0c;版本更新请查看更新日志 请查阅推荐引擎版本&#xff0c;安装时选择WebGL组件 最终选择Unity2021.2.5f1c1InstantGame前往Node官网安装长期稳定…

聊天群内组局互动小游戏

“找我61”互动小游戏嵌入到聊天群内&#xff0c;会给社交应用&#xff08;产品&#xff09;增加不少人气&#xff0c;带来更多活力。 新颖社区社交产品“知多视广”架构构思设想

活动预告 | 与大神面对面,移动游戏开发者必须掌握的十大技巧

上半年&#xff0c;国内游戏下载量对比2019年下半年上涨将近50%&#xff0c;在用户旺盛的需求下&#xff0c;游戏行业迎来了绝佳的发展机遇。在市场火爆的背后&#xff0c;随着用户需求的多样化、时间的碎片化&#xff0c;一些因开发繁琐、资源不足的问题频频出现&#xff0c;让…

游戏大厅 从基础开始(1)——最简单的关系,用户与房间

游戏大厅 从基础开始&#xff08;1&#xff09; ——最简单的关系&#xff0c;用户与房间。 做游戏 就好像写一篇简单的记叙文 作为小学语文大纲要求 记叙文需要完整地叙述&#xff1a; 时间&#xff0c;地点&#xff0c;人物&#xff0c;事件 也就是 WHEN &#xff0c; WH…

RK3399平台开发系列讲解(存储篇)Linux 存储系统的 I/O 栈

平台内核版本安卓版本RK3399Linux4.4Android7.1🚀返回专栏总目录 文章目录 一、Linux 存储系统全景二、Linux 存储系统的缓存沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 Linux 存储系统的 I/O 原理。 一、Linux 存储系统全景 我们可以把 Linux 存储系…

解决MASM32代码汇编出错: error A2181: initializer must be a string or single item

最近用MASM32编程更新SysInfo&#xff0c;增加对IPv6连接信息的收集&#xff0c;使用到了 typedef struct _MIB_TCP6ROW_OWNER_MODULE {UCHAR ucLocalAddr[16];DWORD dwLocalScopeId;DWORD dwLocalPort;UCHAR ucRemoteAddr[16];DWORD …

文本分类任务

文章目录 引言1. 文本分类-使用场景2. 自定义类别任务3. 贝叶斯算法3.1 预备知识3.2 贝叶斯公式3.3 贝叶斯公式的应用3.4 贝叶斯公式在NLP中的应用3.5 贝叶斯公式-文本分类3.6 代码实现3.7 贝叶斯算法的优缺点 4. 支持向量机4.1 支持向量机-核函数4.2 支持向量机-解决多分类4.3…

android系统启动流程之zygote如何创建SystemServer进程

SystemServer:是独立的进程&#xff0c;主要工作是管理服务的&#xff0c;它将启动大约90种服务Services. 它主要承担的职责是为APP的运行提供各种服务&#xff0c;像AMS,WMS这些服务并不是一个独立的进程&#xff0c; 它们其实都是SystemServer进程中需要管理的的众多服务之一…

从零到富:探索CSGO搬砖项目的无限可能

在如今互联网时代&#xff0c;有一项令人惊叹的项目正悄然兴起&#xff0c;它就是CSGO搬砖项目。作为一个从零开始的家伙&#xff0c;我亲身经历了这个项目的神奇魅力&#xff0c;每天轻松赚取几十上百的收益&#xff0c;无风险&#xff0c;低成本。今天&#xff0c;我将带领大…

Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

一、Redis是什么 Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景&#xff0c;比如 String(字符串)、…

围棋与育种

最近因为娃子报名了围棋课&#xff0c;我本着交一次课学两个人的态度&#xff0c;入门围棋&#xff0c;买了些书&#xff0c;听了些课&#xff0c;有所得。学了两个多月&#xff0c;现在6级水平&#xff0c;了解了基本的攻杀技巧&#xff0c;会判断输赢。 下面截图是今天的一盘…

QQ号大规模被盗与你我有什么关系?你我该如何做?

QQ号大规模被盗与你我有什么关系&#xff1f;你我该如何做&#xff1f; 时值QQ号大规模被告事件已经过去多天&#xff0c;今天&#xff0c;我们再次回顾一下此次事件的经过&#xff1a; 1、大规模用户被盗号。 2、不法分子用盗得账号向家人、朋友及其他联系人发送不雅图片。 …

wireshark抓包QQ号

过滤栏输入oicq&#xff0c;然后随便打开一个数据包&#xff0c;就可看到其qq号。 查看移动端QQ的账号 因为是用的是TCP协议&#xff0c;而TCP数据包众多&#xff0c;所以不方便过滤。 但是我发现在info栏中带有scotty-ft字样的数据包中可以找到qq号。你可以按ctrlF选择字符串过…

QQ号1941663132是一个诈骗

我一个拼多多订单(20元)中通运单丢失; 然后两个自称物流公司的电话联系我:19141980127/18988189942; 说是赔偿我 100 多块; 叫我订单截图发给他们客服QQ1941663132; 加了QQ、截图隐私信息打马赛克发了他; 对方给我一个二维码,我解析了一下,是一个 HTTP 协议不安全的网址…

[笔记] 阿里云域名知识

文章目录 前言一、域名二、域名常见分类2.1 泛域名2.2 为什么要设置子域名 三、记录类型3.1 A- 将域名指向一个PV4地址3.2 CNAME- 将域名指向另外一个域名3.3 AAAA- 将域名指向一个PV6地址3.4 MX- 将域名指向邮件服务器地址3.5 SRV- 记录提供特定的服务的服务器使用场景 3.6 TX…

飞秋接收文件提示防火墙

1、效果&#xff1a; 2、打开控制面板&#xff0c;设置小图标模式 3、打开防火墙设置 4、入站规则&#xff1a;把飞秋的路径添加 5、同理把出站规则也配一下。

飞秋与虚拟机的有关IP设置

由于各种原因公司规定&#xff0c;有一部分机器是不能上外网的。所以统一使用飞秋&#xff0c;这个聊天软件在公司内部。 今天&#xff0c;在自己的机器上弄了一个虚拟机&#xff0c;呵呵&#xff0c;你懂的哦&#xff0c;肯定使用的VMware了&#xff0c;不过咱使用的比较高的版…

如何使用飞秋FeiQ实现两电脑通信(或传输文件)

如何使用飞秋FeiQ实现两电脑通信&#xff08;或传输文件&#xff09; 1. 在两天电脑上&#xff0c;分别按照飞秋FeiQ 我使用的绿色飞秋2013正式版 2. 使用一根网线&#xff0c;将两电脑的网口连接一起 3. 设置飞秋FeiQ的端口号不同 &#xff08;1&#xff09;点击设置图标 &…

飞秋不能传递文件的两种情况

问题描述 当我们通过飞秋传递文件是经常出现失败的问题&#xff0c;但是说话没毛病。 下面列出两种解决办法&#xff0c;并且是又先后优先级的 情况一 我们首先需要的是将内网IP映射到外网的一个IP上&#xff0c;并且将IP与mac绑定&#xff0c;防止重启电脑后&#xff0c;内…

AndroidQ(十)Android Q功能和API

Android Q 功能和 API Android Q 为用户和开发者引入了强大的新功能。本文重点介绍面向开发者的新功能。 要了解新版 API&#xff0c;请阅读 API 差异报告或访问 Android API 参考。为醒目起见&#xff0c;将突出显示新版 API。此外&#xff0c;请务必查阅 Android Q 行为变更…