学长好强
点赞 1

相关推荐

昨天 22:38
已编辑
广东工业大学 Unity3D客户端
用时七十分钟,基础问题答错很多,我主写C#,C++还是太薄弱了,凉了,发发面经攒人品。自我介绍,介绍自己除了Unity还做了个ue的小demo,但是做的不深。一、项目介绍一下我是如何用SO做物品数据管理的(实际上就是当配表工具用)。对象池是怎么设计的。高斯模糊和溶解的shader怎么做的。资源加载和演出系统怎么做的(Resource + YarnSpinner)。A*怎么实现的,损失函数如何计算?对ECS有什么理解?System之间如何处理依赖顺序?UI框架是怎么设计的。UI怎么做的通讯(事件中心)。二、手搓1.手搓个事件中心(还没写完脑子一懵说我写好了,面试官:你再想想?写到最后写对了,面试官问我参数不一样怎么处理,我以为我写错了沉默了,实际上参数不能不一样)2.struct{float a;unsigned int b : 1;unsigned char c : 1;int * d;char e;double f;}64位系统,问每个变量的地址空间(纠结了半天内存对齐,结果写错了哈哈哈)3.有序链表合并这里new了个dump忘记delete了,总结为写C#写的三、UEUE的gameplay框架怎么理解?Controller只在本地,那服务器怎么通知?GameMode在服务端吗?(脑子一抽说了个服务端客户端都有)网络同步做过吗(用的UE原生的)玩家A发射子弹击中B,B要扣血播特效,C要看到过程,怎么做(A发个RPC给服务端,服务端射线检测,检测完了再RPC同步数据)那我要发一个子弹实体怎么办(服务端生成子弹实体,给一个初速度和方向)子弹不同步怎么办,有网络延迟怎么保证同步(不懂啊)提示:属性同步(没听说过)Rpc有几种类型Rpc怎么实现的(我不到啊)那什么情况才可以发Rpc(Charactor这种服务器客户端都有的才可以发)骨骼动画原理是什么(通过骨骼的位置进行mesh蒙皮,没手动实现过)常见的同步方式有哪些(状态同步和帧同步)区别是啥(帧同步同步数据帧,状态同步只同步状态,但是我自己没实现过所以不是很了解)TCP和UDP有什么区别(TCP可靠,UDP快)为什么(TCP有可靠传输机制,建立连接要三次握手四次挥手,所以比较慢,但是比较可靠)为什么可靠(TCP有ATK确认和超时重传,但是因为我没手动实现过,所以只知道皮毛)四、C++平时用啥编程语言(C#,C++只有UE写过,也基本当C# 写)C++的构造函数有哪些类型(无参有参、复制、移动)分别写一下(复制构造忘记加const了,移动构造忘记加noexpect了)构造函数可不可以是虚函数,析构函数呢虚表在哪,虚指针呢delete没指明内存大小为什么能释放(因为指向虚表来释放吧,这个不太清楚)那我delete数组为什么也能释放(不知道)左值右值区别是什么(左值可以取地址,右值没法取地址)右值有哪些类型(函数传出的临时变量、还有硬编码的字符串)const有哪些作用(标注哪些变量是常量,放在函数里保证这个参数不被改变)还有呢(不知道了)放在成员函数后面呢(应该表示不修改这个对象内的值,不太确定)那要是我想修改怎么办(不太了解)share_ptr a 指向一个对象share_ptr b 指向一个对象a=b 会发生什么(这个时候脑子已经不正常了,答道,b先释放一个引用计数,然后a引用计数++)你确定吗(确定)你再想想?a=b是让b指向a吗(才明白过来,连声答道对不起)引用计数放在哪(它分为一个资源指针和一个控制指针,引用计数放在控制指针)总结:C++、内存、网络的功底太薄弱了,只是看过一遍八股,没有真正做过项目尝试,鹅的UE项目多,且重视基础,应该多复习C++这些基础。#软件开发笔面经#
点赞 评论 收藏
分享
牛客网
牛客企业服务