乐信圣文

收藏
游戏
100-499人
不需要融资
北京
查看官网
上传简历
职位类型
全部
数据
最新
热门
这是在Boss上投递的,投完第二天HR就打电话进行聊一聊能否提前来实习和薪资,并且约了一面。一面主要问一些技术基础,主要是unity和数据结构与算法,这些我都有准备,牛客上也有对应的面经,所以很顺利通过一面,第二天早上十点就约了下午六点的二面。二面压力贼大,短短二十分钟压力比一面四十多分钟压力还大。主要是我准备不充分,经验不够。主要问场景题 项目细节以及为什么要这样做,有没有更好的方案。一开始会问喜欢的游戏,再去问游戏中场景的实现细节。他就问我塞尔达拼装东西去完成一个任务的这个功能大概要去怎么做?这里我直接懵逼了,一点思路都没有,而且没有去好好分析问题,讲的有点语无伦次,这里应该考察的是问题分析能力。还有就是不要把面试当聊天,想好说的话后面面试官可能会追问的细节。接着把我的三个项目都问了一遍,第一个问题(项目1):tilemap拼接的原理是什么?怎么如果想实现拼接任意水域大小应该怎么做?我还是听不懂,面试官补充说怎么通过有限的小格子拼接出各种不同的并且不会看起来不会重复的感觉,这里属于我没有好好复习项目了,tilemap用法基本忘了,我就说了通过切割图片成若干的小格子,阿巴阿巴的,我也不知道要说啥。这种不会重复的效果应该是美术人员绘制图片的事情吧,我也不懂。第二个问题(项目1):A*寻路算法的逻辑是什么?这里我提前复习过,差不多讲出来。讲完面试官沉默了一段时间,接着问下一个项目,为什么做渲染器?我就是对游戏渲染的原理比较好奇,所以学了OpenGL,既然学了OpenGL,就再去做了渲染器,在实践中去学到新的知识。接着面试官按我的这个项目简介读了一遍,就问我基于池实现的内存管理器作用是什么?这里我就开始解释,我随便说了差不多预先创建1k大小的内存,他又问我为什么是1k,这里我具体设计过程忘了,我就说随便设计的。其实一开始设计的是动态调节预分配空间的大小,每次循环都要进行数据处理,比较耗时间,所以我就自己采用固定大小的内存块。这里的回答也是扣分项之一,属于我没有去好好回顾技术细节和设计过程。接着让我讲讲blinphong基础光照包括哪些部分,这里我也看过,后面还讲了和phong氏光照的区别,感觉讲的还行。接着问了第三个项目,为什么要做这个项目,时间这么短,感觉你这个有点简单,我就说那时候准备秋招了,而且感觉项目要学的东西也学到了,所以就停止开发了。我又介绍了我最近在做什么,他就让我讲解一下我这个项目的框架。阿巴阿巴讲完,就结束了,总共才花了17分钟问我有什么问题,我想了一下,应该是要挂了,所以我就说没什么问题了。第二天下午三点多我去问了hr我挂了没,结果不出所料。hr小姐姐人很好,还安慰我。这次面试学到了很多,之后要好好复习项目细节,复习设计思路,想好哪里没做好,优化方案是什么
查看13道真题和解析
点赞 评论 收藏
分享
搞不动了,没心思刷算法题了。分享一下今天的面经。重点是数据结构和算法,和一点点UI和c#Q:C#中哪些数据结构是连续的,哪些是不连续的?A:数组,List,dictionary,ArrayList,队列,栈,优先级队列,hashset是连续的,LinkedList是不连续的。Q:Dictionary的这个哈希表是不连续,你知道它的这个哈希算法是什么吗?A:不知道,就回答类似取余的操作。Q:什么是哈希冲突?可以用拉链法来解决哈希冲突,还有什么其他的解决方法吗?A:不知道Q:那如果拉链法来解决哈希冲突,那么去实现这个key的查找的过程是怎么实现的。A:这里答半天没答到点子上。后来面试官提醒说直接key就能找到在拉链上的元素。Q:用一个数组来实现一个可扩容的栈。首先需要对外提供什么借口呢?A:入栈,出栈,返回栈顶元素。Q:在这个各个的方法里面具体需要做哪些元素。A:定一个一个数组大小后,就直接用一个索引指针这个栈顶元素,然后入栈就不断的将这个指针往后面移动。如果大小超过的话就触发一个扩容的接口。Q:二叉树里面有一些特殊的二叉树。知道它的特性吗?A:这个靠印象回答好像是只能缺一个最右下角的节点。活着全部都是不缺的。Q:定义一个二叉树的根节点的高度为0,现在一个高度为h的满二叉树。总共的节点数是多少?A:说就类似一个等比数列求和。忘了求和咋算。面试官告诉我2^(h + 1) - 1;Q:完全二叉树了解吗?A:说左右子树的高度差不可以大于1。Q:但是这样的数不一定是完全二叉树A:不知道。Q:二叉树,怎么实现一个层序遍历?A:回答说通过一个队列记录每一层的元素,依次入队出队。Q:是用递归实现的吗?那这个递归实现的结束条件是什么?A:不太确定,说这个深度等于这个树的高度。好像不是递归实现的,不太记得。Q:如果实现深度优先遍历?A:不断递归,终止条件是这个节点是空就returnQ:如果用非递归的方式怎么实现深度优先遍历?A:不知道。Q:抽象类和接口的区别。A:抽象类不可实例化,接口也不能够实例化。抽象类是单继承,接口可以继承多个接口。抽象类中的抽象方法必须用abstract来修饰,但是接口里面的方法本身就是抽象的,必须被实现。不需要修饰。Q:C#垃圾回收机制了解吗?A:说分代回收,说了三代回收的一个机制。Q:这个回收的具体过程呢,怎么去判断哪些对象可以会回收掉?A:有印象,回答说就是不断去标记一些对象。Q:GC是分代了,但是最关键的是得先回收掉才能分代,最关键的是它怎么清除这一步,后面才是整理。A:没理解要问的是清除的过程还是分代的过程,但我这一块都还不清楚。Q:UI上都用哪些组件?A:这个会。Q:Canvas下有一个属性叫渲染模式 Render Mode,有几种A:屏幕空间覆盖,屏幕空间摄像机,世界空间Q:在Canvas里面有一个分辨率组件,这个是干什么的?A:UIScalerMode,可以控制UI元素在不同分辨率下的缩放逻辑。Q:ScrollView这个组件的使用,用什么组件可以实现列表里物品的排序,A:好像是一个Layout的组件,这个好久没做了,现在没想起来叫什么。很多地方都在想,吱吱唔唔没答出来,后面反问面试官对我的建议,说数据结构是基础,不管找啥工作都需要学好,可以加强一下。后续:应该是无了。
查看21道真题和解析
点赞 评论 收藏
分享
2023-03-06 18:33
已编辑
门头沟学院 数据分析师
周六六不喝粥:咱就是说面试完了都石沉大海是几个意思,能不能直接给我发拒信让我死心呐
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
分享我的面试经验
模拟面试
真实面试体验,快速补齐短板
应聘感受
暂无应聘感受
牛客网
牛客网在线编程
牛客网题解
牛客企业服务