【面经】快手Unity开发工程师两轮面经

昨天面试了快手Unity开发工程师,校招。连续两轮面试,从16:00面试到18:00,好累啊。
可能我简历里边放了太多Unity开发的作品,两个面试官前期主要就是问我做的项目。我巴拉巴拉说了好久,可能是时间关系,问完之后就直接做算法了
没有问那些基础题(比如C++,STL,计网之类的)各位不想看的可以跳过直接看算法
第一轮:
面试官是个年轻人,短发,估计是工作一两年的样子,面试地点在办公室,他戴着耳机,旁边比较吵,隐约听见几个人在聊天(话说快手面试的地方都这么随意吗...)
1.制作一个完整的Unity程序的大致的一个流程是什么样的
(这个我结合了之前做的东西说了大概的流程)
2.挑一个你做的体量最大的项目说一说
(我就说了说我做的一个TPS游戏的项目)
3.你开发的这些Unity项目,用到了哪些设计模式,简述一下这些设计模式
(答MVC,FSM这类的,我的确是用了这些模式)
4.我如果要用Unity做一个人物角色,我需要获取哪些资源?
(答,就是要创建一个预制体吧?需要模型文件,贴图。材质,人物的话还需要骨骼动画,语音文件之类的
4.你做的这些东西有没有发布出来赚钱?
(额.....没有)
5.会C++吧,我们做一做算法题
算法题:把一个链表倒叙转置,不能创建新的节点,只能改变节点的指向。
这题在剑指Offer上有原题(还好我刷完了),我直接按照之前的思路写了不过因为第一次用这个编译器,写的时间有点长。
写完,面试官点点头,说好,我这里可以了,你等一会,一会还有第二轮。
第二轮:
面试官看样子是个北方人,比之前那位稍大一点,长卷发,面试地点应该是一个会议室,旁边比较安静,后边有个黑板写着什么看不清。
这个面试官一副没睡好的样子,昏昏沉沉的,我有点担心一会他看我简历会不会睡着。
1.你做的这些项目是老师要求的还是实习要求的?
(有些自己做的,有些是团队合作做的)
2.赚钱了吗(怎么这两个面试官都问这个问题...)
(答,没有)
3.你讲讲你做的这个中国软件杯的项目,你是做了一个3D的可视化界面?怎么实现的?
(这个有点复杂,我巴拉巴拉讲一堆,时间过了一大半)
4.我们做做算法吧
算法题:给定一个只有0,1的矩阵,给你一个值为1的点的坐标,如果这个点的上,下,左,右有相邻的为1的点,就视为连通
给定的点的求最大的连通点的集合
我用递归的思路,遍历这个点的上,下,左,右四个方向的点。遍历到为1的点加入集合,然后令该位置的点为0;遍历到0则返回。做完和他讲了讲,他点点头。
说时间还够,再做一题。
算法题:
public class TreeNode
{
    public int val;
    public TreeNode Lchild;
    public TreeNode Rchild;
    public TreeNode GetFather();
}
给定一个二叉树,这个二叉树的节点有一个GetFather()的方法可以获取到该节点的父亲节点。
现在给你一个二叉树和两个分散的节点,求这两个节点的最近共同父亲节点。只要求返回节点,可以改变节点的值
我想了半天,给出一个方案:类似于双指针法:将这两个节点同时往父亲节点搜索,将子节点的值赋给父亲节点,一次移动一个距离,一直往上搜索。
会有三种情况:
1.两个节点在一个地方相遇,这个节点就是最近父节点
2.a节点比b节点速度快,那么当b节点在某一次搜索到其getfather()返回的是a的值,此时b节点的这个父节点就是最近父节点。
3.同2,a和b反过来。
写完了,面试官说对了,是这个意思。
反问环节:
1.问面试表现,回答不错,我这里是过了。(瞬间开心)
2.后序还有第三轮吗? 面试官说我不清楚,你等等看吧,说不定有23333333

所以我结束面试后又傻傻地等了半个小时,确定没有了才关了。

总结就是我算法题算是没白刷,有点高兴
以上
许愿,祝各位面试顺利

#面经##校招##快手#
全部评论
楼主你好,请问你是什么岗位?开发的话,是Java方向还是C++方向?或者其他语言方向
点赞 回复 分享
发布于 2020-08-07 16:51
兄弟,有人找你约了3面吗
点赞 回复 分享
发布于 2020-08-10 11:04

相关推荐

勇敢的联想人前程似锦:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
7 18 评论
分享
牛客网
牛客企业服务