Jump to content

Coding interview

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by White 720 (talk | contribs) at 04:01, 4 July 2022 (Innovation: Removes blockquote). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A coding interview, technical interview, programming interview or Microsoft interview is a technical problem-based job interview technique to assess potential employees. The technique was pioneered by Microsoft, and subsequently developed by other large technology companies including Amazon, Facebook, and Google.[1][2] Coding interviews test candidates' technical knowledge, coding ability, problem solving skills, and creativity, typically on a whiteboard. Candidates usually have a degree in computer science, information science, computer engineering or electrical engineering, and are asked to solve programming problems, algorithms, or puzzles.[3][4] Coding interviews are typically conducted in-person or virtually.

Innovation

Microsoft's interview style was distinctive in that it concerned technical knowledge, problem solving and creativity as opposed to the goal and weaknesses interviews most companies used at the time. Initially based on Bill Gates's obsession with puzzles, many of the puzzles presented during interviews started off being Fermi problems, or sometimes logic problems, and have eventually transitioned over the years into questions relevant to programming.[5] As William Poundstone wrote, "Puzzles test competitive edge as well as intelligence. Like business or football, a logic puzzle divides the world into winners and losers. You either get the answer, or you don't. … Winning has to matter."[6]

Example interview questions

The questions asked during a coding interview are crafted to determine a candidate's problem solving, coding and design abilities. Eccentric questions (such as Which of the fifty states would you remove?) test a candidate's ability to come to a decision and articulate it.[7] Candidates answering questions should consider the use of technology in the present and future, and user scenarios. Some questions involve projects that the candidate has worked on in the past.

A coding interview is intended to seek out creative thinkers and those who can adapt their solutions to rapidly changing and dynamic scenarios.[citation needed]

Typical questions that a candidate might be asked to answer during the second-round interview include:[citation needed]

  • What is the cosine law and how do you use this in real life situations?
  • Design a GPS navigation unit for a hiker.
  • Design a communication device for Canadian park rangers.
  • Shift all elements of a circular array by k bytes, using no extra memory.
A round manhole and its cover

Microsoft popularized the question of why manhole covers are typically round (in some countries) when they began asking it as a job interview question.[8][9] Originally meant as a psychological assessment of how one approaches a question with more than one correct answer, the problem has produced a number of alternative explanations, from the tautological ("Manhole covers are round because manholes are round.")[8] to the philosophical.

The practice of asking lateral thinking questions was later formally discouraged at Microsoft.[citation needed]

Programming language

If the interviewing position has specific programming language requirements, the candidate is expected to know those languages and solve the questions with it. If the interview is for general programming or development position, a thorough knowledge of one mainstream language such as C, C++, C#, or Java may be enough to get by.[citation needed] An interviewer may also allow use of other popular languages, such as JavaScript, PHP, or Perl.[citation needed]

References

  1. ^ Applicants blog after Google interview. Archived March 13, 2011, at the Wayback Machine
  2. ^ Job Interviews Get Creative, NPR 2003. Retrieved from the World Wide Web on January 16, 2006.
  3. ^ John Mongan, Programming Interviews Exposed: Secrets to Landing Your Next Job (2nd ed.), Wrox, ISBN 978-0-470-12167-2
  4. ^ McDowell, Gayle Laakmann (2015). Cracking the coding interview : 189 programming questions and solutions (6th ed.). Palo Alto, CA. ISBN 978-0-9847828-5-7. OCLC 913477191.{{cite book}}: CS1 maint: location missing publisher (link)
  5. ^ Poundstone, William (2003). How Would You Move Mount Fuji. Boston: Little, Brown and Company. pp. 50–90. ISBN 0-316-91916-0.
  6. ^ Poundstone, page 62.
  7. ^ Poundstone, page 67.
  8. ^ a b Poundstone, William (2003). How Would You Move Mount Fuji? Microsoft's Cult of the Puzzle – How the World's Smartest Company Selects the Most Creative Thinkers. Little, Brown. ISBN 0-316-91916-0.
  9. ^ Davis, Jim (February 10, 2009). "Why Are Manhole Covers Round?". Joblossguide.com. Archived from the original on June 12, 2011. Retrieved 2011-04-08.