200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 面经:网易游戏客户端实习生

面经:网易游戏客户端实习生

时间:2021-12-07 15:34:52

相关推荐

面经:网易游戏客户端实习生

文章目录

自我介绍计算机网络算法操作系统C++C#Unity3d项目五子棋项目贪吃蛇项目 提问环节个人面试后总结

面试时间.12.04,上午10:00,电话面试时长30min本文记录了自己的整个面试过程

请大家注意:面试过程中的个人回答,不一定正确,请大家上网自行查找详细正确解答

自我介绍

简单的介绍了一下自己的教育经历,询问我面试时间

计算机网络

1、讲TCP和UDP的协议的区别?

自己回答:

UDP在传输数据之前不需要先建立连接,是无连接,传输不可靠,传输速率快,所需资源少,一般用于即时通信,比如QQ语音,QQ视频

TCP提供面向连接的服务,是面向连接,开始连接3次握手,结束连接4次握手。TCP是可靠连接,因此传输效率慢,所需资源多。一般用于文件传输,比如邮箱,传输文件,远程登录

2、TCP的是如何实现可靠传输的?

自己回答:

在数据传递过程中,有重传,窗口,拥塞控制等机制实现。

3、如何实现一个UDP的可靠连接?

自己回答:

引入TCP的可靠传输机制到UDP中,如加入重传,窗口,拥塞控制等机制

算法

1、通过两个栈实现一个队列?

自己回答:

没回答出。。。。思考了几min后,跟面试官说,能否给点提示,面试官跳过了。

面完思考:

上网搜索,看到说一个做缓冲区,一个做数据存入区,大概明白了实现方法,面试时,有些紧张,没回答出,感觉这次面试会因为这道题跪了吧。。。这块不管思考还是回答给面试官印象不好

2、判断一个链表中是否有环?

自己回答:

在链表结点中加标志位,从头结点作遍历,如果遍历过程中,第一次出现设置为true,如果出现了环,则第二次访问到为true,则说明有环。

面试官说,可以实现,但方法有些复杂,还有更简单的方法,让我面试完后可以再看看。

3、讲解一下快排?

自己回答:

选取一个数,称为主元,以递增序列为例,主元的左边都小于它,右边都大于它,然后对主元分割的区域继续使用快排,直到分割区域只有一个元素。

平均复杂度O(nlogn),最坏复杂度O(n^2)

实现过程

1、选取一个主元

2、计算主元的位置(分割算法)

3、对主元分割的区域再次快排

操作系统

1、说一下进程和线程的概念?

自己回答:

进程是对运行时程序时的封装,是系统进行资源和分配的基本单位,实现了操作系统的并发

线程是进程的子任务,是CPU调度和分派的基本单位,用于保证程序的实时性,实现进程内部并发

一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程

2、线程的调度算法?

自己回答:

自己想不起来了。

面完思考:

这个问的时候,感觉之前没怎么复习到这块,导致完全哑火了,突然没有任何印象了,这题也是回答的很差,面试完后,翻了书才想起,原来是先来先服务等等算法,这块后面要加强复习一下了。

C++

1、宏(#define)和内联函数(inline)的理解以及区别

自己回答:

内联函数,在程序运行过程中,会将内联函数的代码段插入到内联函数区域

重定义,对一个表达式用别名进行替换

面试官听完,没有说什么,开始问下一道题目,这道题目自己也答的不好,没有回答到该有的点上

1、C++智能指针用过吗?

自己回答:

平时没用过,了解过它们,分别是auto_ptr,shared_ptr,unique_ptr,weak_ptr,auto_ptr已在C++11新特性中去除,shared_ptr指向一段共享内存,智能指针是一种栈对象,其基本成员类型是指针。

这道题目自己也答的一般般吧,之前复习的时候看过,但是没有弄的很懂

,课后还是要多看了

C#

1、讲一讲C#委托?

自己回答:

对c#的委托的使用方法不是很了解,但在C++11特性中,具有委托构造函数,委托构造函数的作用是在某一构造函数执行时,委托其调用另一个构造函数,C#委托也是这样的机理,项目中加载场景进行了使用

Unity3d

1、UI如何制作的,动画如何制作的?

自己回答:

UI通过U3D的UGUI完成,利用到其中的Text,Image,sprite等组件。

动画通过Animation绘制而成

项目

五子棋项目

1、极小极大搜索算法

自己回答:

Minimax算法是基于搜索的博弈算法的基础。该算法是一种零总和算法,即一方要在可选的选项中选择将其优势最大化的选择,而另一方则选择令对手优势最小化的方法。

2、剪枝算法(Alpha-Beta)

自己回答:

举了一个例子给面试官,告诉它如何剪枝

3、获胜的贪心算法是如何实现的

自己回答:

首先存储了五子棋的基本的5种棋谱,然后对棋盘进行遍历,从第一格开始,判断每一个落子的分数,计算是否出现已存储的棋谱过程中,对已有的棋谱进行遍历,最后选择出落子分数最大的点

贪吃蛇项目

1、小蛇如何实现换肤功能和暂停功能

自己回答:

换肤,通过在预设的一个sprite数组中存储需要换肤的图片,在进行选择过程中,更改要取的sprite的下标

暂停功能,通过loadScene(1)来使游戏暂停,如何再次点击开始,将其置为0

2、小蛇如何加速功能

自己回答:

通过设置一个键,比如空格,上下左右是wasd,然后比如在按w的时候,按下空格,更改小蛇的移动速度

3、小蛇穿越边界的功能是如何实现的,会不会出现小蛇穿越边界过程中,有一个结点有一半在左,一半在右

自己回答:

布局是固定的,布局除于小蛇的每一个结点身子是可以除尽的,以布局中心为对称线,左右两边是对称的,如果发生穿越,则修改横坐标即可

由于布局和小蛇的结点设计,因此不会出现所说的情况

至此问题回答环节结束,之后再次询问我实习时间,我说实习到明年9月,现在就可以去

提问环节

1、游戏客户端开发在网易游戏的开发过程中扮演了什么样的角色,是主程吗?

面试官回答:

这要看你怎么定义主程了,我回答说我理解的主程是对于独立游戏开发来说的,是指担任游戏程序的开发工作。面试官说,在网易主程主要由项目主管担任,负责游戏的各个环节的任务分配,客户端,服务器,主程相当于是游戏项目的架构师

2、游戏客户端实习生在网易游戏的日常工作是怎样的?

面试官回答:

比如设计一个游戏中某个环节的玩法,比如做一个游戏的背包系统,开发一个可视化工具给策划…(后面的忘了)

3、评价一下我此次面试的不足之处?

面试官回答:

基础有些还不够扎实,游戏项目做的比较简单,后期自己多往这两个方面做功课

个人面试后总结

面试完后,自己写了面经,自己昨天下午4点收到通知,但自己没回答好面试时间,只说了自己可以尽快安排(有点给自己挖坑了),然后被安排到第二天的上午10:00了,晚上复习的时候还有些后悔,想跟HR说改到周五,但怕给面试官印象不好,因此就没有改,尽力了就行,不知道是凉还是过,不管怎样,面试官给的建议比较中肯,自己之后还是要多加强这些内容,准备其他的公司面试

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