#Graphics programmer interview questions

83 messages Ā· Page 1 of 1 (latest)

spare lion
#

I was asked many times to describe the graphics pipeline

#

also to describe various anti aliasing techniques

#

I've been asked various basic level math stuff like how to determine if a ray and triangle intersect

alpine pond
#

i was asked about TAA, gboofers, single layer water, and single pass downsampling

spare lion
#

oh yeah I was also asked about forward vs deferred rendering

light hare
#

All seem pretty reasonable thanks!

light hare
tame schooner
#

I remember being asked about barycentric coords and how they're used for attribute interpolation as well as to explain homogenous coords

spare lion
#

mesh shaders are 2018 tech and I got out of college in '21

ruby skiff
#

ive heard abt this and searched on google but i dont understadn when to use mesh shader

#

is it easier to use than vertex + framgnet

light hare
#

probably not

#

replaces the whole pipeline before the rasterizer

#

pretty cool but i haven’t played with them rly

ruby skiff
#

yeah idk

spare lion
#

it's not insanely complex but it's definitely more advanced/niche than good old vertex shaders

#

I mean it's more general, but usually you don't need the complexity that generality brings

ruby skiff
#

what does it have that vertex + fragment doesnt

light hare
#

more local units of work for the rasterizer that it may or may not prefer

#

and more fine grained culling

spare lion
#

you typically process a meshlet with one mesh shader workgroup which means you can share data between threads

ruby skiff
#

oh its easier to do culling ?

light hare
#

not really easier

spare lion
#

you have more freedom in how threads map to primitives so stuff like culling and geometry generation can be done more effectively

light hare
#

or less effectively

spare lion
#

and you get the task shader stage where you can do stuff like spawn or cull work without having to write to global memory

ruby skiff
echo hazel
#

They are very flexible and efficient. You can completely replace the vertex pipeline with them and outperform it.

They benefit from shared memory across the workgroup, and they bypass some fixed-function stages on the GPU that can be rapidly overwhelmed.

#

Here are some experiments by AMD

#

Also as others have said they are awesome at rendering parametric / procedural content

light hare
#

@knotty fern kind of related to general stuff but do you have any advice about stuff that's a little more on the techincal side in so far as potential topics or transitioning an answer into a more discussion type thing

knotty fern
#

all my interviews have been for tools roles

#

my advice is v much about your attitude towards the interview though

#

like often you'll get questions like "how would you do xyz"

#

questions like that are great bc you get pretty much all the space you want, and you can answer it how you want

#

like you can ask clarifying questions about usecases, requirements, etc. you can explore different options. you can go into how you'd go about figuring out how to do something

#

ofc if you're getting trivia questions like "what is strict aliasing" or "explain the graphics pipeline" there's much less space for this

#

but i am making the assumption that your interviewer is also competent and will give you that space at some point

#

unfortunately some people give terrible interviews and there's not much getting around that, but so far p much every interview I've had has had process questions like this

#

approaching them like puzzles to solve, bringing the interviewers into the process etc will get you much further than trying to give a correct answer

inner kiln
#

Knowing what rendering techniques you mentioned in your resume helps a lot (applies to entire resume tbh)

light hare
#

can't get caught lying red handed 😭

light hare
#

i got the nerves going and i still have a couple days

misty laurel
# light hare i got the nerves going and i still have a couple days

You can't afford to let the nerves keep you from exploring the job the way you need to during the interview. Your attitude needs to be that the job may not actually be a good fit for what you want. You've got to focus on that, and let your training speak for itself. What kind of team do you want to be a part of? How often do people move around on projects? Would you have freedom you want? Ask about their process and rituals, ask yourself whether that sounds good.

light hare
#

that’s all very true thank you

#

it’s industry change tho and seems like a rare opportunity especially now which is probably giving some rose tinted-ness

misty laurel
light hare
#

real and true much thanks

spare lion
#

jk lol I get it. it'll get better with experience and eventually you won't give a shit (i.e. you'll be confident)

light hare
#

i don’t have any percs

#

true

#

i’m confident but also nervous 😭

spare lion
#

is this your first time?

#

ime a lot of the anxiety comes from not knowing what to expect exactly. once you get some interviews under your belt you start to get a better understanding of what they might ask, what they expect of you, and your own abilities

#

when you have all three you can be pretty confident even when they ask you questions you don't immediately know the answer to, because you can spin it into a discussion about things you do know, or give honest "I don't know"s with the confidence that the other skills you display will more than make up for them

light hare
#

i’ve done a couple interviews but not for graphics

#

we shall see i’ll try to seem smart but not like a dickhead and be honest when i don’t know hopefully that’s enough šŸ™ and if it’s not oh well what are you gonna do

spare lion
#

number one is don't bullshit them

light hare
#

true

spare lion
#

if they ask you how to compute a ray triangle intersection and you don't know off the top of your head, just tell them. but THEN give it an attempt

#

like you might know what kind of tools you'd need to implement it, like ray-plane intersection

#

or something about barycoords

light hare
#

mr bayer trombone or wtv

#

moller trombore 😭

#

i’m cooked

spare lion
#

yes you can tell them that term

#

you at least know what to look up

light hare
#

reverse z??

#

that all makes sense tho

#

be honest and don’t be a dick😭hopefully you know enough

spare lion
#

also with a question like that they'll be looking to see if you understand linear algebra basics, like intuition for what dot products and cross products do

#

if you know those then you can slowly work out your own ray-tri intersection

light hare
#

i def need to polish the basics and have a somewhat not atrocious way of explaining them even if they make sense in my head

#

easy to move past em quickly to more exciting stuff and kinda forget foundational stuff

spare lion
#

yeah I be struggling with them myself sometimes

#

yesterday I was struggling to make a line rotate towards another line