首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
展翅翱翔211
太原理工大学 Unity3D客户端
发布于山西
关注
已关注
取消关注
顶顶顶
@Emiliasaigao:
去年秋招面经分享,以及一些想对在校生说的话
前言我知道这个点,大家都是忙着找这个面经,忙着补那个基础知识点,忙着投简历,忙着和面试官斗智斗勇。。。废话不多说,先把我去年秋招前期记录的一些面经笔经分享给大家(至于为什么只有前期,因为秋招后期心态不好,很多面试不想记录了2333)。楼主的背景在以往的帖子里有,可以移步看看。笔经面经(游戏客户端/引擎、技术美术渲染向)43991.笔试记不太清了,应该是选择+问答的形式,问答是接近文本框答题的形式,不过能支持C++编译运行问答2题如果把硬币按第一行一个,第二行两个,第三行三个......依次类推的方式排列,给定硬币总数,返回这些硬币能够排列的行数给了一些二次元渲染的背景介绍,和几个提示,要求用hlsl或者glsl完善FragmentShader的内容2.面试(30min)距离笔试过去了快三个月才来的一面,讲道理不是很想面了,尤其是了解广州四大天坑的背景后,面试官人倒是挺好的,面试体验还不错自我介绍渲染管线深入了解过哪款具体引擎吗?你的渲染引擎做了哪些效果?讲讲延迟渲染和前向渲染的区别?局部坐标怎么转换成世界坐标的?Model矩阵怎么计算的?如果我要先位移再旋转,最后缩放,怎么体现在Model矩阵上?SSR是怎么做的?SSR怎么做优化?有用过抓帧工具吗?为什么想做游戏引擎这方面的工作?未来职业规划?反问进去都是做小游戏吗?具体使用哪些引擎?(大部分是基于maya的微信小游戏,也有在研UE项目)网龙游戏1.笔试(15单选5简答3编程60min)单选、简答都是很基础的C++问题15-20分钟差不多就够了3编程更简单:给定硬币价值数组,凑成指定金额需要的最少硬币数(硬币无限,力扣dp原题322零钱兑换)输入长度为3的字符串例“cba”,输出按ASCII码排序的字符串”a b c"(这是能出的?)给定A,B,n,求f(n) = (A * f(n-1) + B* f(n-2)) mod 7,其中f(1) = 1, f(2) = 1(注意Int上限,拆开来mod,dp秒了)2.一面(30min)面试官巨严肃和正式,没开摄像头,高考宣读式开场,问问题,有点像审判犯人一样(ㄒoㄒ)自我介绍详细讲讲介绍中提到的那些项目投屏展示自己的实时渲染引擎项目(我嗯讲了15min,后面就全问项目相关了)说下延迟渲染流程你说最后渲染占据屏幕的两个三角形就可以,那我能只渲染一个吗,一个三角形怎么操作(???给我问懵逼了)模板缓冲是什么,你是怎么用的?(举了个实际应用的例子)问了个windows UI相关的,没太听懂,说没接触过讲下CSM(本来懂的,但是猪脑过载了,不知所云了有点)超时了(打断胡言乱语),最后问一个,如何判断着色点是否在阴影中?3.二面(56min)这个面试官就人不错了,很认真的在听我说什么,然后根据我说的东西问问题,但是忘记录音了捏,回来整理的时候已经忘得差不多了事后自己发现有几个图形学的知识点没记清,搁那瞎说了(比如别人问SSGI怎么实现的,我猛说SSR和SSAO,事实上这不是同一个概念哈,然后别人问BVH怎么实现的,我SAH原理又讲错了,麻了),预感要挂果然挂了捏三七互娱1.笔试(11单选2简答1编程)逆天笔试,单选题正常考察C++、C#、Unity、网络协议什么的,简答是编程题但只说思路,编程是依托构式简答:玩家第一次进入boss区域需要播放动画,给定五个封印柱的坐标和玩家坐标,如何判断是否播放动画(投影到二维平面,然后用判断点是否在三角形里的思路就行)楼有N层,电梯只能停一次,还有一个在每层楼下的人数数组,问怎么确定电梯在哪层停使得所有的人下电梯后移动的层数最少(懒得想了,就这场景,直接遍历不是又快又好)编程:就给个txt文本框,还禁用了复制粘贴给定一个长为M的文本,以及长为N的模式串,找出文本中符合模式串的字串,并返回它的起始下标(原题就这样一句话,没有对模式串的任何解释,那楼主只能按自己理解瞎jb写了)巨人网络1.笔试(20单选+2编程)这笔试你就写吧,你将会收获毫无意义的一个小时抓狂的编码经验单选考C++、计算机基础、图形学基础编程三数之和(原题秒了)手撕解释器(万字长文的题目,有兴趣可以去牛客搜搜看看大伙的乐子,要模拟接近20个指令还要处理goto逻辑,算你牛逼,这分是吃不了一点)2.一面(30min)牛客面试出问题了,直接打电话来面试面试官很急,估计是人太多,一个问题十秒没回答出来就准备下一个了,不过会给大致告诉你答案,最后也会给你一个大致的评价,就还行不用自我介绍,上来就是说实习项目给定节点和边以及权值,问给定起点终点,怎样获取最短的连通距离(犹豫了一下,脑子里回顾了一遍笛卡斯特拉、贝尔曼和弗洛伊德算法,面试官着急,叫我从BFS或者DFS开始讲,最后想清楚后详细描述了弗洛伊德算法)讲讲单例模式以及它的使用场景讲讲观察者模式以及使用场景那如果有个大数据量排行榜需要实时更新的场景,客户端和服务端应该怎样设计基于观察者模式的程序框架?讲讲lambda表达式的使用和结构,thread编程用过吗,讲讲lambda表达式在这里怎么用的?thread的join和detach有什么区别?join方法会阻塞当前线程吗?如何删除vector< int >中指定的数,用什么标准库API?(讲了双指针原理,但面试官其实想问API的使用,但我脑子一抽忘了)反问什么时候出一面结果(当天)进去是先做什么岗?后续能转引擎吗 ?(先都是UI、Gameplay,引擎岗位置很少)莉莉丝1.笔试(2单选2简答1编程)又一个逆天简单的笔试单选:判断程序是内存泄露还是直接运行报错多线程下变量可能的输出值简答:如何判断系统大小端如何用最少的小白鼠试出47瓶药剂里的唯一毒药编程:LRU最久未使用缓存Funplus1.笔试(14单选7不定项3填空2简答1编程)题目有点多,就记录几个我还记得的填空如果按线性探测法解决哈希冲突,给定哈希函数,哈希表的地址为0-9,插入给定数组后,问某个元素最后存放的地址简答为什么要用齐次矩阵?写出右手坐标系下旋转z轴30度的二维矩阵,以及缩放物体0.5倍的矩阵。编程给定一个用户名和密码,需要用户名和秘密满足一系列的要求,返回用户名和密码是否符合要求剑心互娱1.笔试(3编程)个人觉得剑心的笔试一直都是中上偏难给定一个地图二维数组,0表示空地,1表示炸弹,点击炸弹会引爆,并且其周围一圈的炸弹都会被引爆,问至少需要点击几次炸弹才能引爆所有炸弹(深搜只干了90%,会爆栈,广搜直接超时)给定两个数组,分别表示天平两边的砝码,砝码重量在1~10g之间,现在给你无数个1~10g的备用砝码,问至少替换天平上的砝码多少次能使天平两边平衡(一次只能换一个砝码)?(贪心,AK)给定一个自然数n,问[0,n]区间内有多少个二进制回文数,要求复杂度低于O(n)。(尝试了提前计算拥有1-64位二进制位时至多会出现dp[i]个二进制回文数,然后计算n的二进制位数bitNum,以dp[bitNum-1]作为初始值结果,遍历[2^(bitNum-1)+1,n],如果是则初始值+1,虽然复杂度是低于O(n)的, 不过仍然超时了,0%)途游游戏1.笔试(30不定项3编程)这公司考点跟其他游戏公司不同,有些生疏了中等题都没做出来给定一个数组,每次只能从前或后取数据,取过的数不能再取,问给定k次取数的机会,取出的数总和最大是多少?(前缀和就能做,当时脑子一抽用回溯去写了直接超时)力扣原题424. 替换后的最长重复字符力扣原题480. 滑动窗口中位数(不会)麦吉太文1.笔试(20单选5多选2编程)单选两个不会的总和为1000的连续自然数组合有多少种?十个路灯,熄灭三个省电,边缘两个路灯不能熄灭,并且熄灭的路灯不能两两相邻,有多少种熄法?多选(还记得的)下列哪些排序的复杂度是Nlog(N):快排、堆排、冒泡、插入哪些HTTP请求方式是合法的:SET、PUT、HEAD、POST编程题要将一条街上的房屋粉刷成R、G、B三种颜色,现给定一行str,例如“1 100 100,100 1 100,100 100 1”,表示这一排有三个房屋,第一个房屋粉刷成R、G、B颜色分别需要1,100,100元,相邻的房屋颜色不能一样,问粉刷完这一排房屋最少需要花多少钱(处理输入有点点麻烦,涉及到stringstream的用法,处理完后就是普通的DP题,dp数组表示粉刷下标为i的房屋为j颜色时所需要的最少资金,dp[i] [j] = min(dp[i-1] [k], dp[i-1] [l]) + costs[i] [j];, AK)给定五个变量:needToTrain--需要锻炼的时长,minPulse--最低心率,maxPulse--最高心率,trainChange--锻炼后心率提升量, restChange--休息后心率下降量,每次休息和运动都是1分钟,休息不能使心率下降到最低心率以下。问要想不突破最高心率,并达到需要锻炼的时长,最少需要多长时间,如果永远无法完成,返回-1。(贪心,能运动就运动,实在运动不了再休息,AK)西山居1.笔试(7单选4填空2问答2编程)隔了一天才回来写的,其他的都忘了,就记得单选和填空都问了std::atomic变量的特性和用法,我是一点不会啊,直接爽吃零分编程给定4个vector,分别代表点P,三角形ABC三点的空间坐标,完成函数--返回点P到平面ABC的投影是否在三角形内部(这个没数学库和公式你就写吧,一写一个不吱声,后面写不出来恼羞成怒了直接return true骗点分)实现一个简易计算机,支持加减乘除和括号运算,括号优先级最高,乘除次之,加减最后,输入为类似“(1 + 2) * 3”,存在空格、数字、操作符的字符串,输出double结果(考察基本功咯,当时是用栈和递归写的,AK)Garena1.笔试(20不定项3编程)编程游戏人物会受到buff的影响,现给定n个buff的持续时间区间,问游戏人物总共受buff影响的时长(合并区间,贪心,AK)给定一个int值n,返回比n小的,与n的数字组合相同的,最大的正整数,例如(1243,返回1234),如果没有这样的数(以0为开头的结果也算是非法答案),返回0(转换成字符串,然后用标准库的prev_permutation处理一下,再转成数字返回就行了,AK)给定N组两个有序链表,返回N组链表合并并反转的链表结果(题目大意很简单,由于是ACM模式,你甚至可以直接将输入放到vector里然后用merge函数合并vector然后reverse输出就行,不过由于他详细描述了对链表的操作,所以还是依照题意写了ListNode结构体和mergeList、reverseList、printList之类的函数,AK)腾讯IEG天美工作室群无笔试1.一面(67min)无自我介绍,上来就是说实习项目项目是否上线使用介绍OpenGL渲染管线你的渲染引擎如何支持延迟渲染和前向渲染?两者的优缺点?(发散又讲了Forward+管线)如果我硬要用延迟渲染,并且要求场景中物体的光照模型不同,你怎么解决?(在GBuffer里再加个Model ID贴图?具体怎么实现我也不知道)你的实时阴影怎么做的?(CSM+PCF/PCSS/VSSM)CSM是什么,你怎么实现的?(详细讲了CSM的实现过程)为什么要用CSM?(节省shadowmap开销)讲讲PBR?(把微表面模型、能量守恒、菲涅尔效应、线性空间计算、色调映射讲了个遍,讲到后面思路突然断了,面试官忙说够了够了)计算完像素颜色后,还需要做哪些处理?(色调映射和gamma变换)为什么需要做gamma变换?(人眼对颜色的变化感知不是线性的)你怎么实现BVH的?(分层BVH结构)除了BVH你还了解什么空间划分加速结构?(kdTree、八叉树)你的简易标准库项目是以什么目的写的?是因为有额外的逻辑需求吗?(主要是为了学习,也是为了引擎项目能用自己的更轻量的标准库实现)引擎里用自己的标准库时有没有遇到什么问题?(没有,在投入引擎之前已经用别人写好的测试用例测试过了)了解游戏引擎的基本框架么?(Games104前言水平)了解哪些脚本语言?你的引擎项目有考虑后续加入对脚本语言的支持么?(C#、python、matlab,只是用过,理解不深,暂时不考虑加脚本功能)C++虚函数怎么实现的?深度搜索和广度搜索有什么区别?(两个常规八股了)反问引擎岗与客户端岗的日常工作内容有什么区别,能举实际例子吗?(一边注重于游戏内实际功能的实现,一边注重于底层架构如动画、渲染、物理系统的实现以及跨平台优化)引擎岗的新人如何培养?(先熟悉边缘模块,由简到难地分配任务,成长取决于个人的学习能力和积极性)2.二面(97min)自我介绍实习项目情况问询C++内存管理STL的细碎内存的申请和释放如何管理?(我做项目的时候偷懒没实现那个二级内存池,直接用的operator new,然后按照自己的理解说了下二级内存池的实现,大致说对了,不过还是被说为什么不去多了解底层)多线程了解过吗?(了解过,但理解不是很深)线程同步怎么做?(就会锁和条件变量)同步锁和互斥锁有什么区别?应用场景分别是?除了你的这个渲染引擎,你还有其他的渲染实践吗?(???问的啥?我都写小引擎了,有什么实践一般不都该写这里面吗?)你的实时阴影怎么做的?用CSM的话你怎么判断着色点是否在阴影里?为什么用bias?你怎么确定这个bias?用不好的话会造成什么问题?有没有注意过物体移动时你的阴影边缘的抖动现象?(没有诶。。说着我打开了共享演示了下项目,真有抖动)你觉得为什么会发生这种现象?(阴影贴图精度有限?bias取的不合理?)那如果不加那个bias,阴影贴图精度无限,还会有抖动现象吗?(墨迹半天,没答出来)了解哪些全局光照技术?(SSGI、DDGI,但是只实现了SSR和SSAO来模拟全局光照的效果)说说SSGI?(类似光线追踪,从屏幕每个像素发射一根射线到场景中,利用RayMatching模拟光线追踪,为了节省性能,一般降分辨率计算,生成有噪点的图,通过一些滤波操作后再升分辨率整合到最后的渲染结果里)为什么会有噪点?(因为是采用蒙特卡洛方法的随机反射,可能会采样到很亮的地方但是pdf又很小,或者采样到很暗的地方pdf又很大的情况)那你怎么知道光线交点的颜色?(事先存储的GBuffer里有存屏幕上每个像素点里的漫反射、法线、世界坐标等信息,然后RayMatching找到交点的uv坐标,直接查GBuffer就行)了解UE的lumen技术吗?(不太了解,只听说过,看过一些介绍lumen的博客)了解引擎的分层架构吗?(了解一点,Game104导读水平)了解引擎的对象系统吗?(不了解)手写shared_ptr,并完成功能测试(脑子有点空白,不过还是30分钟”秒了“)反问具体是天美的哪个工作室?(J5,做格斗类游戏的)日常研发主要是针对哪个引擎?(UE、Unity都有)新人一般进去是被分配做渲染/物理/几何/动画?(渲染比较多一些,具体做什么还是要看能力适配)这轮结束如果通过是三面还是hr面?(三面)3.三面(65min)面试官人很温和,技术细节方面没有再仔细追问,更多的是基础的考察自我介绍问实习项目平时怎么学图形学的内容?共享屏幕演示渲染引擎(聊了聊画面构成,包括阴影、环境光,因为最近在做BVH,就往那边聊)BVH怎么做到实时更新的?(第一,只局部更新树,第二,包围盒用顶点变换重新计算,而不是由变换后的三角形包围盒一路往上合成)视锥剔除怎么做的?为什么要用到BVH?除了视锥剔除还用BVH做了什么?元素相同的一个排好序的vector和一个map,做查找的话,哪个更快?为什么?你提到缓存结构,缓存是怎么工作的?为什么需要缓存结构?如何才算命中缓存或者说你是怎么查询缓存里是否有这个地址的?你用页表的话我缓存本来就小,那不浪费空间吗?(多级页表+快表?)你简历上提到你的vector尾部插入要比标准库快,为什么?你怎么实现这个插入操作的?实现一个二分查找,自行测试,15min(5min秒了)为什么没在EA转正?说说你的研究方向?这个分形岩石力学是什么?(详细聊了我的土木研究方向,笑死)反问叠纸游戏1.笔试(25单选2编程)单选考了数据库、计算机网络、计组、数据结构和C++编程给定一串包含元音字母和辅音字母的字符串str,要求你用str中的字符组合出一个最长的辅音字符不能相邻的新字符串。(签到题,记录下元音和辅音字符的个数就能返回答案的,AK)给定一个行为n列为m的地图,角色从地图左上角出发前往右下角的目的地,拥有一定初始血量h,地图中值为'*'的地方代表墙壁,不能走,'.'代表可走的路,'1'-'9'代表需要战斗并损失的血量,返回最短路径距离。(最短距离基本都用BFS哈,用unordered_set记录一下到达过的状态--位置和血量的哈希值,然后分情况讨论每一步能不能丢进队列里就行了,AK)2.一面(45min)面试官看起来有点像刚子(艹,尴尬的),纯游戏客户端Gamepaly那边的应该是,不太熟渲染这块,然后主要问了C++基础这边,问的几个场景题我都懵的一批,不会的都说没关系(那你转手给我挂了),反问的问题也都不知道,感觉是被迫来面我的,KPI,纯KPI自我介绍实习项目介绍TCP和UDP的区别?UDP如何做可以更可靠?(不会)假如背包栏有个粒子特效的物体,但我不希望它的特效出现在背包栏外面,渲染上应该怎么实现?为什么材质错误的时候,引擎里会显示为粉色?你的简易STL项目在标准库之上做了什么优化吗?那你了解红黑树吗?讲讲红黑树的原理?那你觉得什么场景用红黑树会比较好?unordered_map又是怎么实现的?哈希表是什么?为什么析构函数有时候需要设置成虚函数?那构造函数能设置成虚函数吗?为什么?两个有序数组如何合并?说说Unity脚本的生命周期函数?镜头跟随着玩家移动到某个位置消灭了敌人,这个过程你觉得三个Update相关函数里分别需要承担哪些工作?了解Assetbundle吗?(不熟)说说C++的智能指针?什么时候用shared_ptr?什么时候用unique_ptr?shared_ptr交叉引用会出现什么问题?如果有一个任务系统,是从剧情策划那边收到的开发需求,如何与策划交流分配这个需求来保证做的完善些?(老实说完全听不懂在说什么啊xd)反问面试流程安排?(不知道)进去之后怎么培养?具体干什么是双选吗?(不知道)诗悦网络1.笔试忘记记录了,一点想不起来了2.HR面(30min)跟聊天差不多,很多问题忘了,就列一些还有印象的自我介绍为什么选择游戏行业介绍实习项目,从中学到了什么?觉得个人做项目和与团队一起做项目有什么区别?介绍一下引擎项目?最近在持续更新指的是?怎么看待游戏行业项目上线前的加班?期望薪资?3.一面(30min)第一次打开会议面试官在那等我的,艹,我提前十分钟进的,然后就提前开始了自我介绍为什么转来游戏行业C++内存管理怎么做的?(预判了后面一系列的问题,包括malloc,虚函数表什么的,一并带着说了)介绍红黑树?(说了特性,平衡规则,左旋右旋操作)介绍四叉树?(直接引申到八叉树,顺便讲了下BVH的构建)说说渲染管线(这里提一嘴,如果你说了解图形学,那几乎每个技术面都会问这个问题,最好有自己的理解并且拓展开去讲,可以讲很长时间,或者至少要把八股背得滚瓜烂熟)前向渲染和延迟渲染的区别?(说的越全越好,尤其是延迟渲染的优缺点)你的实时阴影怎么做的?(老生常谈了,基本详细说完CSM面试官就觉得够了,如果让继续讲,后面PCF/PCSS/VSSM又能狠拖一段时间)反问主要是做哪款引擎开发(Unity)公司如何培养引擎新人(基础培训+一对一带教)进去后是做渲染/物理/动画?直接分配还是看个人选择(主要渲染,自己选择)4.二面(35min)已经轻车熟路,回答问题还带点预判,导致后面面试官好像有点不知道问什么自我介绍怎样理解对象和类这些概念?string和string相加,怎么实现底层逻辑的?(我说了解一点Java的实现,他说没事就说C++的就行,那vetor< char >的相加,有啥好说的,就拿个新的vector< char >存相加结果呗)视锥剔除怎么做的?部分在视锥范围内的物体怎么处理?(层次BVH,相交的Model不剔除,渲染Model时再查询Mesh层级的BVH剔除Mesh)前向渲染和延迟渲染的区别?(居然不问渲染管线就开始问这个,那我只好渲染管线起手)半透明物体和非透明物体在一起怎么渲染?(排序Or非排序技术)怎么优化透明物体、非透明物体的渲染?(PreZ+EarlyZ)透明度测试和透明度混合有什么区别?(一个是用来判断是否丢弃片元的,一个是用来混合片元颜色的)你的实时阴影怎么做的?(讲了CSM就不让说了)平时爱玩什么游戏?(能开黑的)LOL走什么位置?(野王,大师段位,骄傲地说)用Unity做过游戏对吗?(想共享屏幕演示来着,不让,说时间不够)了解过合批技术吗?(静态合批+动态合批+实例化)为什么要减少DrawCall?(CPU和GPU通信慢,重新设置渲染状态耗时)延迟渲染手机支持不好为什么?(带宽高带来的高耗电和高发热问题)你说的TBR和TBDR架构是怎么解决这个问题的?(OnChip芯片 + Tilling + 懒渲染)反问公司引擎部介绍?引擎部加班多还是客户端那边加班多?(两边都笑了,说是客户端赶进度的时候加班多,引擎部算中台,一般准时下班)字节跳动智能创作(渲染引擎工程师)1.一面(76min)中途才开始录的,前面忘了左值引用和右值引用的区别?右值引用在模板编程里还有什么作用?转发参数时如果不用forward有什么后果?多线程同步怎么做?进程通信怎么做?vector你怎么实现的?你说扩容时源元素挪到新的内存区域时,如果有移动构造函数会优先调用,这是怎么实现的?push_back和emplace_back的区别?unordered_set你怎么实现的?如何解决哈希冲突?哈希表如何扩容?map怎么实现的?红黑树是什么?了解过拓扑排序吗?BFS和DFS?BFS和DFS怎么保证遍历过的节点不再遍历?讲讲PBR你怎么实现的?物体的金属度怎么影响最终的颜色?粗糙度呢?mipmap是用来干什么的?三线性插值怎么做的?手撕 给定一个数组,返回第k个最大值,自行处理输入输出和设置测试用例(选择快速排序秒了)你的算法时间复杂度是多少?现在要求我给定一个类名,你返回一个对应类的对象给我,你怎么设计类和机制?(写了个简单工厂模式)你这样那我要是有很多类呢?(抽象工厂模式?但是好像也不能解决给类名字符串返回类啊,放弃了。后来想了想,好像可以用一个unordered_map存string和用于获取对象的functional,然后每有一个这样的类我就往里存一对键值就能解决这问题了,操了)反问跟游戏引擎渲染工作的区别?(更像游戏客户端工具开发)工作室规模?(桌面端几十人)base哪里?(北京、深圳或上海,我寻思才几十人还分多个地方啊?)波克城市1.笔试(7问答)纯文本框答题,禁用ctrl c v,恶心的一回答几个sizeof的结果线程和进程的区别,进程和程序的区别?C#里String和StringBuilder的区别?Unity脚本的重要回调函数有哪些?编程题,给定两个由0和1组成的字符串,返回二进制相加的结果字符串。编程题,热题一百,有效的括号编程题,给定数组,实现空间复杂度尽可能小的排序算法网易互娱1.笔试(3编程)就三道大编程给定数字n代表商品种数,k代表当天的销量限额,数组a代表商品的进货价,数组b代表商品的出售价,数组c代表商品的个数,问当天的最高利润是多少?(贪心,ak)有这样的数字矩阵,尺寸为n×m,矩阵初始时,从左上角往右下角按遍历顺序值依次为1-m*n,给定k,x,y分别代表操作的类别,操作的参数:操作1,交换x行和y行;操作2,第x行向左移动y个位置(轮转数组);操作3,查询第x行y列的矩阵元素值。输出每次操作3的结果。(直接模拟矩阵会爆内存,所以只能记录矩阵第一列的值,根据第一列的值来查询结果,ak)给定n个功法,功法由左界能力值L,右界能力值R,修炼时间T,能力增幅D描述,现在能力从0开始,达到功法的能力值范围内会自动激活该功法,修炼时间结束时若该功法还是激活状态则会获得其能力增幅,功法的激活状态是实时的,如果当前能力值超出功法能力值范围,则会使该功法失效,问最终无功法可练时(每个功法只能修炼一次)能力值是多少。(构造功法的struct——由上述四个数据和功法结束时间ET组成,按照左界排序功法数组,用一个优先队列——以结束时间排序的小顶堆,先遍历功法数组将初始能激活的功法加入优先队列中,当优先队列不为空,取出堆顶功法获取其能力值,并调整当前时间到其结束时间,继续取出结束时间相同的功法获取能力值,继续遍历功法数组,将能激活的功法都加入优先队列,如此往复直到优先队列为空退出循环,感觉思路没问题,但死活只能过20%)2.一面(83min)基本全答出来了,可惜最后一问没答出来还被冠以了计算机基础差的印象自我介绍平时怎么学习图形学?看过Unity,UE源码没有?说说C++的共享指针?weak_ptr是怎么工作的?shared_ptr是线程安全的吗?构造函数可以是虚函数吗?虚函数机制?虚函数表什么时候构建的?存在哪?虚函数表怎么构建的?内存空间连续吗?虚函数表除了虚函数地址还存了别的其他什么东西吗?如果一个基类函数不标明为virtual,子类重写了这个函数,那指向子类对象的基类指针调用该函数会发生什么?只有纯虚函数的类有虚函数表吗?子类不实现纯虚函数会怎么样?在什么时候会报错?会报什么错?说说vector的扩容机制?说说list的实现?如何高效的查找有序的list里的元素?list二分查找的复杂度是多少?(O(n),我当时没想出来)如果考虑空间换时间,时间复杂度可以是多少?(这里脑子抽了,我说分别存储每一次list二分之后的结果,存储在vector里,然后二分的时候只需要比较尾节点,然后转移到对应的list里进行下一步查询, 事后感觉应该是想引导我说,把list用vector存一遍,然后在vector上做二分)说说优先队列的实现?堆是怎么实现的?插入数据的时间复杂度是多少?插入的逻辑是怎样的?你的渲染引擎是怎么考虑跨平台的?你写的shader是怎样在目标平台运作的?shader里你是怎样采样贴图的?讲讲API的使用?textureLod怎么用?如果不提供level,GPU怎么知道要采样哪一层的Mipmap呢?(通过贴图uv在屏幕上的变化率决定)你刚刚说的u对x,v对y的偏导里的x和y是什么坐标?除了这个坐标空间还有哪些坐标空间?三线性插值是怎么做的?讲讲OpenGL的一个渲染管线?顶点的裁剪坐标空间坐标怎么得到的?后续会被怎样处理?NDC标准空间的xyz取值是多少?锯齿是怎么形成的?在哪个阶段生成的?有哪些抗锯齿手段?MSAA和FXAA有什么区别?MSAA的硬件实现是怎么做的?FXAA怎么做的?实时阴影你怎么做的?点光源的阴影要怎么实现?只能是生成CubeMap吗?不能生成Texture2D吗?(傻了,忘记CubeMap可以展开在一个Texture2D上或者干脆用柱状投影图了,我说你非要搞那就整一个Texture2DArray)你实现BVH的目的是什么?视锥剔除有必要吗?不是裁剪阶段也会做剔除?平时渲染方面怎么Debug?如何优化shader的效率?为什么尽量不要写if/else语句?那什么时候能用呢?减少采样操作?怎么减少?哪些采样操作可以移到CPU做?如果必须要采样呢?怎样做优化?以PCSS为例?为什么尽量少做那些复杂的数学运算?反三角函数,矩阵的逆什么的?线程和协程的区别?(太久没看真忘了,支支吾吾嗯是说不出啊,早知道直接说不知道了)那线程和进程的区别呢?反问?图形开发工程师隶属于什么部门?引擎部?中台?(统一校招,进去之后再细分,可能进项目组可能进中台)这个职位入职的培训和游戏开发那边的培训有什么区别?(差不多也是miniGame,内容上可能区别比较大)可以知道具体的工作室吗?(进去之后双选)如果我想胜任图形开发工程师这个岗位,需要再巩固加强哪些方面?(被说计算机基础不牢固了,奶奶滴,我就那个协程没说好嘛!(ㄒoㄒ))3.二面(67min)自我介绍自己写的渲染引擎,有做openGL以外的API实现吗?(做了抽象,支持但还没做其他API的实现)材质是如何实现的?(PBR材质,包含几个固定的贴图类型)如果某个物体它需要额外的材质呢,比如一些自发光的地方的贴图,你怎么处理?(在延迟管线的基础上做单独的前向渲染?)实习项目介绍?虚函数怎么实现的?(后面纯八股的就不写回答了)如果同时继承了两个有虚函数的父类,子类对象的内存模型是怎样的?C++的几种cast?dynamic_cast怎么实现的?type_info存在哪?虚函数表里吗?说说lambda表达式?值传递和引用传递有什么区别?值传递的话,这个临时变量存在哪?(函数栈空间?)函数调用时实际上会执行哪些步骤?调用inline函数呢?静态成员变量的生命周期是怎样的?两个进程是否能共享同一个静态变量?(不能,不同进程有不同的内存空间)那如果是父进程和子进程的关系呢?(还是不能,子进程只是复制父进程的内存空间,并不共享)如果父进程修改了这个静态变量然后创造子进程,子进程那边访问静态变量是修改前还是修改后的值呢?(修改后的)两个单链表寻找交点,说思路(力扣160,相交链表)说说基础的渲染管线模板测试没通过的话会怎么样?(首先模板缓冲区的值会根据你设置的glStencilFunc和glStencilOp来决定,可以是不变,可以是被替换成指定值,其次没通过模板测试的片元会被直接丢弃)如果一个三角形有一个顶点不在这个裁剪空间范围内,会发生什么事情?延迟渲染和前向渲染有什么区别?(着色和深度测试的先后,透明物体的处理,MSAA的支持,多光照模型的支持)移动端实现了一些比如hsr的技术,会在渲染前做一遍类似Pre-z的操作,其实最后也是只渲染了顶层的片元,用了这些技术后,前向渲染和延迟渲染还有什么区别吗?(还提了在光源剔除方面处理手段不同)为什么延迟渲染不支持硬件AA,就是MSAA?说说你对PBR光照模型的理解?金属度如何影响片元的颜色?(F项,以及漫反射/镜面反射系数项)给定法线和入射光线,如何计算反射光线的方向?如何判断点在三角形内?反问还有后序技术面吗?(无,就两轮技术面)技术美术技术向和图形开发的工作有什么区别?(前者可能更注重美术效果的实现,后者更关注GPU的底层优化,可能会和硬件层打交道)如果要更好的胜任这份工作,有什么书籍或者是渠道提升自己?(建议直接啃Unreal源码)4.HR面(20min)自我介绍为什么确定了图形渲染方向的岗位?实习项目中,最有成就感的事情是什么?实习过程中最大的卡点是什么,怎么解决的?实习工作结束后有什么样的收获?你觉得你比起和你同届的同学,有什么优势?你目前还有哪些在流程中的公司?你觉得你是怎样的性格?反问一些非常有用的面经链接https://zhuanlan.zhihu.com/p/417640759https://zhuanlan.zhihu.com/p/430541328https://zhuanlan.zhihu.com/p/499548836https://zhuanlan.zhihu.com/p/157355850https://zhuanlan.zhihu.com/p/577501864https://www.nowcoder.com/discuss/590687392735014912?sourceSSR=searchhttps://www.nowcoder.com/discuss/554625545242169344?sourceSSR=searchhttps://www.nowcoder.com/discuss/353159115046330368https://www.nowcoder.com/discuss/543596390270640128https://www.nowcoder.com/discuss/418816282630385664?sourceSSR=searchhttps://www.nowcoder.com/discuss/353158849718853632?sourceSSR=usershttps://www.nowcoder.com/discuss/549035786960683008一些非常有深度但说人话的技术博客https://zhuanlan.zhihu.com/p/316138540https://www.jianshu.com/p/ffb7f9c13c3d***************************************************************https://blog.csdn.net/runmasterdd/article/details/139223804太多了不一一列了,知乎是个好地方自己想学什么就多搜搜吧!写在后面先说结论吧,最后是春招签了心心念念的米忽悠。刚刚拿到offer的时候,是思绪万千的,是有很多话想分享的。但自那之后,忙碌毕业,忙碌搬家,忙碌入职,忙碌MP,直到现在都没能真正闲下来哪怕一天,这个时候剩下来的也只有最想说的几句话了。(或许以后兴起了会回来记录一下自己当初的心路历程,但大概率鸽送给应届生简历非常重要,不要写废话,尽量一页以内,实习经历少时,学历>实习>项目,经历多时实习>>学历>项目笔试编程题部分力扣400题+跑不掉的,少了自觉补,记得复习408,笔试和面试都会有用秋招是一个运气>>实力的游戏,不要总是怀疑自己,沉下心准备,面试时要自信不要在面试经验少于十场的时候投递最想去的公司,大概率会寄及时复盘每场面试,尝试去总结并掌握面试技巧和套路,受挫后才会慢慢变强行百里者半九十,时刻都要拿出全力以赴的心态,绷住,把求职当作长跑,毅力比什么都重要加油!送给非应届生如果你的人生目标不是科研也不是机关,尽早规划职业生涯,越早越好,早到你看到这句话的时候开始如果你想不清以后想要做什么,那你大概率在到真的要做出选择的时候还是想不明白,请你花一周、一个月,或者更长的时间做这个事情做好决定后,就把自己离校之前的时间分块利用起来,大阶段+小阶段细分的方式定好自己未来的学习内容和方向照着面经去学知识点是最快的,但如果不做总结和分类,串联起来会花很长时间想尽办法实习,或者写项目,不要说下次一定,放走一次机会,你简历上就少几行亮点要想同辈脱颖而出,就得有危机感,单独送给转码的朋友逃离动力和向往动力一定要有一个,如果都没有,劝你趁早放弃过程一定是艰苦的,是孤独的,是没有方向的,自律和坚定目标才是通向终点唯一的门票默默努力,然后惊艳所有人吧!最后的碎碎念我知道有人要说,光说要做什么,不做什么,不说怎么做,纯**废话。相信我,人教人是教不会的,只有在看到我这些话后,自己有搞明白“怎么做”这份主动性后,才能真正吸收一些有用的东西。当然要是实在不知道怎么做,可以在评论区问问(私聊大概率不回),我会提供一些我自己的经验,仅供参考。哦哦最后的最后,记得看我的内推帖子(内推码L6564),我在老米等你们!!!!
点赞 43
评论 10
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
今天 11:07
门头沟学院 测试开发
对自身实习的回顾感想
首先感谢上次发文, 牛友们的鼓励与建议. 希望我们能够在相互帮助之下越来越好.(错别字很多, 纯手打的, 不想校稿) 三个月的实习合同马上就要到了, 感觉继续下去收获不大, 同时想休息一段时间后准备暑期实习, 我没有选择续签合同, 决定离职. 对自身技术栈的不自信, 导致, 我并没有太多的往后端开发方向进行投递, 而是投递了大量的测试. 最终也是在11月底, 偶然间获得了一次实习机会. 现在来看, 其实还是运气占比较大的因素, 因为我现在综合来看, 当时组内有个新项目急需测试, 但是, 组内有几个人因为事假请假, 导致急缺人力. 所以, 我从boss上发简历到面试, 再到录取, 只花了3天. ...
点赞
评论
收藏
分享
02-21 16:28
上海交通大学 算法工程师
HTTP 和 HTTPS 区别
面试题简述我们平时开发时经常看到 HTTP 和 HTTPS,那你能说说它们之间的区别吗?为什么我们要用 HTTPS?它到底比 HTTP 多了什么?面试官想听的1、HTTPS 如何在 HTTP 基础上增加安全保障2、是否理解加密、认证、完整性的区别;3、能否举例说明浏览器访问网站时两者的不同面试回答举例HTTP 和 HTTPS 本质上都是应用层协议,用于浏览器与服务器之间传输数据。两者的区别在于:HTTP 是明文传输,而 HTTPS 在传输层加入了 SSL/TLS 加密层,实现了数据的加密、身份认证和完整性校验。举个例子:当我们访问 http://example.com 时,所有请求与响应的数据...
查看6道真题和解析
点赞
评论
收藏
分享
02-11 13:28
南昌大学 golang
大一上拿下大厂offer
各位老大们 长沙万兴怎么样啊,我现在有一家工资比较高的但是在北京小厂,一家就是长沙万兴
站队站对牛:
牛的 大一开挂了
点赞
评论
收藏
分享
01-26 11:19
华南农业大学 嵌入式软件开发
嵌入式简历春招准备求点评锐评
秋招的时候楼主简历不太好,主要没实习,项目也很一般,现在去刷了个实习,想在广深珠海,或者杭州找工作,求网友们点评一下简历,然后预计春招能找个薪资多少的工作,背景bg已写在简历上
点赞
评论
收藏
分享
昨天 15:37
科大讯飞_语言算法工程师(准入职员工)
禾赛科技内推,禾赛科技内推码
禾赛科技软件测试面经全程一个小时左右,需要写SQL和代码- 自我介绍- 项目提问- 项目里面的好友列表咋做数据库设计的- TCP四次挥手- python基本数据结构- 列表和数组的区别- 写SQL(用到分组、排序、聚合函数)- 写代码(输入一个数,各个位上两两交换位置,输出最大的数)全球激光雷达Top禾赛科技26届校招【企业介绍】全球领先的激光雷达研发与制造企业,全球激光雷达市占率No.1,美国纳斯达克上市。【开放岗位】商务类、产品类、项目管理类、销售类、系统类、芯片类、光学类、机械类、电子类、软件类、算法类、测试类、制造类【面向人群】毕业时间:2024.7-2025.12【工作地点】上海、杭...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
总结下秋招被问到的关于AI的面试题
2948
2
...
你们开工红包发了多少?评论抽2人送外卖券
2857
3
...
二十多岁,谁不是一边混乱一边找答案
1819
4
...
没有不拿offer的义务!
1759
5
...
双非大厂实习
1669
6
...
再战27暑期实习!!懂车帝Agent架构一面
1430
7
...
开水加点🍬
1022
8
...
小镇青年观察日志[大凸篇]
993
9
...
没想到我因为一件“小事”彻底破防了
882
10
...
实在智能Java二面面经 (仍需沉淀)
860
创作者周榜
更多
正在热议
更多
#
xx岗简历求拷打
#
5143次浏览
60人参与
#
牛客租房专区
#
160704次浏览
1933人参与
#
有转正机会的小厂实习值得去吗?
#
6735次浏览
77人参与
#
掌握什么AI技能,会为你的求职大大加分
#
5171次浏览
223人参与
#
开工第一帖
#
16876次浏览
324人参与
#
携程求职进展汇总
#
884960次浏览
5812人参与
#
你最讨厌面试被问什么
#
7155次浏览
90人参与
#
金三银四,你有感觉到吗
#
692767次浏览
6088人参与
#
哪些公司开春招了?
#
33576次浏览
205人参与
#
找工作时的取与舍
#
122735次浏览
877人参与
#
你学到的“最没用”的职场技能是
#
20285次浏览
154人参与
#
秋招提前批,你开始投了吗
#
718091次浏览
8443人参与
#
应届生,你找到工作了吗
#
107626次浏览
626人参与
#
毕业季等于分手季吗
#
54959次浏览
654人参与
#
面试反问你会问什么
#
167363次浏览
1717人参与
#
大家每天通勤多久?
#
90052次浏览
1006人参与
#
面试题刺客退退退
#
534298次浏览
7527人参与
#
工作不开心辞职是唯一出路吗
#
8516次浏览
30人参与
#
远程面试的尴尬瞬间
#
327572次浏览
1910人参与
#
记录实习开销
#
191094次浏览
1141人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务