$30 off During Our Annual Pro Sale. View Details »

DevOpsDays Boston 2020 - Passing the Technical Interview

Ben Edmunds
September 29, 2020

DevOpsDays Boston 2020 - Passing the Technical Interview

In this talk we’ll discuss the main aspects of handling the large tech company interview process. We’ll cover topics like prepping for interviews, coding interview questions, large scale system design, behavioral questions, how to interview your interviewers, and negotiation.

First we’ll cover how to prep for interviews, resources, and time allocation. Along with what you should expect throughout the process.

Next we’ll walk through how to prep for each step of the interview process.

We’ll finish up by discussing what to do once you receive an offer and how to negotiate.

Ben Edmunds

September 29, 2020
Tweet

More Decks by Ben Edmunds

Other Decks in Technology

Transcript

  1. passing the
    Technical
    Interview

    View Slide

  2. Who is this guy?
    Ben Edmunds
    Open Source
    Author
    PHP Town Hall Podcast

    More Than Code Podcast
    Staff Eng @ Wayfair

    View Slide

  3. Will Cover
    Technical interview process
    from Phone Screen to Offer

    View Slide

  4. Won’t Cover
    Everything before the

    Phone Screen

    View Slide

  5. View Slide

  6. My Last
    Job Search

    View Slide

  7. Your Next
    Job Search

    View Slide

  8. Prep

    View Slide

  9. View Slide

  10. 1

    Phone 

    Screen
    2

    Manager 

    Screen
    3

    Coding
    Test
    4
    Onsite
    Evals

    View Slide

  11. Stages
    0. Reach Out
    • Accepted application

    • Communication from
    Recruiter

    View Slide

  12. 1

    Phone 

    Screen
    2

    Manager 

    Screen
    3

    Coding
    Test
    4
    Onsite
    Evals

    View Slide

  13. Stages
    1. Phone Screen
    • High level

    • Why are you looking

    • What are you looking for

    • Pitch on company/role

    View Slide

  14. View Slide

  15. Stages
    1. Phone Screen
    • Why

    • What
    PREP

    View Slide

  16. Stages
    1. Phone Screen
    • Structure of teams

    • Favorite projects

    PREP

    View Slide

  17. Stages
    1. Phone Screen
    • $
    PREP

    View Slide

  18. View Slide

  19. 1

    Phone 

    Screen
    2

    Manager 

    Screen
    3

    Coding
    Test
    4
    Onsite
    Evals

    View Slide

  20. Stages
    • High level but deeper tech

    • Experience with specific
    technologies

    • Pitch on Company/Role
    2. Manager Screen

    View Slide

  21. View Slide

  22. Stages
    • Hard Problems

    • Best Projects

    • Failures

    • Technologies
    2. Manager Screen
    PREP

    View Slide

  23. View Slide

  24. 1

    Phone 

    Screen
    2

    Manager 

    Screen
    3

    Coding
    Test
    4
    Onsite
    Evals

    View Slide

  25. Stages
    3. Coding Test
    • Take Home

    • or

    • Online Platform

    View Slide

  26. Stages
    3. Coding Test - Take Home
    • Small project

    • Designing architecture

    • Designing APIs

    • Solving algorithms

    View Slide

  27. Stages
    3. Coding Test - Online
    • Small problem(s)

    • Algorithmic problem

    • Time complexity

    • Space complexity

    View Slide

  28. View Slide

  29. Stages
    3. Coding Test
    • Lite version of Coding and
    Sys Design on-site evals

    • Real world experience
    PREP

    View Slide

  30. Stages
    3. Coding Test
    • Sys Design & Architecture

    • Based on role 

    interviewing for
    PREP

    View Slide

  31. Stages
    3. Coding Test
    • APIs

    • REST

    • GraphQL

    • RPC
    PREP

    View Slide

  32. Stages
    3. Coding Test
    • Data Structures

    • Array, Stack, Queue, 

    BT, BST, Hash Table
    PREP

    View Slide

  33. Stages
    3. Coding Test
    • Algos

    • Common Techniques
    PREP

    View Slide

  34. Stages
    3. Coding Test
    • Algos

    • Pattern Matching
    PREP

    View Slide

  35. Stages
    3. Coding Test
    • Algos

    • Common Problems
    PREP
    + FizzBuzz, 8
    Queens, Boggle,
    Subset Sum, etc

    View Slide

  36. Stages
    3. Coding Test
    • Algos

    • Improvements
    PREP

    View Slide

  37. Stages
    3. Coding Test
    • Sorting

    • Bubble Sort

    • Quick Sort

    • Merge Sort
    PREP

    View Slide

  38. Stages
    3. Coding Test
    • Fill knowledge gaps
    PREP

    View Slide

  39. Stages
    3. Coding Test
    • PRACTICE
    PREP

    View Slide

  40. View Slide

  41. 1

    Phone 

    Screen
    2

    Manager 

    Screen
    3

    Coding
    Test
    4
    Onsite
    Evals

    View Slide

  42. Stages
    4. Onsite Evals
    • 4-6 hours onsite

    • Fly in, if not local

    View Slide

  43. Stages
    4. Onsite Evals
    • Coding

    • Behavioral

    • System Design

    View Slide

  44. Stages
    4. Onsite Evals
    • Arrive Thursday night

    • Interviews start 9am Friday

    View Slide

  45. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter

    • 9:30-10:20 - meet hiring manager

    • 10:30-11:20 - coding w/ 2 sr engineers

    • 11:30-12:20 - sys design w/ sr architect

    • 12:30-1:30 - lunch w/engineer on team

    • 1:30-2:20 - coding w/ 1 staff engineer

    • 2:30-3:20 - debrief w/ recruiter

    View Slide

  46. View Slide

  47. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter
    • 9:30-10:20 - meet hiring manager

    • 10:30-11:20 - coding w/ 2 sr engineers

    • 11:30-12:30 - sys design w/ sr architect

    • 12:30-1:30 - lunch w/engineer on team

    • 1:30-2:20 - coding w/ 1 staff engineer

    • 2:30-3:20 - debrief w/ recruiter

    View Slide

  48. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter

    • 9:30-10:20 - meet hiring manager
    • 10:30-11:20 - coding w/ 2 sr engineers

    • 11:30-12:30 - sys design w/ sr architect

    • 12:30-1:30 - lunch w/engineer on team

    • 1:30-2:20 - coding w/ 1 staff engineer

    • 2:30-3:20 - debrief w/ recruiter

    View Slide

  49. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter

    • 9:30-10:20 - meet hiring manager

    • 10:30-11:20 - coding w/ 2 sr engineers
    • 11:30-12:30 - sys design w/ sr architect

    • 12:30-1:30 - lunch w/engineer on team

    • 1:30-2:20 - coding w/ 1 staff engineer
    • 2:30-3:20 - debrief w/ recruiter

    View Slide

  50. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter

    • 9:30-10:20 - meet hiring manager

    • 10:30-11:20 - coding w/ 2 sr engineers
    • 11:30-12:30 - sys design w/ sr architect

    • 12:30-1:30 - lunch w/engineer on team

    • 1:30-2:20 - coding w/ 1 staff engineer
    • 2:30-3:20 - debrief w/ recruiter

    View Slide

  51. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter

    • 9:30-10:20 - meet hiring manager

    • 10:30-11:20 - coding w/ 2 sr engineers

    • 11:30-12:30 - sys design w/ sr architect
    • 12:30-1:30 - lunch w/engineer on team

    • 1:30-2:20 - coding w/ 1 staff engineer

    • 2:30-3:20 - debrief w/ recruiter

    View Slide

  52. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter

    • 9:30-10:20 - meet hiring manager

    • 10:30-11:20 - coding w/ 2 sr engineers

    • 11:30-12:30 - sys design w/ sr architect

    • 12:30-1:30 - lunch w/engineer on team
    • 1:30-2:20 - coding w/ 1 staff engineer

    • 3:30-4 - debrief w/ recruiter

    View Slide

  53. Stages
    4. Onsite Evals
    • 9-9:30 - arrival / meet recruiter

    • 9:30-10:20 - meet hiring manager

    • 10:30-11:20 - coding w/ 2 sr engineers

    • 11:30-12:30 - sys design w/ sr architect

    • 12:30-1:30 - lunch w/engineer on team

    • 1:30-2:20 - coding w/ 1 staff engineer

    • 3:30-4 - debrief w/ recruiter

    View Slide

  54. View Slide

  55. View Slide

  56. Offer

    View Slide

  57. Negotiation

    View Slide

  58. Total Comp =
    Salary + Equity + Benefits

    View Slide

  59. View Slide

  60. Parting
    Thoughts

    View Slide

  61. Practice

    View Slide

  62. Examples

    View Slide

  63. View Slide

  64. Resources
    https://randallkanna.com/get-the-ultimate-list/
    https://leetcode.com
    https://levels.fyi
    http://www.crackingthecodinginterview.com https://educative.io

    View Slide

  65. Thank You
    @benedmunds
    [email protected]

    View Slide

  66. View Slide

  67. More Examples

    View Slide

  68. Examples
    Career Ladder

    View Slide

  69. Examples
    System Design

    View Slide

  70. Examples
    “Given an array of the 100 most common child
    names in 2020, sort them alphabetically”
    “List the top 10 products sold alphabetically on the
    sidebar of a site. Given an array of the top 1,000
    products where the key is their popularity and the value
    is the product name. Return an array.”
    Quicksort

    View Slide

  71. Examples
    “Given an array of the 100 most common child names in 2020, sort them
    alphabetically”
    const childNames = […];
    return childNames.quicksort();
    Quicksort

    View Slide

  72. Examples
    const products = […];
    return products.quicksort()
    .slice(0, 10)
    .quicksort();
    “List the top 10 products sold alphabetically on the sidebar of a site. Given an
    array of the top 1,000 products where the key is their popularity and the value
    is the product name. Return an array.”
    Quicksort

    View Slide