Unity面试题——服务器数据库等杂项

简介: Unity面试题——服务器数据库等杂项

181. Unity 连接数据库

需要得到 Mono.Data.Sqlite.dll 文件与 System.Data.dll 文件

182. 如何与服务器交互

做游戏,基本上都避免不了与服务器端交互,与服务器端交互的方式也有几种,总结起来就是长连接模式(Socket)与短链接模式(Http)。

183. 如何处理网络异常下的可玩性

1)为游戏增加单机模式:比如故事模块,网络异常时可以阅读游戏的故事;丰富的技能或卡牌,网络异常时可以了解技能和卡牌;提供单机玩法,玩家可以与 AI 进行游戏等。

2)为游戏提供教程模块,网络异常时可以学习游戏技巧。

184. 怎样反外挂? 对外挂的看法

游戏外挂的原理:外挂分为多种,比如模拟键盘的,鼠标的;修改数据包的;修改本地内存的。

1)对于模拟用户的鼠标键盘输入的外挂,我们可以用网页上常用的验证码的方式来对付。模拟键盘鼠

标的外挂对游戏的影响比加速、修改封包、修改内存、脱机等要小得多,因此被一些人称为绿色外挂。2)让服务器不把在正常情况下玩家看不到的东西的数据传送给客户端。

3)把玩家操作记录发到服务器进行模拟,如果和客户端的计算结果偏差较大可以认为作弊。

185. 你对跨平台的了解。

跨平台就是在一个熟悉的平台上面开发的软件或者程序,直接可以在其他平台上正常的运行显示而不 需要对其原始文件或者原始代码进行修改。

186. 谈谈你们公司的网络编程

在我们公司基本是由服务端人员开发的,我这边只调用他们提供的客户端 SDK 和服务器端通信。服务 器端是公司用 C++自行研发的。

187. 会做数据库吗?有嵌套的数据库能做么?

会。用过关系型数据库 mysql。能做,只是这方面之前在公司没怎么负责这块,有些生疏,稍微熟悉一下就能做。(社区提供持续更新版本)

188. 了解代码管理么?在开发中使用什么代码管理工具?使用的接口多一点还是继承多一点?

了解。使用 SVN 进行代码管理。接口多一点。

189. 公司内部信息传递用的什么安全协议?

1、公司自定义的安全协议 或者 基于 SSL/TLS 协议 或者 SSH 协议

2、我们至少调用基于相关协议的 SDK

3、SSL/TLS 协议

SSL/TLS 协议(RFC2246 RFC4346)处于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。从协议内部的功能层面上来看,SSL/TLS 协议可分为两层:

  1. SSL/TLS 记录协议(SSL/TLS Record Protocol),它建立在可靠的传输层协议(如 TCP)之上,为上层协议提供数据封装、压缩、加密等基本功能。2. SSL/TLS 握手协议(SSL/TLS Handshake Protocol),它建立SSL/TLS 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等初始化协商功能。SSH 是英文 Secure Shell 的简写形式。通过使用 SSH,你可以把所有传输的数据进行加密,这样”中间人”这种攻击方式就不可能实现了,而且也能够防止 DNS 欺骗和 IP 欺骗。使用 SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH 有很多功能,它既可以代替 Telnet,又可以为 FTP、Pop、甚至为 PPP 提供一个安全的”通道”。

190. 原公司服务器怎么实现多人在线?

使用 socket 基于 TCP 协议开发的多人在线。公司有自行开发的服务端程序

191. 项目问题,和美工想法冲突了怎么办?

找项目主管协调处理

192. 对 unity 的理解

可以做 VR、手游、工艺仿真、端游、页游跨平台的游戏引擎

193. 面试题:VR 相关问题用了哪些设备?接入了哪些 SDK?根据项目问如

何实现手势控制?

htc vive 和 oculus, htc vive 用到的是 steam vr 免费插件,Oculus 早期有 SDK,现在 Unity 原生支持

194. 开过什么平台?多线程的理解

PC、Android。

多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。使用线程可以把占据时间长的程序中的任务放到后台去处理用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等等。

195. 怎样实现植物的弯曲

1、max 做骨骼动画2、修改 Tree 组件的 Growth Angle 的值

196. 用过什么游戏框架?

SimpleFramework,基于 ulua 的框架,支持 ugui 和 ngui 的热更新

197. 模型导入 Unity 后怎么与数据库产生联系?类似打通程序和数据库通 道

例如 mysql 数据库,需要导入两个文件,就可以通过 sql 语句往数据库写数据,数据可以是模型信息

198. 用过什么传输协议,用什么语言

http,tcp(socket) 都是 C# 语言编写

199. 都在什么平台上开发过游戏或软件用的什么框架

Android

200. 会写框架么

设计模式了解一些,但是没写过框架

201. 请简述在客户端开发方面 你最擅长的模块系统,以及你觉得哪些模块 会出现的问题

擅长 UI 模块的制作,我认为热更新模块会出现问题,比如资源依赖不合理,导致资源包过大

202. 如何实现背包系统、宠物系统、装备系统的实时更新?

NGUI 做界面,使用 ulua 做热更新。之前公司使用的是 SimpleFramework 这样的框架。

203. 热更新的解决方案(资源以及代码)

ulua 框架、simpleFramework 框架 、bundle manager 插件

目录
相关文章
|
7月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
8月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
407 18
|
7月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—服务器异常断电导致Oracle数据库报错的数据恢复案例
Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库没有备份,仅有一些断断续续的归档日志。 Oracle数据库恢复流程: 1、检测数据库故障情况; 2、尝试挂起并修复数据库; 3、解析数据库文件; 4、导出并验证恢复的数据库文件。
|
12月前
|
存储 SQL 关系型数据库
服务器数据恢复—云服务器上mysql数据库数据恢复案例
某ECS网站服务器,linux操作系统+mysql数据库。mysql数据库采用innodb作为默认存储引擎。 在执行数据库版本更新测试时,操作人员误误将在本来应该在测试库执行的sql脚本在生产库上执行,导致生产库上部分表被truncate,还有部分表中少量数据被delete。
310 25
|
关系型数据库 MySQL 数据库连接
Unity连接Mysql数据库 增 删 改 查
在 Unity 中连接 MySQL 数据库,需使用 MySQL Connector/NET 作为数据库连接驱动,通过提供服务器地址、端口、用户名和密码等信息建立 TCP/IP 连接。代码示例展示了如何创建连接对象并执行增删改查操作,确保数据交互的实现。测试代码中,通过 `MySqlConnection` 类连接数据库,并使用 `MySqlCommand` 执行 SQL 语句,实现数据的查询、插入、删除和更新功能。
|
11月前
|
数据库
【YashanDB知识库】数据库获取时间和服务器时间不一致
【YashanDB知识库】数据库获取时间和服务器时间不一致
|
存储 数据挖掘 数据库
服务器数据恢复—EMC UNITY 400存储卷被误删除的数据恢复案例
EMC Unity 400存储连接了2台硬盘柜。2台硬盘柜上一共有21块硬盘(520字节)。21块盘组建了2组RAID6:一组有11块硬盘,一组有10块硬盘。 在存储运行过程中,管理员误操作删除了 2组POOL上的部分数据卷。
|
12月前
|
监控 关系型数据库 MySQL
如何解决 MySQL 数据库服务器 CPU 飙升的情况
大家好,我是 V 哥。当 MySQL 数据库服务器 CPU 飙升时,如何快速定位和解决问题至关重要。本文整理了一套实用的排查和优化套路,包括使用系统监控工具、分析慢查询日志、优化 SQL 查询、调整 MySQL 配置参数、优化数据库架构及检查硬件资源等步骤。通过一个电商业务系统的案例,详细展示了从问题发现到解决的全过程,帮助你有效降低 CPU 使用率,提升系统性能。关注 V 哥,掌握更多技术干货。
1669 0
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
4月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
368 10