套路男朋友的几个问题有关游戏的问题

努力加载中,稍等...
暂无新消息
努力加载中,稍等...
已无更多消息...
这些人最近关注了你
努力加载中,稍等...
已无更多消息
努力加载中,稍等...
已无更多消息
& 关于游戏开发的几个面试问题
Interview questions
征集热心朋友翻译文章,奖励规则:每100汉字奖励10QB,30天内互动奖励0 - 50QB.
翻译请求:申请翻译
该文章来自用户转载
Interview questionsPosted on Nov 5, 2016 Recently saw quitesome twitter discussions about good & bad interview questions. Here’s a fewI found useful.In general, the mostuseful questions seem to be fairly open-ended ones, that can either lead to amuch larger branching discussions, or don’t even have the “right” answer.Afterall, you mostly don’t want to know the answer (it’s gonna be 42 anyway),but to see the problem solving process and/or evaluate general knowledge andgrasp of the applicant.The examples below arewhat I have used some times, and are targeted at graphics programmers with someamount of experience.When a GPU samples atexture, how does it pick which mipmap level to read from?Ok this one does have the correct answer, but it still can lead to a lot of discussion. Thecorrect answer today is along the lines of:GPU rasterizeseverything in 2x2 fragment blocks, computes horizontal and vertical texturecoordinate differences between fragments in the block, and uses magnitudes ofthe UV differences to pick the mipmap level that most closely matches 1:1 ratioof fragments to texels.If the applicant doesnot know the answer, you could try to derive it. “Well ok, if you were buildinga GPU or writing a software rasterizer, what would you do?“.Most people initiallygo for “based on distance to the camera”, or “based on how big the triangle ison screen” and so on. This is a great first step (and was roughly howrasterizers in the really old days worked). You can up the challenge then bythrowing in a “but what if UVs are not just computed per-vertex?”. Which ofcourse makes these suggested approaches not suitable anymore, and somethingelse has to be thought up.Once you get to the2x2 fragment block solution, more things can be discussed (or just jump here ifthe applicant already knew the answer). What implications does it have for theprogramming models, efficiency etc.? Possible things to discuss:The 2x2 quad has to execute shader
instructions in lockstep, so that UV differences can be computed. Which
leads to branching implications, which leads to regular texture samples
being disallowed (HLSL) or undefined (GLSL) when used inside dynamic
branching code paths.Lockstep execution can lead into
discussion how the GPU what are the wavefronts / warps /
SIMDs (or whatever your flavor of API/GPU calls them). How
branching works, how temporary variable storage works, how to optimize
occuppancy, how latency hiding works etc. Could spend a lot of time
discussing this.2x2 quad rasterization means
inefficiencies at small triangle sizes (a triangle that covers 1 fragment
will still get four fragment shader executions). What implications this
has for high geometry density, tessellation, geometric LOD schemes. What
implications this has for forward vs deferred shading. What research is
done to solve this problem, is the applicant aware of it? What would they do to solve or help with this?You are designing alighting system for a game/engine. What would it be?This one does not evenhave the “correct” answer. A lighting system could be anything, there’s atleast a few dozen commonly used ways to do it, and probably millions of morespecialized ways! Lighting encompasses a lot of things - punctual, area,environment light sources, realtime and baked il direct and shadows, reflections,tradeoffs between runtime peformance and authoring performance, platformimplications, etc. etc. It can be a really long discussion.Here, you’reinterested in several things:General thought process and how do
they approach open-ended problems. Do they clarify requirements and try to
narrow things down? Do they tell what they do know, what they do not know,
and what needs further investigation? Do they just present a single
favorite technique of theirs and can’t tell any downsides of it?Awareness of already existing
solutions. Do they know what is out there, and aware of pros & cons of
common techniques? Have they tried any of it themselves? How up-to-date is
their knowledge?Exploring the problem space and
making decisions. Is the lighting system for a single very specific game,
or does it have to be general and “suitable for anything”? How does that
impact the possible choices, and what are consequences of these choices?
Likewise, how does choice of hardware platforms, minimum specs, expected
complexity of content and all other factors affect the choices?Dealing with tradeoffs. Almost
every decisions engineers do involve tradeoffs of some kind - by picking
one way of doing something versus some other way, you are making a
tradeoff. It could be performance, usability, flexibility, platform reach,
implementation complexity, workflow impact, amount of learning/teaching
that has to be done, and so on. Do they understand the tradeoffs? Are they
aware of pros & cons of various techniques, or can they figure them
out?You are implementing agraphics API abstraction for an engine. How would it look like?Similar to the lightingquestion above, there’s no single correct answer.This one testsawareness of current problem space (console graphics APIs, “modern” APIs likeDX12/Vulkan/Metal, older APIs like DX11/OpenGL/DX9). What do they like anddislike in the existing graphics APIs (red flag if they “like everything” -ideal APIs do not exist). What would they change, if they could?And again, tradeoffs.Would they go for power/performance or ease of use? Can you have both (if “yes”- why and how? if “no” - why?). Do they narrow down the requirements of who theabstraction users would be? Would their abstraction work efficiently onunderlying graphics APIs that do not closely map to it?You need to store andrender a large city. How would you do it?This one I haven’tused, but saw someone mention on twitter. Sounds like an excellent question to me, again because it’s very open ended and touches a lot of things.Authoring, proceduralauthoring, baking, runtime modification, storage, streaming, spatial datastructures, levels of detail, occlusion, rendering, lighting, and so on. Lotsand lots of discussion to be had.Well this is all.That said, it’s beenages since I took a job interview myself… So I don’t know if thesequestions are as useful for the applicants as they seem for me :)
关于游戏开发的几个面试问题
版权所有,禁止匿名转载;禁止商业使用;禁止个人使用。
翻译:赵菁菁(轩语轩缘)
审校:李笑达(DDBC4747)最近我在推特上看到了一些关于好&坏面试问题的讨论,这是我找到的一些有用的问题。 总的来说,最有用的问题似乎都是非常开放的,这些问题可以引出更广泛的讨论,或者甚至没有“正确”***。毕竟,大多数时候你不想要知道***(反正快到42了),但是你想要看到问题解决的过程,以及/或者评估申请者的大体知识和掌握情况。 下面是我有时会问的一些例子,主要针对于有一些经验的图形程序员。 当GPU取样纹理时,GPU怎样选择从哪个Mip贴图级别读取? 好吧这个问题确实有正确***,但是它还是可以引出很多讨论话题。目前正确***应该沿这个路线回答: GPU以2×2的片段块(fragment block)光栅化一切事物,计算块内片段之间水平和垂直纹理坐标的差异,并利用UV差异的大小挑选片段:纹理最接近1:1 Mip贴图级别。
如果申请人不知道***,你可以尝试提这样的问题:“那么,好吧,如果你正在建立一个GPU或编写软件光栅化器,你会做什么?“。 大多数人最初的***是“基于到摄像头的距离”,或“基于屏幕上的三角形有多大”等等。这是伟大的第一步(大致是光栅器在很久之前怎样工作)。你可以提升挑战难度,然后抛出一个问题:“但是如果UV不只是逐顶点计算的怎么办?“。这当然会使这些建议的方法不适合了,还必须考虑其他东西。 一旦你获得了2×2片段块的解决方案,能讨论的就更多了(如果申请者早已知道***可以直接跳到这里)。对于编程模型,这个解决方案有什么影响,效率还是什么?可能讨论的事情: ?2x2四边形必须步调一致地执行着色器指令,这样一来就可以计算UV差异。这会带来分支问题,从而导致当使用内部动态分支代码路径时,纹理样本经常被禁用(HLSL)或未定义(GLSL)。 步调一致的执行可以引入这样的讨论:GPU总体上是如何工作的;Wavefront / Warp / SIMD是什么(或者无论你喜欢API/GPU怎么称呼它们)。分支是怎样工作的,临时变量存储的工作原理,如何优化占有率,隐藏延迟的工作原理等等,可以花很多时间讨论这个。 ?2x2四边形光栅化意味着小三角的大小无效(覆盖了1个片段的三角形仍将有四个片段着色器执行)。这对于高几何密度、镶嵌和和几何LOD方案有什么影响?这对于提前和延迟着色有什么影响?为解决这一问题有哪些研究,申请人知道吗?他们会做什么来解决或帮助这个问题? 你正在为一个游戏/引擎设计光照系统,这个系统会是什么样的? 这个问题甚至没有一个“正确”***。光照系统可以是任何样子,但是至少有几十种常用的方法,甚至还会有几百万种更专业的方法!光照包括很多事情----准时,区域,环境光源,发光面;实时和烘焙的照明组件;直接与全域照明;阴影,反射,体积光效果;运行性能和编写性能之间的权衡,平台影响,等等,等等,这可以是一个非常长的讨论。
在这里,你会对几件事感兴趣: ?总体的思维过程以及他们如何处理开放式问题。他们能够明确需求并试图缩小范围吗?他们会告诉他们知道什么、不知道什么、什么还需要进一步研究吗?他们只是提出了一个他们最喜欢的技术而不能说出任何缺点吗? ?意识到已经存在的解决方案。他们知道方案是什么并且了解常用技术的优缺点吗?他们自己都尝试过了吗?他们的知识是如何跟上时代的?
?探索问题空间和做决策。该照明系统只能针对一个特定的游戏吗?还是它必须通用且“适合所有游戏”?这会如何影响可能的选择,这些选择的后果是什么?同样,硬件平台、最低配置需求、内容的预期复杂性和所有其他因素是怎样影响你的选择的?
?处理权衡。几乎工程师做的每一个决策都涉及到某种类型的权衡----通过选择一种方式或其他方式做一些事情,你正在做一个权衡。它可以是性能,可用性,灵活性,多平台覆盖,实现复杂度,工作流影响,必须进行多少学习/教学,等等。他们了解权衡吗?他们深知各种技术的优点和缺点,或者他们能把它们解答出来吗?
你正在为一个引擎实现图形API 抽象,它是什么样的? 与上面的照明问题类似,这个问题没有一个正确的***。 这一问题测验了对于当前问题空间(控制台的图形API,像DX12/Vulkan/Metal 的“现代”API,和像DX11 / OpenGL / DX9的旧的API)的认识。他们对于现有的图形API喜欢什么不喜欢什么(如果他们“喜欢一切”就给红牌----理想API并不存在)。如果他们能改变什么,他们会改变什么?
再接着问权衡的问题。他们可以带来功率/性能或易用性吗?你能实现上述两种效用吗?(如果“是”----为什么、怎样实现?如果“否”----为什么?)他们是否缩小了抽象用户是谁的需求?如果底层图形API不紧密映射到他们的抽象,这些抽象还能高效工作吗? 你需要存储和渲染一个大城市,你要怎样做? 这一个问题我没有提过,但我在推特上看到有人提到。对我来说听起来像是一个很好的问题,我再次强调一下,因为它是非常开放的,涉及到很多东西。
创作,程序编写,烘焙,运行时修改,存储,流媒体,空间数据结构,细节层次,遮挡,渲染,光照等。可以有很多很多的讨论。 好吧,这就是所有。 也就是说,这些问题对我很有用,但是我自己已经很久没有面试了……所以我不知道是否这些问题对申请人一样很有用:)
【版权声明】 原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权;
分类:程序新手圈
请勿发表无意义的内容请勿发表重复内容请勿发表交易类内容禁止发表广告宣传贴请使用文明用语其它
淫秽***政治倾向人身攻击抄袭剽窃广告刷屏恶意挖坟冒充他人其它
登录后参与讨论。点击最?游戏2第20关一共出现了多少个Z***
最?游戏2第20关问题是一共出现了多少个Z,这一关有些特殊,***不是固定的,下面为大家介绍过关方法。
本关注意一定要数牛顿睡着的时候有几个那个符号,注意最后一个问题画面也有一个,所以要加一。本关***不固定,注意最后一个画面中的那个符号也要加进去。
(责任编辑:)
关注“蚕豆网”微信公众账号
最新鲜的手游资讯,最麻辣的游戏测评,最全面的游戏攻略,还有那领不完的游戏礼包和最绿色的游戏下载,要啥有啥,应有尽有。
蚕豆网好游多
集游戏攻略、热门礼包为一体,为游戏玩家量身定做的手机游戏小伙伴!
绝地求生国服绑定steam帐号出现错误解决方法,绝地求生与steam服务器连接时出现了一个问题请稍后再试怎么办...[]
绝地求生国服终于要来了!已经在steam上购买的玩家,只要绑定就能免费登录了。然而今天虽然官网开放了老兵回...[]
绝地求生1.12老兵回归活动steam连接错误 steam无法绑定解决办法,很多玩家总是显示steam连接出现问题,那么...[]
奇迹暖暖荒漠之魅******汇总 荒漠之魅答题***查询、是不是有好多小伙伴不知道,那些还不知道的小伙伴快...[]
跳一跳怎么玩分数高 微信跳一跳玩法/辅助/***//外挂/高分公攻略。下面一起来看看吧。
跳一跳python使用教程
微信跳一跳python怎么刷分?下面一起来看看吧。[]
微信跳一跳辅助工具怎么用 跳一跳外挂辅助加分工具教程、是不是好多小伙伴不知道,那些还不知道的小伙伴快...[]
绝地求生国服内测终于有靠谱消息了!就在今天,绝地求生国服官网开启了有奖预约国服内测活动!所有官网预约玩...[]
恋与制作人是一款专门为女士推出的一款经典乙女向剧情手游,凭借出色的剧情吸引了不少“太太”粉,下面是安...[]
恋与制作人是一款专门为女士推出的一款经典乙女向剧情手游,凭借出色的剧情吸引了不少“太太”粉,下面是安...[]
游戏类型:
剩余数量:
游戏类型:
剩余数量:
游戏类型:
剩余数量:

参考资料

 

随机推荐