[笔试真题] 游戏岗位

说明 : 汇集笔试的回忆真题

91Act

判断玩家是不是进入了敌人的视锥体中;

通过不同的场景做出不同的状态(动画状态机);

关于协程的使用方式和使用场景;

使用的那些设计模式,在项目中如何应用;

做过那些项目,遇到了那些问题,如何解决的;

解释不同的同步的方式以及他的使用方式(状态同步和帧同步);

解释片元shader和顶点shader?

  渲染管线一般包括顶点阶段和片源阶段,顶点做一些剔除算法,透明度检测,片元做光照计算。(可编程渲染管线根据实际情况来,总而言之就是顶点做顶点计算,片元阶段是像素级处理)

游戏中的通信的内容,TCP/UDP/Http在不同的游戏中的使用方式,优缺点?

渲染效率低下,如何解决?

  减少drawcall,把一些mesh合并,优化算法,lod,mipmap,减少粒子数目

什么是Unity Native?如何使用?

Unity Native

TCP/UDP/HTTP优缺点以及使用场景?


G-bits

两个整数二进制位不同个数

输入两个整数,求两个整数二进制格式有多少个位不同

输入描述

两个整数

输出描述

二进制不同位的个数

限制

时间限制:1秒 空间限制:65536K

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;

int main()
{
int num1, num2;
cin >> num1 >> num2;
int countter;
for (int i = 0; i < 32; i++)
{
countter += (num1 & 1) ^ (num2 & 1); //取低位,使用一伙判断内容是否相同
num1 >>= 1; //将高一位为一到低位来
num2 >>= 1; //将高一位为一到低位来
}
cout << countter << endl;
return 0;
}

求素数(区间法)

输入M、N,1 < M < N < 1000000,求区间[M,N]内的所有素数的个数。素数定义:除了1以外,只能被1和自己整除的自然数称为素数

输入描述

两个整数M,N

输出描述

区间内素数的个数

代码