4 ms·
It is funny that the author says to recycle the 1st edition and never show it to anyone. I actually failed to optimally solve an interview question because a to
by OnionBlender 2y ago
It is funny that the author says to recycle the 1st edition and never show it to anyone. I actually failed to optimally solve an interview question because a topic covered in the 1st edition was removed in the 2nd and other graphics books only have the O(N log N) solution instead of the optimal O(N) solution.
The problem was about vertex welding. Some books, like Real-Time Rendering, only mention the N log N solution.
I was annoyed after the interview and thought, which book would I have had to read to get this question right? The only 2 books I could find that had the optimal answer were the 1st edition of this math book and Real-Time Collision Detection.
I suppose if I was smarter I could have figured out the "bucket" trick. I find interviews too stressful to think clearly.
- qingcharles 2y agoWhat a petty interview :( Does the candidate have the desire and skill to find the correct answer given access to the right resources? That's what they need to ask. Not what is in the candidate's brain on the day of the interview. I've forgotten more than I know, but I know where to find it.
- smokel 2y agoDepending on the job, this might be (somewhat) reasonable. I'd assume that one could still get hired even if one failed that particular question, but showed some sense of understanding about the problem space. For many problems, someone tackling it might not even understand that there is a problem, and might have no clue where to start searching for answers. I've seen many developers who burn a crazy amount of hours by going down the wrong path, and then try to StackOverflow or Google their way out of the mess they initiated. It takes experience (either gained or learned) to avoid such traps. Then again, it really depends on the job. The interview question suggests this was not for a CRUD job, though :)
- OnionBlender 2y agoIt was for a 3D graphics programming job. Another question was about some low level assembly performance instruction trick. Afterwards I did the same thing and tried to figure out which text book I would have had to read to know the answer. I only found one Computer Architecture book that mentioned the instruction and that wasn't the book I read in university.
- johnnyanmac 2y agoI do not Envy a graphics programmer interview. There's at least 3 types of graphics programmers in the modern day and the questions couldn't be more night and day. Imagine studying these specific mathematical approaches but instead you're thrown shader trivia. Or super specific DirectX API calls.
- qingcharles 2y agoI've interviewed for 3D graphics jobs and interviewed others. I was definitely only interested in whether the person had the skill to find a solution. For my first 3D game dev job I just turned up with a floppy which had my 3D engine on it and got them to stick it in a PC. That was all that it needed to get hired. That and be incredibly naive about salary negotiations :D I also turned down a possible position at Argonaut at Star Fox time. I got that one by arguing repeatedly with Jez San on Usenet lol
- ChainOfFools 2y ago> Not what is in the candidate's brain on the day of the interview. A close sibling of this mentality lives in academia as well, manifested as that professor who bases 50%+ of one's grade on the final. Also, pass/fail filtering exams (and the cultures that endorse them) generally, such as the MCAT.
- CBarkleyU 2y agoAbout 80% of my grades in uni were 100% based on the finals. AFAIAA this is the norm for STEM in Germany. This was less true for my Master's and is generally less true for non STEM. I kind of liked it tbh
- djmips 2y agoCompanies don't tell interviewee's why the didn't hire them so are you sure it was these questions that lead to them passing on you? Often you are one among many interviewing at the same time and you may have been given a thumbs up yet someone with more experience is hired.
- johnnyanmac 2y agoClearly someone who read the first addition and provided the O(N) solution would be "more experienced" in this scenario. Meanwhile I wouldn't even know where to start if asked such a question. Is this a tech artist or animation programmer position?
- OnionBlender 2y agoIt was a C++ graphics programming job.
- OnionBlender 2y agoI agree that it isn't the sole reason why I didn't get the job. If I did great on the other 5 interviews, then my O(n log n) solution probably would have been fine. However, not getting the optimal solution didn't help.
- animal531 2y agoCan you share what the bucket trick is, I don't seem to be able to find anything by googling it. Thanks!
- OnionBlender 2y agoI also struggled to find the answer online. I found it in only 2 books. Chapter 12 of Real-Time Collision Detection has a section on vertex welding. The 1st edition of 3D Math Primer has it in Chapter 14.4.2: Vertex Welding. If you want to merge vertices that are within WELD_EPSILON then you can create a 3D grid of cells with cell sizes being at least as large as 2*WELD_EPSILON and put each vertex in its cell. For each cell, you only need to check the 8 neighboring cells to see if the vertex should be merged with a nearby vertex. The worst case could be worse than O(N) if most of the vertices end up in the same grid cell but don't require merging.
- animal531 2y agoAwesome thanks, grids work really well for a lot of optimization tricks.