北京钛核互动 游戏开发面经

# 一面 7/30

自我介绍

讲一下为什么要选择游戏行业

数组和链表的区别

数组查找的复杂度

树的遍历方式有什么

复杂度O(1)查找的数据结构

哈希表的原理

处理哈希冲突的方法

口撕算法:一个数组表示物品的质量和数量,一个包最大承重w,求能放最大的质量(0-w)。

讲一下Lua的元表

Lua的遍历方式

介绍自己项目

介绍实习的工作

讲一下实习项目的UI框架

UI 间通信

事件中心如何实现

Lua中 函数调用出错打断后续流程怎么办

讲一下自己的职业规划

讲一下个人相比身边同学的优势

# HR 面 7/31

一些常规的问题

只有一个实习()HC,面完泡池子了

8/5 挂了😤

#实习# #秋招# #Unity# #游戏开发#
全部评论
感觉问的还好
点赞 回复 分享
发布于 2024-08-15 01:09 上海
楼主bg是什么啊
点赞 回复 分享
发布于 2024-08-05 18:26 山东

相关推荐

1.Q:你先做一个自我介绍吧。A:自我介绍。2.Q:看你写了蓝桥杯,应该对算法有所涉及,给我讲一下DFS和BFS。A:讲解了一下DFS和BFS是上面和思路,面试官让我实现我不会。3.Q:在Java中是怎么实现DFS和BFS的?A:不会,没有实现过,C语言我使用数组实现过,但是具体我也忘了。4.Q:我们跳过算法,讲一下Java,说一下你知道的集合。A:用的最多的是ArrayList,然后还有LinkedList。5.Q:比较一下二者的区别。A:ArrayList的底层数据结构是一个动态数组;LinkedList底层实现是链表,主要是数组和链表的区别。6.Q:ArrayList底层是怎么实现动态数组的?(ArrayList扩容原理)A:不会。7.Q:说一下你知道的Map。A:主要使用的比较多的是HashMap,然后可以排序的Map有TreeMap。8.Q:说一下TreeMap是怎么实现排序的?A:底层是使用红黑树进行排序的,但是具体实现我也不知道。9.Q:讲一下Java创建线程的几个方式。A:我知道有四种创建线程的方式:1.继承Thread类,2.实现Runnable接口,3.实现Callable接口,4.通过线程池创建。10.Q:线程池的几个重要的参数。A:核心线程数,最大线程数,工作队列……11.Q:线程池中的工作队列是一个什么队列?A:不知道。12.Q:通过继承Thread类创建的线程,如何运行?A:调用run方法,面试官说“注意是继承Thread方法,不是Runnable接口哦。”,调用start方法。13.Q:线程调用start方法之后处于什么状态?A:处于就绪状态。14.Q:在什么情况下会从就绪态转换为运行态?A:获得锁(好像是错的),或者其他线程调用notify方法唤醒该线程。15.Q:说一下你知道的锁。A:主要分悲观锁和乐观锁,悲观锁是线程必须要持锁才可以执行,其他线程必须等待锁释放,我使用过的有Synchronized锁;乐观锁是线程无需等待持锁线程释放锁也可以执行,主要有版本号法和CAS算法,我使用过版本号法。16.Q:说一下版本号法的具体实现。A:通过数据库存储版本号字段实现。17.Q:你知道哪些线程安全的集合?A:额……不知道。18.Q:讲一下Java中的线程和操作系统中的线程的区别。A:JVM虚拟机中的内存是一种用户级别的线程,操作系统线程是系统级线程,但是在JDK1.8(好像是)之后JVM虚拟机的线程直接使用操作系统的线程。19.Q:讲一下你知道的IO。A:我主要知道两种IO吧,最普通的InputStream、OutputStream;然后后面引入了NIO,可以使用直接内存。20.Q:详细讲一下NIO。A:不会了。21.Q:说一下SpringBoot中,你知道的注解。A:三层架构的注解,RestController,RequestBody,AutoWired……22.Q:说一下RestController和Controller的区别。A:RestController注解中有Controller,并且里面还有ResponseBody,然后一般是REST风格使用。23.Q:讲一下REST风格。A:具体定义我不知道,我讲了一下应用方面的REST风格。24.Q:讲一下HTTP协议的主要请求方法。A:Get和Post,然后讲了一下Get和Post的区别。25.Q:HTTP协议的请求头、响应头有哪些?A:随便说了几个我记得的。26.Q:讲一下HTTP响应码。A:200,404,401,403,500……27.Q:讲一下401和403的区别。A:401是未登录,认证失败吧,403是访问被拒绝。401是请求到了服务器,被拦截器之类的处理了;403是请求没有进入服务器就直接被拒绝了(错的离谱)28.Q:你项目是怎么实现登录鉴权的?A:讲了一下项目的登录流程,但是项目没有用到鉴权。29.Q:JWT令牌里面存了些什么,怎么防篡改?A:存了时间戳(太久没用了,我只记得有个这个了),防篡改我只知道是工具生成的,如果篡改了就无法解析成功。30.Q:了解过SpringSecurity吗?A:我只知道有这个东西,没学过也没用过。31.Q:说一下MyBatis底层原理A:我知道是反射和动态代理,然后我解释了一下反射(举例子解释的),MyBatis具体是怎么通过反射实现的我不知。32.Q:用过MyBatis中的xml配置实现SQL吗?A:用过,xml文件一般是用于实现MyBatis的条件查询或者复杂查询。应该还有一些问题,但是过了几天我已经忘了,面试官人挺好的,不会的问题先是引导,引导完了之后还不会就直接跳过了,不会在同一个问题一直追着问,然后给出的讲解也很清晰。鼠鼠是第一次面试到这么技术的,然后感觉自己还是太弱了,需要继续努力。
斫桂:感觉还行,继续努力
0经验如何找实习?
点赞 评论 收藏
分享
11-28 13:10
已编辑
上海大学 Java
本次分享游戏测开岗位的前三轮面试的面经,我面试体验下来,游戏测试开发岗位跟互联网测开是有非常大的区别的,是给游戏测试那边开发测试工具的,所以是强开发性质,基本不涉及测试内容,所以要投的这个岗位的小伙伴要注意一下。有了找实习时经历的十几轮面试的磨炼,秋招的面试变得比较得心应手。所以前两轮都算是速通了。-------------------------------------9月2日,一面的面试官是一位小哥,估计是刚当面试官没多久,面评写的很慢,基本上他问一道题,我答出来之后,要等他打一分钟左右的字才能继续问下一道问题整体体验感有点割裂,整体45分钟左右:1.自我介绍2.缓存体系优化中,为什么使用简历上提到的方法3.如果需要频繁定时刷新的话,怎么使用4.讲一下国自然项目的背景5.假如几十艘无人艇同时渲染摄像机视角,怎么降低负载6.天气变换怎么做的7.雾天怎么实现的8.不同无人艇之间的镜头切换怎么做的9.场景之间的加载和保存逻辑怎么实现的10.如果保存的场景文件有错误,怎么办11.强化学习项目中,无人车如果掉湖里了,应该算逻辑失败,怎么判失败的12.无人车撞到障碍物了,怎么判断的13.Java中针对List创建迭代器,在迭代的时候删除List中的某个值,为什么会报错14.Java中对于创建的对象和实例,放到内存中的哪个位置15.手撕——最长公共子序列-------------------------------------第二天中午打电话约了二面,9月8日,二面面试官很有水平,并且强度十分大,八股盛宴,各种类型的八股都有,我都扯到计组上面了,整体1小时20分钟:1.自我介绍2.讲一下强化学习中的Q值和V值3.强化学习中的贝尔曼方程4.Unity Bind啥啥啥(没用过,说了package)5.说一下你用过Unity中的哪些组件,都干了什么6.讲一下Unity中的Rigidbody7.如何检测两个Unity实体之间碰撞8.讲一下索引、聚簇索引和非聚簇索引、explain的作用9.如果客户端请求服务端很慢,怎么排查10.如何排查网络问题、讲一下四次挥手12.如果服务端Time_Wait过多,怎么办13.限流算法了解吗,如何实现一个限流算法14.CPU Cache了解吗,如果有一段代码CPU Cache利用率不高,怎么优化15.锁竞争,死锁怎么排查16.讲一下乐观锁、内核态和用户态、IO多路复用,epoll函数17.如果有个文件需要发出,内存需要拷贝多少次,讲讲零拷贝18.手撕——LRU,想一些测试用例,尽可能全面19.内存碎片问题,如何解决20.LRU能怎么改,让他多线程安全,效率尽可能高21.反问-------------------------------------面完一小时之后秒约三面,9月11日,三面面试官应该是个大leader,很有气场,问的问题也比较宏观了,我应该是有些宏观问题答的不太好,并且手撕虽然做出来了但是时间复杂度比较高,挂掉了,整体一小时:1.为什么选择测试开发,为什么不选别的岗位,为什么实习投的游戏测试现在改成开发了2.有没有比较深刻的经历3.在优化数据规模这块,为什么选择mongo4.数据迁移过程中,双写时如何保证数据及时更新5.为什么订阅了binlog还要双写6.迁移为什么选择一千万这个数量级7.迁移时的边界条件怎么确定8.如果在迁移时,先写mongo,再写mysql后,mysql又把mongo的数据变成老数据怎么办9.xxl的架构10.手撕——为游戏上层实现一个优先队列容器,提供以下方法:入队,需要提供优先级信息,优先级是个整数,从0开始,数值越大优先级越高出队,优先级最大的元素优先出队,优先级相同时满足先进先出默认元素类型是GameObject应用情景是一段时间内集中入队,而出队是分散不频繁的-------------------------------------面完之后泡了三个工作日,hr打电话通知不通过,但是别的组觉得我可以再面一下,流转到另一个组重新二面,详见下一篇
发面经攒人品
点赞 评论 收藏
分享
12-02 14:53
已编辑
拷打项目和unity引擎知识多一点,印象只能记起来这些了,有些细问的小知识忘了面试题目:项目实习拷打:自我介绍介绍一下你做这个项目碰到最难的事情,并且是怎么解决的(然后拷打了这个事情解决方法细分的知识)介绍一下你在实习碰到最难的事情,并且是怎么解决的(也拷打了这个事情解决方法细分的知识)unity引擎里面函数执行的顺序是怎么样的?update和latedate和fixupdate有什么区别?为什么相机在跟随的时候要放在lateupdate里面?不能放在fix或update里面吗?如果放了会怎么样animator了解吗,知道animator是怎么样使用事件帧的吗?渲染画面帧的时候是在update这个帧里还是帧前或是帧后?渲染完成之后的帧是在帧前帧后还是哪个出现?介绍一下你你在时候关于性能优化的工作?scriptableobject了解吗?你了解图形学在渲染画面的时候是怎么进行工作的吗?顶点,面元,片元,像素之类的知识。人物武器攻击的时候碰撞是怎么做的?协程在unity是怎么实现的?有在项目中具体用到吗?八股:常用的数据结构有哪几种?哈希冲突怎么解决?lambda表达式了解吗?你刚才说到捕获上下文常量变量,知道是怎么进行捕获的吗?lambda表达式可以在编译函数中进行吗?或者是怎么样进行?lambda表达式怎么样简化代码的?lambda表达式有过具体的运用吗?构造函数可以是虚函数吗?如果是会怎么样?(这里是挖坑了,主要还是回为什么不能的原因)析构函数一定是虚函数吗?如果不是会怎么样?vector和list和map了解吗?vector和list的遍历和插入时间复杂度分别是多少?如果有很多数据要进行哪个更快一点?智能指针有哪几种?weakptr的作用是什么?具体是怎么实现解除循环引用的作用的?回答的不怎么样,问八股越问越细,直到不会为止,10月上旬做的笔试,12月才面试,八股都忘完了,引擎知识也差不多,都已经在进行做新项目备战春招了,反问随便问两个问题就拜拜了,面试官人很好,问到很难的问题不会的时候都会给出解答,还介绍了一下公司和聊了一会天,面试完之后秒挂。
查看23道真题和解析
点赞 评论 收藏
分享
评论
10
18
分享

创作者周榜

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