SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
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…

Más contenido relacionado

La actualidad más candente

10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By Science10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By ScienceWhen I Work
 
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...Deb Aoki
 
Design sprint slideshare
Design sprint slideshareDesign sprint slideshare
Design sprint slideshareFaren faren
 
What is UX Design?
What is UX Design?What is UX Design?
What is UX Design?Baris Erkol
 
Pitching Ideas: How to sell your ideas to others
Pitching Ideas: How to sell your ideas to othersPitching Ideas: How to sell your ideas to others
Pitching Ideas: How to sell your ideas to othersJeroen van Geel
 
Brainstorming Workshop!
Brainstorming Workshop!Brainstorming Workshop!
Brainstorming Workshop!Advertising
 
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...Sebastian Deterding
 
26 Time Management Hacks I Wish I'd Known at 20
26 Time Management Hacks I Wish I'd Known at 2026 Time Management Hacks I Wish I'd Known at 20
26 Time Management Hacks I Wish I'd Known at 20Étienne Garbugli
 
Prototyping for Interaction Design
Prototyping for Interaction DesignPrototyping for Interaction Design
Prototyping for Interaction DesignPhilip van Allen
 
Putting Users in UX: Research Methods for Strategy
Putting Users in UX: Research Methods for StrategyPutting Users in UX: Research Methods for Strategy
Putting Users in UX: Research Methods for StrategyUsability Matters
 
How to Cook Up an Awesome Deck
How to Cook Up an Awesome DeckHow to Cook Up an Awesome Deck
How to Cook Up an Awesome DeckSemrush
 
Gamification and Game-Thinking
Gamification and Game-ThinkingGamification and Game-Thinking
Gamification and Game-ThinkingKarl Kapp
 
7 lessons on Presentation Design from TED TALKS | Curly Films
7 lessons on Presentation Design from TED TALKS | Curly Films7 lessons on Presentation Design from TED TALKS | Curly Films
7 lessons on Presentation Design from TED TALKS | Curly FilmsStoryline Presentations
 

La actualidad más candente (20)

10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By Science10 Productivity Hacks Backed By Science
10 Productivity Hacks Backed By Science
 
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
Storyboarding csa2013 - Simple sketching for UX, user research & content stra...
 
Design sprint slideshare
Design sprint slideshareDesign sprint slideshare
Design sprint slideshare
 
What is UX Design?
What is UX Design?What is UX Design?
What is UX Design?
 
Design Thinking 101
Design Thinking 101Design Thinking 101
Design Thinking 101
 
Pitching Ideas: How to sell your ideas to others
Pitching Ideas: How to sell your ideas to othersPitching Ideas: How to sell your ideas to others
Pitching Ideas: How to sell your ideas to others
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
Design thinking
Design thinkingDesign thinking
Design thinking
 
Brainstorming Workshop!
Brainstorming Workshop!Brainstorming Workshop!
Brainstorming Workshop!
 
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
Persuasive Design or The Fine Art of Separating People from Their Bad Behavio...
 
26 Time Management Hacks I Wish I'd Known at 20
26 Time Management Hacks I Wish I'd Known at 2026 Time Management Hacks I Wish I'd Known at 20
26 Time Management Hacks I Wish I'd Known at 20
 
Prototyping for Interaction Design
Prototyping for Interaction DesignPrototyping for Interaction Design
Prototyping for Interaction Design
 
Putting Users in UX: Research Methods for Strategy
Putting Users in UX: Research Methods for StrategyPutting Users in UX: Research Methods for Strategy
Putting Users in UX: Research Methods for Strategy
 
How Do I UX?
How Do I UX?How Do I UX?
How Do I UX?
 
How to Cook Up an Awesome Deck
How to Cook Up an Awesome DeckHow to Cook Up an Awesome Deck
How to Cook Up an Awesome Deck
 
Design Thinking Workshop
Design Thinking WorkshopDesign Thinking Workshop
Design Thinking Workshop
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
ERADA M3 S1 - Business Model Design
ERADA M3 S1 - Business Model DesignERADA M3 S1 - Business Model Design
ERADA M3 S1 - Business Model Design
 
Gamification and Game-Thinking
Gamification and Game-ThinkingGamification and Game-Thinking
Gamification and Game-Thinking
 
7 lessons on Presentation Design from TED TALKS | Curly Films
7 lessons on Presentation Design from TED TALKS | Curly Films7 lessons on Presentation Design from TED TALKS | Curly Films
7 lessons on Presentation Design from TED TALKS | Curly Films
 

Similar a How Indeed asks coding interview questions

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.pdfDrNilam Choudhary
 
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.comAnton Dimitrov
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016Vishnu Prem
 
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)Asier Barrenetxea
 
Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Pragmatic software testing education - SIGCSE 2019
Pragmatic software testing education - SIGCSE 2019Maurício Aniche
 
Cepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptxCepstrum Placement Talk 2022.pptx
Cepstrum Placement Talk 2022.pptxgyan98
 
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?Svetlin Nakov
 
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 EngineerDoncho Minkov
 
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 PMProduct School
 
5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервю5. Подготовка и явяване на ИТ интервю
5. Подготовка и явяване на ИТ интервюSvetlin Nakov
 
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/2017Michael Doran
 
From ic to tech lead
From ic to tech leadFrom ic to tech lead
From ic to tech leadFangda Wang
 
Atd advanced topicsworkshop
Atd advanced topicsworkshopAtd advanced topicsworkshop
Atd advanced topicsworkshoplisacrispin
 
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.pdfpreetikumara
 
Failing the coding interview
Failing the coding interviewFailing the coding interview
Failing the coding interviewSoohan Ahn
 
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 ideasRichard Robinson
 

Similar a 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
 

Más de Fangda Wang

[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?Fangda Wang
 
Types are eating the world
Types are eating the worldTypes are eating the world
Types are eating the worldFangda Wang
 
Introduction to japanese tokenizer
Introduction to japanese tokenizerIntroduction to japanese tokenizer
Introduction to japanese tokenizerFangda Wang
 
Gentle Introduction to Scala
Gentle Introduction to ScalaGentle Introduction to Scala
Gentle Introduction to ScalaFangda Wang
 
To pair or not to pair
To pair or not to pairTo pair or not to pair
To pair or not to pairFangda Wang
 
Functional programming and Elm
Functional programming and ElmFunctional programming and Elm
Functional programming and ElmFangda Wang
 
Elm at large (companies)
Elm at large (companies)Elm at large (companies)
Elm at large (companies)Fangda Wang
 
Data science tools of the trade
Data science tools of the tradeData science tools of the trade
Data science tools of the tradeFangda Wang
 

Más de 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
 

Último

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Último (20)

Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 

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…