SlideShare a Scribd company logo
1 of 28
Download to read offline
How Indeed asks
Coding Interview Questions
An insight from conducting hundred of interviews for engineering at Indeed
About me (Github: wanasit)
Software Engineer @ Indeed Tokyo
● At the company for more than 7 years
○ (ex Hiring Manager)
● Interview Trainer (Coding interviews)
○ I have coached other interviewers
○ I have written interview questions
About this presentation
● Disclaimer: This presentation is NOT written by Indeed
○ Mostly based-on my research and personal experience about
interviewing (not only, but mostly, @Indeed)
● Goal: To hopefully raise the standard for interviewing experience
among tech companies and engineers in Japan
○ To help the companies identify the right engineers
○ (= To help more engineers get job)
Agenda
1. About Structured Interviews
○ How Indeed (and other tech companies) organize the interview process
and its principles.
2. About Coding Interviews
○ Format and interview approach
○ About choosing questions and training interviewers
3. Tips for taking coding interviews
○ Probably uncommon advices from the interviewer’s perspective
Structured Interviews
Use Structured Interviewing
At Indeed (Google, FAANG), we use Structured Interview(s):
● Structured interviews != Coding interviews (not exactly)
● From Google research (supported by previous other researches)
○ The only scientific proven prediction for performance after hiring
○ Having the structure is more important than the questions or
exercises you use (coding or not).
Unstructured Interviewing
● A interviewer (a manager or engineer) ask arbitrary questions:
○ "Tell me what is your strength and weakness” , "How many golf balls would fit
inside a 747 airplane?", “Could you implement binary search in Java?” …
○ (then, decided with arbitrary reasons on what/how they are good answer)
● Problem: “Everyone think they’re good at interviewing”
○ They often believe they “understand” and “see-through” the candidate
○ (This also includes the speaker :p)
Structured Interviewing
1. Use a well-designed interviewing process
○ A standardized set of interviews, questions, and exercises
○ A shared understanding of what good (feedbacks, rubrics, etc)
2. Provide interviewer training and calibration
3. Be aware off and counter subjective bias(es)
(+ Constant review and adjustments)
Indeed’s Interview Process (SWE)
1. Phone Screen Interview or Karat (Whiteboard-like 30-60 mins)
2. The main/on-site interview (1-2 day)
○ x2 Whiteboard Coding Interview (aka. Coding Interview)
○ x1 Architecture Interview (aka. System Interview)
○ x1 Code Review Interview
○ x1 Resume Deep-Dive Interview
3. Team matching and hiring
** Note: All above are constantly reviewed and subjected to change
Bias or “Personal soft-spot”
Each interviewer rates engineer as good/bad based-on observations
(subjective or objective, technical or non-technical)
● “His English is difficult to understand…”
● “He doesn’t write tests…”
● “He can implement X algorithm in y min!!”
● …
However, are these reliable signals? e.g. what if this one candidate (in this one
interview) happen to have a bad day (and forgot to write test)? or vise versa?
To counter the bias
Don’t interview alone (Avoid: A single point of failure).
Have multiple independent interviews
Also, make sure they are really “independent” e.g.
● Interviewers are not allowed to discuss until the debrief
● More junior interviewers always speak first
● Or, at Google, the interviewers do not even attend the debrief discussions
Coding Interviews
Coding Interviews
● aka “Whiteboard Coding Interviews” (or just “WB interviews”)
● You are expected to solve a programming problem on a whiteboard
or an online shared document
○ You are expected to write realistic “workable” code (no pseudo code, no
hand-wavy explanation)
○ A session is 45~60 minutes. Typically a single problem (but some companies,
e.g. Facebook, may ask you solve multiple easier problems)
The Interviewer Objectives
1. (Primary) Get the signals on candidate technical skills
○ “(in 1 hour) form a strong opinion about the person if the person would work
productively as an engineer at Indeed”
○ Keeping the candidate focus. Hint or unblock if necessary.
○ Avoid telling candidate what to do, only point out the relevant facts/problems.
2. (Optional) Keep the experience positive
○ Keeping things challenge for his/her experience level.
○ Avoid pressuring he/she (whether he/she is doing well or not)
The Interviewer Training Progression
● Student
○ Pick an interview question. Shadow (observe) interviews on that question.
○ (Also, encouraged to beta-test asking that question to other engineers)
● Leading with Shadow
○ Start asking the question to the candidate.
○ Reversed shadowed by more experienced interviewers (on that question).
● Graduated
○ Is allowed to solo interview and reversed shadow
Choosing Interview Questions
● Relevant and practical
○ A realistic problem with common data structures (no “exotic” data structure
and algorithms)
● Challenging (in a good way)
○ Avoid a single "Aha" moment or “either you know or you don't” questions.
○ Has multiple ways and layers. Requires thoughtful design and implement.
● Robust / Easy-to-ask
○ Agnostic to programming language, frontend/backend experience, etc…
Choosing Interview Questions (2)
Above-all-else: Always try the questions with engineers in your company
● Note how far/fast can the interviewees solve
● Note how many different ways people can solve the problem
○ Or different ways people fail at the problem
○ (e.g. most candidates missing that single "Aha" insight, TypeScript is
easier than other platform, …, etc)
Tips for taking coding interviews
Tips for taking coding interviews
Disclaimer: Personal opinions. Not guarantee the results.
(but so as other advices on the internet)
1. Practice: Coding skill > Algorithms
2. Practice: Foundation > Puzzle solving
3. Write Clean Code
1. Coding Skills > Algorithms
● (from my experience, in contrary to what most people say)
● The #1 reason people fail is: not be able to do programming well
○ Not because their lack of algorithm knowledge
○ This require “normal” programming experience you could gain
at work (or school)
■ However, this still requires deliberate practices (e.g. code review,
pair programming, side projects, …, etc)
1. Coding Skills > Algorithms
● You should be able to turn your ideas into code proficiently
○ In a programming language of your choice (Some libraries are ok)
○ No pseudo code, no hand wavy explanation. If you cannot do what you said
should-be-done, it is not useful
○ If you couldn’t or could “barely” solve the problem with code, it is unlikely that
you’d be able to employ more sophisticated techniques
● You should understand your code in details
○ e.g. how the data are moved, stored, organized, etc.
2. Foundation > Puzzle Solving
What we hope
candidates prepare
What candidates often
actually prepare
2. Foundation > Puzzle Solving
● When you “over-practice” puzzle solving
○ Harm engineering practice (e.g. you would not write code like this in real life)
○ It’s visible in the interviews (e.g. no principle/analysis/.., suddenly the solution)
● Focus on getting hired vs improving your foundation:
○ Study/review the courses or textbooks would help you be a better engineer.
○ And it’s compounded even if you don’t get hired now.
● My recommended is 7:3 (or 8:2) Studying/LeetCode-ing
3. Clean Code Matters
Myth: “The interviewers don’t care about is your code quality (as long as
it solve the problem efficiently)”
● First, this is wrong. Most interviewers do care.
● Second, (even if it’s true) it is missing the point…
○ You are NOT only writing the code for the interviewer
○ You are writing the code for yourself
3. Clean Code Matters
● Because you don’t really have time or energy to debug later…
○ Do not ever think that the interviewers will not spot your bugs
● You should write code as “clean” as possible
○ (whether in production or interview)
○ Use good naming.
○ Use good abstraction (private methods/functions)
○ Be able to reason about your code at each routine
Summary
Summary
● For Employers/Interviewers
○ Use structured interview(s)
○ For coding interview:
■ Choose the right interview questions (or exercises)
■ Train/Calibrate interviewers on the question
● For Students/Interviewee(s)
○ Practice programming well (before doing difficult algorithms)
○ Spend time to understand the foundation (not just LeetCode puzzle)
Investment Cost on Interviewing
How much it cost Indeed to interview an engineer:
● x5 interviews each with 1-2 interviewers
● 1h interview + 1h feedback/discussion (+1h practicing)
● => 20~30 hours (aka. a whole weekly sprint for one engineer)
e.g. if we want to hire 3 engineers and the interview passing rate is 20~30%,
then, we would have 10~15 interviews. Remove X sprints from the roadmap…

More Related Content

What's hot

FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
Hideo Harada
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
Takahiro Inoue
 

What's hot (20)

FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
 
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and DracutIntroduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
 
PostgreSQL + pgpool構成におけるリカバリ
PostgreSQL + pgpool構成におけるリカバリPostgreSQL + pgpool構成におけるリカバリ
PostgreSQL + pgpool構成におけるリカバリ
 
VMworld 2017 Core Storage
VMworld 2017 Core StorageVMworld 2017 Core Storage
VMworld 2017 Core Storage
 
Priority Inversion on Mars
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
Monitoring IO performance with iostat and pt-diskstats
Monitoring IO performance with iostat and pt-diskstatsMonitoring IO performance with iostat and pt-diskstats
Monitoring IO performance with iostat and pt-diskstats
 
Real Number Modeling (RNM) 超・初級編
Real Number Modeling (RNM) 超・初級編Real Number Modeling (RNM) 超・初級編
Real Number Modeling (RNM) 超・初級編
 
2022 COSCUP - Let's speed up your PostgreSQL services!.pptx
2022 COSCUP - Let's speed up your PostgreSQL services!.pptx2022 COSCUP - Let's speed up your PostgreSQL services!.pptx
2022 COSCUP - Let's speed up your PostgreSQL services!.pptx
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
 
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slaveMySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
自作GPUへの道
自作GPUへの道自作GPUへの道
自作GPUへの道
 
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...VirtualBox と Rocky Linux 8 で始める Pacemaker  ~ VirtualBox でも STONITH 機能が試せる! Vi...
VirtualBox と Rocky Linux 8 で始める Pacemaker ~ VirtualBox でも STONITH 機能が試せる! Vi...
 
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のかIIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
IIJmio meeting 25 スマートフォンはなぜ「つながらない」のか
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチをOSTree: OSイメージとパッケージシステムの間にGitのアプローチを
OSTree: OSイメージとパッケージシステムの間にGitのアプローチを
 
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
MongoDBを用いたソーシャルアプリのログ解析 〜解析基盤構築からフロントUIまで、MongoDBを最大限に活用する〜
 
Why TPM in Automotive?
Why TPM in Automotive?Why TPM in Automotive?
Why TPM in Automotive?
 
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
 

Similar to How Indeed asks coding interview questions

How to Pass an Interview for Software Engineer
How to Pass an Interview for Software EngineerHow to Pass an Interview for Software Engineer
How to Pass an Interview for Software Engineer
Doncho Minkov
 
Atd advanced topicsworkshop
Atd advanced topicsworkshopAtd advanced topicsworkshop
Atd advanced topicsworkshop
lisacrispin
 

Similar to How Indeed asks coding interview questions (20)

How to become Industry ready engineers.pdf
How to become  Industry ready engineers.pdfHow to become  Industry ready engineers.pdf
How to become Industry ready engineers.pdf
 
Karat at CMU
Karat at CMUKarat at CMU
Karat at CMU
 
Ace the Tech Interviews - www.hiredintech.com
Ace the Tech Interviews - www.hiredintech.comAce the Tech Interviews - www.hiredintech.com
Ace the Tech Interviews - www.hiredintech.com
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016
 
How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
 
Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019
 
Cepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptxCepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptx
 
How to hire frontend engineers
How to hire frontend engineersHow to hire frontend engineers
How to hire frontend engineers
 
How to Pass an Interview for Software Engineer / IT Specialist?
How to Pass an Interview for Software Engineer / IT Specialist?How to Pass an Interview for Software Engineer / IT Specialist?
How to Pass an Interview for Software Engineer / IT Specialist?
 
How to Pass an Interview for Software Engineer
How to Pass an Interview for Software EngineerHow to Pass an Interview for Software Engineer
How to Pass an Interview for Software Engineer
 
What Are the Basics of Product Manager Interviews by Google PM
What Are the Basics of Product Manager Interviews by Google PMWhat Are the Basics of Product Manager Interviews by Google PM
What Are the Basics of Product Manager Interviews by Google PM
 
5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервю5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервю
 
Hiretual webinar presented by Michael Doran 08/09/2017
Hiretual webinar presented by Michael Doran 08/09/2017Hiretual webinar presented by Michael Doran 08/09/2017
Hiretual webinar presented by Michael Doran 08/09/2017
 
Europython how to make it recruiting suck less?
Europython   how to make it recruiting suck less?Europython   how to make it recruiting suck less?
Europython how to make it recruiting suck less?
 
From ic to tech lead
From ic to tech leadFrom ic to tech lead
From ic to tech lead
 
Atd advanced topicsworkshop
Atd advanced topicsworkshopAtd advanced topicsworkshop
Atd advanced topicsworkshop
 
CP vs Project - Elevate Ep. 02.pdf
CP vs Project  - Elevate Ep. 02.pdfCP vs Project  - Elevate Ep. 02.pdf
CP vs Project - Elevate Ep. 02.pdf
 
Failing the coding interview
Failing the coding interviewFailing the coding interview
Failing the coding interview
 
Interviews
InterviewsInterviews
Interviews
 
Demise of test scripts rise of test ideas
Demise of test scripts rise of test ideasDemise of test scripts rise of test ideas
Demise of test scripts rise of test ideas
 

More from Fangda Wang

More from Fangda Wang (9)

[WWCode] How aware are you of your deciding model?
[WWCode] How aware are you of your deciding model?[WWCode] How aware are you of your deciding model?
[WWCode] How aware are you of your deciding model?
 
Types are eating the world
Types are eating the worldTypes are eating the world
Types are eating the world
 
Introduction to japanese tokenizer
Introduction to japanese tokenizerIntroduction to japanese tokenizer
Introduction to japanese tokenizer
 
Gentle Introduction to Scala
Gentle Introduction to ScalaGentle Introduction to Scala
Gentle Introduction to Scala
 
To pair or not to pair
To pair or not to pairTo pair or not to pair
To pair or not to pair
 
Balanced Team
Balanced TeamBalanced Team
Balanced Team
 
Functional programming and Elm
Functional programming and ElmFunctional programming and Elm
Functional programming and Elm
 
Elm at large (companies)
Elm at large (companies)Elm at large (companies)
Elm at large (companies)
 
Data science tools of the trade
Data science tools of the tradeData science tools of the trade
Data science tools of the trade
 

Recently uploaded

Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 

Recently uploaded (20)

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
Unit 4_Part 1 CSE2001 Exception Handling and Function Template and Class Temp...
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 

How Indeed asks coding interview questions

  • 1. How Indeed asks Coding Interview Questions An insight from conducting hundred of interviews for engineering at Indeed
  • 2. About me (Github: wanasit) Software Engineer @ Indeed Tokyo ● At the company for more than 7 years ○ (ex Hiring Manager) ● Interview Trainer (Coding interviews) ○ I have coached other interviewers ○ I have written interview questions
  • 3. About this presentation ● Disclaimer: This presentation is NOT written by Indeed ○ Mostly based-on my research and personal experience about interviewing (not only, but mostly, @Indeed) ● Goal: To hopefully raise the standard for interviewing experience among tech companies and engineers in Japan ○ To help the companies identify the right engineers ○ (= To help more engineers get job)
  • 4. Agenda 1. About Structured Interviews ○ How Indeed (and other tech companies) organize the interview process and its principles. 2. About Coding Interviews ○ Format and interview approach ○ About choosing questions and training interviewers 3. Tips for taking coding interviews ○ Probably uncommon advices from the interviewer’s perspective
  • 6. Use Structured Interviewing At Indeed (Google, FAANG), we use Structured Interview(s): ● Structured interviews != Coding interviews (not exactly) ● From Google research (supported by previous other researches) ○ The only scientific proven prediction for performance after hiring ○ Having the structure is more important than the questions or exercises you use (coding or not).
  • 7. Unstructured Interviewing ● A interviewer (a manager or engineer) ask arbitrary questions: ○ "Tell me what is your strength and weakness” , "How many golf balls would fit inside a 747 airplane?", “Could you implement binary search in Java?” … ○ (then, decided with arbitrary reasons on what/how they are good answer) ● Problem: “Everyone think they’re good at interviewing” ○ They often believe they “understand” and “see-through” the candidate ○ (This also includes the speaker :p)
  • 8. Structured Interviewing 1. Use a well-designed interviewing process ○ A standardized set of interviews, questions, and exercises ○ A shared understanding of what good (feedbacks, rubrics, etc) 2. Provide interviewer training and calibration 3. Be aware off and counter subjective bias(es) (+ Constant review and adjustments)
  • 9. Indeed’s Interview Process (SWE) 1. Phone Screen Interview or Karat (Whiteboard-like 30-60 mins) 2. The main/on-site interview (1-2 day) ○ x2 Whiteboard Coding Interview (aka. Coding Interview) ○ x1 Architecture Interview (aka. System Interview) ○ x1 Code Review Interview ○ x1 Resume Deep-Dive Interview 3. Team matching and hiring ** Note: All above are constantly reviewed and subjected to change
  • 10. Bias or “Personal soft-spot” Each interviewer rates engineer as good/bad based-on observations (subjective or objective, technical or non-technical) ● “His English is difficult to understand…” ● “He doesn’t write tests…” ● “He can implement X algorithm in y min!!” ● … However, are these reliable signals? e.g. what if this one candidate (in this one interview) happen to have a bad day (and forgot to write test)? or vise versa?
  • 11. To counter the bias Don’t interview alone (Avoid: A single point of failure). Have multiple independent interviews Also, make sure they are really “independent” e.g. ● Interviewers are not allowed to discuss until the debrief ● More junior interviewers always speak first ● Or, at Google, the interviewers do not even attend the debrief discussions
  • 13. Coding Interviews ● aka “Whiteboard Coding Interviews” (or just “WB interviews”) ● You are expected to solve a programming problem on a whiteboard or an online shared document ○ You are expected to write realistic “workable” code (no pseudo code, no hand-wavy explanation) ○ A session is 45~60 minutes. Typically a single problem (but some companies, e.g. Facebook, may ask you solve multiple easier problems)
  • 14. The Interviewer Objectives 1. (Primary) Get the signals on candidate technical skills ○ “(in 1 hour) form a strong opinion about the person if the person would work productively as an engineer at Indeed” ○ Keeping the candidate focus. Hint or unblock if necessary. ○ Avoid telling candidate what to do, only point out the relevant facts/problems. 2. (Optional) Keep the experience positive ○ Keeping things challenge for his/her experience level. ○ Avoid pressuring he/she (whether he/she is doing well or not)
  • 15. The Interviewer Training Progression ● Student ○ Pick an interview question. Shadow (observe) interviews on that question. ○ (Also, encouraged to beta-test asking that question to other engineers) ● Leading with Shadow ○ Start asking the question to the candidate. ○ Reversed shadowed by more experienced interviewers (on that question). ● Graduated ○ Is allowed to solo interview and reversed shadow
  • 16. Choosing Interview Questions ● Relevant and practical ○ A realistic problem with common data structures (no “exotic” data structure and algorithms) ● Challenging (in a good way) ○ Avoid a single "Aha" moment or “either you know or you don't” questions. ○ Has multiple ways and layers. Requires thoughtful design and implement. ● Robust / Easy-to-ask ○ Agnostic to programming language, frontend/backend experience, etc…
  • 17. Choosing Interview Questions (2) Above-all-else: Always try the questions with engineers in your company ● Note how far/fast can the interviewees solve ● Note how many different ways people can solve the problem ○ Or different ways people fail at the problem ○ (e.g. most candidates missing that single "Aha" insight, TypeScript is easier than other platform, …, etc)
  • 18. Tips for taking coding interviews
  • 19. Tips for taking coding interviews Disclaimer: Personal opinions. Not guarantee the results. (but so as other advices on the internet) 1. Practice: Coding skill > Algorithms 2. Practice: Foundation > Puzzle solving 3. Write Clean Code
  • 20. 1. Coding Skills > Algorithms ● (from my experience, in contrary to what most people say) ● The #1 reason people fail is: not be able to do programming well ○ Not because their lack of algorithm knowledge ○ This require “normal” programming experience you could gain at work (or school) ■ However, this still requires deliberate practices (e.g. code review, pair programming, side projects, …, etc)
  • 21. 1. Coding Skills > Algorithms ● You should be able to turn your ideas into code proficiently ○ In a programming language of your choice (Some libraries are ok) ○ No pseudo code, no hand wavy explanation. If you cannot do what you said should-be-done, it is not useful ○ If you couldn’t or could “barely” solve the problem with code, it is unlikely that you’d be able to employ more sophisticated techniques ● You should understand your code in details ○ e.g. how the data are moved, stored, organized, etc.
  • 22. 2. Foundation > Puzzle Solving What we hope candidates prepare What candidates often actually prepare
  • 23. 2. Foundation > Puzzle Solving ● When you “over-practice” puzzle solving ○ Harm engineering practice (e.g. you would not write code like this in real life) ○ It’s visible in the interviews (e.g. no principle/analysis/.., suddenly the solution) ● Focus on getting hired vs improving your foundation: ○ Study/review the courses or textbooks would help you be a better engineer. ○ And it’s compounded even if you don’t get hired now. ● My recommended is 7:3 (or 8:2) Studying/LeetCode-ing
  • 24. 3. Clean Code Matters Myth: “The interviewers don’t care about is your code quality (as long as it solve the problem efficiently)” ● First, this is wrong. Most interviewers do care. ● Second, (even if it’s true) it is missing the point… ○ You are NOT only writing the code for the interviewer ○ You are writing the code for yourself
  • 25. 3. Clean Code Matters ● Because you don’t really have time or energy to debug later… ○ Do not ever think that the interviewers will not spot your bugs ● You should write code as “clean” as possible ○ (whether in production or interview) ○ Use good naming. ○ Use good abstraction (private methods/functions) ○ Be able to reason about your code at each routine
  • 27. Summary ● For Employers/Interviewers ○ Use structured interview(s) ○ For coding interview: ■ Choose the right interview questions (or exercises) ■ Train/Calibrate interviewers on the question ● For Students/Interviewee(s) ○ Practice programming well (before doing difficult algorithms) ○ Spend time to understand the foundation (not just LeetCode puzzle)
  • 28. Investment Cost on Interviewing How much it cost Indeed to interview an engineer: ● x5 interviews each with 1-2 interviewers ● 1h interview + 1h feedback/discussion (+1h practicing) ● => 20~30 hours (aka. a whole weekly sprint for one engineer) e.g. if we want to hire 3 engineers and the interview passing rate is 20~30%, then, we would have 10~15 interviews. Remove X sprints from the roadmap…