..

Technical Interviewing Workshop with Holly Zhou

Interview to hiring pipeline

  • Application and Coding Sample
    • Coding sample is usually done asynchronously like a take home assignment
    • Sites like Hackerrank are used
  • Virtual or Phone interview
    • Shared coder pad
  • Internship
    • For some internship this is they conduct
  • “Onsite” interviews
    • Most of these are held virtually now
    • But some are still IRL
  • Hiring Committee
  • Additional interview
    • If the hiring committee feels like they need to check like a specific skill then they might ask you to do like a small interview

Preparing the Environment

  • Have good wifi
  • Quiet room
  • Neutral non distracting backgrounds
  • Have a pen and paper
    • Very useful for Graphs, OOPs
    • Very useful in general even if you are not a scribble type of guy
  • Choose a language that you are most comfortable in. Interviewers usually give you the choice.

Algorithms

  • Sorting
  • Searching
  • Divide and Conquer
  • Dynamic Programming and memoization
    • Goes in and out of fashion
    • Some recruiters may not ask this
  • Greedy
  • Recursion
  • Big O analysis
  • Graph traversal (BFS, DFS)

Data structures

  • Array
  • Linked list
  • Stack and Queue
  • Set
  • Hash and maps
  • Binary tree
  • Heaps
  • Graphs

Big O analysis is really important. Think everything in terms of Big O notation. Know the complexity of all the algorithms and data structures. Know the complexity of the data structure in your specific language.

Steps to follow

  1. Ask and clarify questions
    1. The given question will be intentionally vague
    2. It is your job to ask and refine the question
  2. Scope and Design
    1. Never start coding right away. First plan
  3. Discuss test cases
    1. Ask about edge cases
    2. In case of strings ask if they can be empty
    3. In case of int ask if they can be positive, negative or zero
  4. Coding
    1. After as much detail as possible start to code.
    2. usually recruiters use a leetcode bonus points type of a thing. They never want the first answer. So it is futile to start coding for the first answer
    3. But they want you to orally say that answer to them.
      1. For example they ask some question and there are two ways to solve it. The first is a O(n) solution and the other one is a O(1) solution. They want the code for the latter. But you should talk about the former and kind of build your thought process
  5. Walk through
    1. Walk through everything
    2. Talk like a text-to-speech tool. It is far better to over communicate

Interview environment

  • It is distinct from leetcode in the sense that the initial question is always very vague. There will be no figures or test cases. All of those has to be done by you
  • Blank slate. There will be no auto complete or syntax highlighting. This always throws people off who are used to tabbing through code. Know the standard library by heart.
    • Try to practice writing code. This is ease the blank slate feeling
  • When you are stuck, at least hallucinate something. constantly talk through what you are thinking. Explain why you are getting stuck.

What do recruiters look for

  • Did you analyze the question
  • Did you ask for edge cases
  • Do you have a strong computer science foundation regardless of language prowess
  • Did you write working code
    • Some recruiters don’t care about this depending on the context
    • Some are really really picky about this.
  • Do you have good production code practices
    • Descriptive variable names
    • Comments

Join career center’s Tuesday newsletter for more events