Wednesday, July 16, 2014

Intel Bangalore interview experience

Applied a couple of times on the intel's job portal, but no reply. Later found some reference through my close friend and applied. Got a call the very next day itself! Here are some questions that I remember.

Telephonic was for half an hour.

  • OOps concept in C
  • MultiSampling AA
  • Difference btn SuperSampling and MultiSampling
  • Difference btn pixels and fragments
  • Why need device driver
  • Reasons for application crash
  • STL features used
  • Explain Shared pointer
  • Geometry shaders and usage
  • Tesselator and usage
  • Occlusion culling
  • Where you could have used geometry shaders in your project?
  • Explain tile-based rendering

Face2Face interview happened throughout the day from 10 AM to 5 PM by 7 different people one after another. A few questions were repeated across different interviewers. 


Round - 1
  • How to clear nth bit?
  • Sample vertex and pixel shaders
  • Rendering pipeline
  • How normals are transformed and why?
  • vpointer, vtable in C++ with example
  • Culling vs clipping
  • Different types of culling
  • Stencil test and usage
  • Some behavioural questions
  • Abstract classes and their usage
Round - 2
  • How to calculate distance between any two pixels
  • High level architecture of graphics application
  • Memory design in my game engine
  • Game engine concepts
  • Skeletal Renderer class 
  • Program to find next power of 2
  • Program  to find the only repeating number in a sequence
  • What does fragment contain?
  • Difference btn pixel and fragment
Round - 3 
I was very well prepared for algorithmic questions but got confused and screwed up this round.
  • LCA of binary tree
  • Anagram detection
  • Permutations of Strings
  • Sibling connections in binary tree

Round - 4
  • Why need GPUs? 
  • Why can't CPUs be used for rendering?
  • unions, bitfields, struct
  • Virtual classes and their usage
Round - 5
  • WAP to find the longest non-repeating sub-string
  • Different memory segments in C
  • Explain padding concept
  • Uses of static keyword in C
  • Why need Copy constructor in C++
  • Explain assignment operator
Round - 6
  • Rendering Pipeline in detail
  • Why ray-tracing is slow?
  • What is projection? different types
  • How 3d points are converted to 2D 
  • Various parameters involved for the above
  • Why need 'w' component
  • Why need NDC?
  • What is homogeneous system?
  • Texture filtering methods and why need them?
  • Explain mip-mapping and how particular mip-map level is selected
  • How texture is mapped?
  • What is an-isotropic filtering?
  • How texture sampling is done in fragment shader?
  • What is perspective correction?
  • Difference btn MSAA and SSAA? How edges are detected in MSAA?
  • Texture coordinates calculation
Round - 7
  • Books used for game engines, etc
  • Architecture of shared pointers, weak pointers
  • Spatial sub-division, scene graph and how they improve rendering speed?
  • Data structures for rendering, collisions
  • Why need depth buffer, when objects are sorted in back-to-front order
  • How animation is handled in the code
  • Data stored in animation files