柠檬微趣 秋招 -- Unity客户端开发 二面

面试官太有实力了,问的太深了[哭惹R][哭惹R],因此问题也忘得差不多了:

Unity部分:

1. 第一个2D游戏的游戏框架是自己搭的吗(是的)

2. 资源加载怎么做的,什么接口(LoadFromFile,面试官说是Resource.Load,[哭惹R]我现在才反应过来问的不是AB包[哭惹R])

3. Xlua原理(标记Hotfix-》桥接代码-》lua语言替换)。

4. CSharp和Lua怎么交互的([哭惹R]不会[哭惹R])

5. 第二个3D游戏的状态模式和工厂模式怎么设计的

6. 对象池怎么设计的

7. MVC怎么设计的

8. 单例模式是什么,哪些会用到

9. 协程是什么,哪里用的(我一个函数是敌人会一直走向主角,用的协程)。

10. 为什么用协程而不是Update? ([微笑R]最后的结果是都可以用,面试官说协程也是一种update)C++(这里更是重量级):

11. 多态(静态多态,动态多态)

12. 编译器怎么识别重载函数的,为什么不识别返回值,识别参数和函数名([哭惹R]不会[哭惹R])。会将函数名,参数拼接起来识别(类似序列化吗), 差不多。

13. 虚函数表存的是什么(函数信息和type_info[哭惹R]其实是函数地址[哭惹R]),虚函数表什么时候生成(编译期)。

14. 一个类有虚函数,有int_32值,32位系统下内存占多少

15. 你知道函数memset吗,可不可以用memset将该对象置为0([哭惹R]我开始说的不可以,可能虚表指针受保护[哭惹R])。

16. 我怎么拿到虚表指针呢(取首地址)

17. 有一个复制函数,我将父类的虚表指针赋值给子类的虚表指针呢(可以,但是运行时有RTTI,应该无效)。所以前面的memset也可以用,将vtpr设为nullptr,只是没意义。

18. memcopy和memmove知道吗,如果内存重叠怎么弄(我开始说的移动后面的再移动前面的,卡了好几分钟。最后我说如果是数组就很简单,从后面开始赋值,结果是对的)

19. vector和map的erase区别(vector失效,map不),vector指向空吗?([哭惹R]回答是的[哭惹R]),他说会指向下一个,不能++。

20. 快排的过程,为什么是不稳定的,举一个例子(5,5,3,1,1)。

还有些忘了,后面肯定还有,想起来再补充,反正没有常规八股。

21. 手撕:顺时针旋转矩阵90°。这个当场写还真不简单,写了十几分钟,结果转反了。后面又改了5分钟才对。

全部评论
后续咋样了
点赞 回复 分享
发布于 09-16 22:08 北京

相关推荐

自我介绍 C++1.函数指针,lambda,仿函数2.Lambda和仿函数可以自行携带带变量或者参数,这种行为是怎么实现的,原理是什么,3.Lambda按值捕获和按引用捕获,按值捕获的拷贝的对象存在哪里4.在c++中有没有遇到一些崩溃,如何分析这些崩溃:回答了野指针5.实际开发过程中遇到了崩溃的问题应该怎样去排查,调试工具6.有没有通过dump文件的方式去排查问题的经验7.智能指针的原理,智能指针线程安全的问题8.平时有用过那些锁:互斥锁,读写锁9.互斥锁,如果有多个线程尝试获取锁,但实际只要一个线程获得,那其他线程的表现:阻塞?是否会消耗cpu?循环检测?循环检测的频率?如果互斥锁被释放了,操作系统会进行什么操作?线程切换?线程切换怎么理解?比循环检测更优的方案?条件变量?条件变量唤醒的操作是怎么实现的?操作系统维护一个消息队列?10.源代码最终如何编程可执行文件,预编译-编译-链接-执行11.最终生成的可执行文件包括哪些内容?单指exe文件12.项目:多线程处理图像预览,数据传输是用什么方式(信号槽),计网13.TCP的流量控制(滑动窗口),为什么有这个窗口就可以进行流量控制,如何动态维护这个窗口的大小,更具体是如何维护,什么时候把这个窗口加大/缩小,14.TCP黏包的问题如何解决,先发送包的大小?分隔符?15.https:http+SSL,对称加密报文,非对称加密公钥,非对称加密有什么特点,公钥在https中是什么时候拿到的?证书在整个https流程中什么时候拿到的?客户端从哪里拿到的?服务器在https的哪个阶段将证书发送给客户端的?客户端如何验证证书的合法性?怎么验证第三方签名是否有效(浏览器验证?)?手撕,李逍遥闯锁妖塔,寄!
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
评论
5
37
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务