(代发)迈博元素Unity客户端开发实习面经

本渣渣同学2023年8月31日面试迈博元素面经,40分钟左右。

会带一些个人评价

面试官很温和,有些问题即使答不好,也给了我同学很多鼓励。 大家一起加油哦ヾ(◍°∇°◍)ノ゙

面试流程

先是自我介绍,然后开始问简历。

面试题

  1. 自我介绍时,你提到了你简历的两个项目,你这两个项目,有完全是跟着教程写的吗?

没有,全是自己写的

  1. 你是如何设计你游戏当中的需求的,然后开发的?

查看自己的游戏玩法逻辑,模仿实现

  1. UI框架是也你自己设计的吗?

紧张了,问的是不是,答的如何实现

  1. UI框架当中,读取时,UI面板预制体、UI面板类、UI面板事件类如何和绑定

面板信息json文件当中,存储着这些信息,在构造面板时,通过枚举类型从字典当中获取各个类的信息。

  1. 任务系统、背包系统、商店系统信息,都是用Json文件存取的吗?

  1. 为什么要考虑这么做?

如果写在代码当中,会使得代码很混乱,难以维护。使用json配置表配置使得在添加或删除面板时,只需要修改配置文件,添加枚举类型,做好UI预制体,不需要修改代码,易于扩展。

  1. UI框架当中,面板预制体保存的路径是固定的吗?

是,统一放在同一个面板文件夹

  1. 你这里写了MVC,说说MVC是什么

MVC主要是一种思想,MVC就是Model,View,Controller,即模型、视图、控制器。Model对应面板数据,View对应UI面板,Controller对应管理器

  1. 项目当中有限状态机是如何实现的

说了继承一个接口,然后子类实现函数,有进入、更新、退出等函数,通过FSM管理者管理状态切换。(这里答的比较乱)

  1. 有限状态机是完全自己写的吗?

网上有参考,虽说项目不是跟着教程写的,但是遇到困难时会去网上查找资料,学习如何解决。

  1. 说说你这个红点系统是如何实现的

观察到UI具有层级关系,某个UI更新,其父UI也需要更新,就想到通过树实现。叶子节点更新,更新父节点。

  1. 说说熟悉哪些设计模式

就说了三个,单例、观察者设计模式、简单工厂模式(可以直接说说设计模式是如何实现的)

  1. 泛型在你的项目当中哪里用的比较多

只说用了泛型单例,但是知道如对象池等可以做成泛型(没答好,两句就结束了)

  1. 说说你对泛型的理解

减少代码量,实现一种多态(两句就结束了....)

  1. 说说面向对象的三大特性

说了封装、继承、多态简单理解

  1. 刚刚你说继承是强联合,那如果让你用组合设计一个装备系统,你会如何设计

说了将一些共同的属性抽出来,然后就说自己了解的不是太清楚

这时候面试官开始鼓励了,说答得挺好的。

  1. 3D物体如何显示在UI中的一个Image的前面

刚开始说将canvas作为物体子物体,然后说想想,然后说渲染不同层级,然后说没考虑过这个问题......(可惜了,这是很常见的问题,没答出)

面试官给解释了一下

  1. 说说DrawCall优化

先是说了DrawCall是Cpu调用dc通知GPU开始渲染的一个步骤,刚要说DrawCall优化有哪些常用方法时,面试官就说,具体说说这一个渲染步骤

  1. 说说整个Cpu到GPU的渲染过程,尽量说细一点

了解的不是很清楚,大致知道是Cpu准备一些数据,然后通知GPU开始渲染。

(这里应该是问渲染流水线的第一阶段即应用阶段具体会发生什么事)

  1. 有点好奇你简历上写的“通过规避Update中实例对象减少DrawCall”是如何实现的。

这里说了下Update是每一帧调用

(这里简历写的有问题,“DC优化:减少Update中实例化对象、尽量使用JPG格式图片”和DC没什么关系)

  1. 那后面这个“尽量使用JPG格式图片”是什么?

说了JPG格式图片和PNG图片占用内存的大小区别(这个和DC没关系呐)

  1. 除了这个JPG和PNG,还有什么关于图片的DrawCall的优化方法

这里不太了解(这里可以说说打图集、调整UI图片和text层次啥的)

然后面试官提示了打图集,然后说简历有问题

  1. ScollView主要用在哪方面

这里说了ScollView配合GridLayoutGroup和ContentSizeFiter实现项目当中的背包滚动列表(这里大佬其实就可以引出无限循环列表是啥)

  1. Socket有哪些了解

这里说自己的服务器是开的B站视频,只是了解了大体逻辑,主要是编写协议,然后说了说socket的了解。

面试官继续说有没有更多关于socket和服务器的东西

这里说了第二个项目是通过消息转发的形式实现的同步,实现的不是很理想

  1. 说说帧同步和状态同步

这里说了自己对于帧同步和状态同步的简单理解,说帧同步容易反外挂

(这里是状态同步更容易反外挂)

  1. 你能说说帧同步和状态同步当中你最了解的一个,说说具体流程,比如谁来发送,谁来接收

这里说自己正在了解这方面的,具体的不太清楚

面试官说没关系,后面会了解到的

  1. 说说你的战斗系统和服务器的同步

这里说自己是通过消息转发实现的战斗,太快会导致崩溃

  1. 说说导致崩溃的原因

这里说了自己遇到的崩溃情况和理解的原因

  1. 服务器是放本地还是外部的云

放到本地

  1. 为什么放到本地的还会出现崩溃

放到本地为什么还会崩溃呢?你再去排查排查原因

好的

  1. 问了是否在校,校里面课怎么办,毕业论文怎么办

如实回答

  1. 有没有时间去实习?可以全职实习吗?

有,可以

  1. 对于薪资的要求

要求不高,贵公司应该能给个合理的薪资(毕竟)

  1. 有什么要问的吗?

问了可以转正吗?

有技术培训吗?

  1. 回去等通知,有offer了会oc
#Unity客户端开发实习##24届秋招##游戏客户端开发##秋招面经#
全部评论
这哥们确实温柔,刚刚面完,虽然过程有点抽象但人真的不错
1 回复 分享
发布于 2023-09-06 19:54 广东
这是实习问的?
点赞 回复 分享
发布于 2023-09-05 13:34 广东

相关推荐

03-11 10:06
已编辑
河南师范大学 C++
点赞 评论 收藏
分享
评论
18
55
分享

创作者周榜

更多
牛客网
牛客企业服务