Английская Википедия:Coding interview

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:Use mdy dates A coding interview, technical interview, programming interview or Microsoft interview is a technical problem-based job interview technique to assess applicants for a computer programming or software development position. Modern coding interview techniques were pioneered by Microsoft during the 1990s[1] and adopted by other large technology companies including Amazon, Facebook, and Google.[2][3] 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.[4][5] 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.[6] 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]Шаблон:Rp

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.[6]Шаблон:Rp 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.Шаблон:Cn

Typical questions that a candidate might be asked to answer during the second-round interview include:Шаблон:Cn

  • 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.
Файл:Open Manhole and Cover Mid-City New Orleans.jpg
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.[6][7] 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.")[6] to the philosophical.

By 2012, the practice of asking lateral thinking questions had declined at companies including Microsoft and Google. A study by San Francisco State University associate professor of psychology Chris Wright found that puzzle interview questions annoyed job applicants. "Methods that had a transparent relationship between test content and job duties, such as interviews, work samples, and reference checks were perceived more favorably," Wright wrote in a research paper entitled "Why Are Manhole Covers Round? A Laboratory Study of Reactions to Puzzle Interviews". Poundstone, who had written puzzle interview guides for Microsoft and Google, referred to puzzle questions in 2012 as "a sort of fad" that lost popularity because of a lack of evidence of their effectiveness.[1]

References

Шаблон:Reflist

Шаблон:Compu-stub