Skip to main content

Interviews

How to study for a coding interview

  • learn the algorithm patterns
    • see 14 patterns article and leetcode filtering tool website
    • link to useful sites that include JS solutions
  • study other people’s answers to specific problem patterns on leetcode
    • translate their solutions into pseudocode
    • compare pseudocode of multiple solutions
    • summarize pseudocode for this problem type (e.g. fast and slow pointers) into 3-6 steps and study that
    • try solving the same problems using my pseudocode
      • if that didn’t work, keep refining my pseudocode
  • Review using spaced repetition
    • Choose a rotation of problems to practice regularly
    • Create a schedule
    • Day 1 of a problem type: algorithmic thinking, research and create pseudocode
    • Repeat using spaced repetition (e.g. two days later, then 3, etc)
    • After each solve, ERASE THE CODE so next time I’ll solve it fresh
    • Solve the exact same problem until I can do it easily
    • Not memorizing the solutions; memorizing the pseudocode and identifying which algorithm to use, and then practicing implementing the pseudocode
  • How I Got Good at Algorithms and Data Structures • What to study and in what order, while memorizing a quick summary of the approach instead of the detailed implentation • Kevin Naughton Jr 📺
  • How to reduce the Leetcode Grind to prepare for technical interviews • W. Ian Douglas 📺
  • NeetCode.io • A better way to prepare for coding interviews • Navi 👩‍🎓
  • HackerRank • Online Coding Tests and Technical Interviews 🛠️
  • Algorithms In Interviews SUCK | Prime Reacts • Debating an article claiming coding interviews shouldn’t include algo puzzles • ThePrimeagen 📺

How to approach a coding interview question

  • figure out what kind of problem it is and what algorithm fits
  • write pseudo code before coding
    • write notes like Bob Ross paints, from general layers to eventual final details
    • start general and generic
  • Soft Skill podcast advice:
  • Episode 350: Bombing a technical interview and background vetting • Soft Skills Engineering Podcast 🎙️
    • when you are stumped on how to solve a problem, pivot to FULLY exploring and clarifying the boundaries of the problem (e.g. by writing unit tests)
  • UMPIRE Interview Strategy • CodePath 📖

Strategy: Track values while iterating

System Design Questions

Job Applications

Mock Interviews

Resume

Resume Projects

Telling useful stories

Asking useful questions

Questions for everyone

  • What do you like about working for Company X?
  • What do you find challenging about working for Company X?
  • How is the work-life balance?

Questions for the recruiter

Questions for my future manager (aka. the hiring manager)

  • Why problem are you trying to solve by hiring right now?
  • What would you want most from me in the first week, month, 3 months?
  • What projects would I focus on for the first 6 months, year, two years?
  • Do people tend to stay / move up? Leave? If they leave, why is that?
  • If I stayed with the team for a few years, what would my career progression look like?

Questions for my future teammates (or other technical interviewers)

  • How do product/tech decisions get made? What happens to your ideas?
  • What is a typical day like on this team?
  • What’s it like to work with manager X?
  • How is the learning culture on the team? Are people supportive and transparent about what they don’t know, or is there more of a competitive vibe?
  • Can you show me a non-trivial PR review?
  • Reverse Interviewing Your Future Manager and Team • Reverse interview your future team after you’ve negotiated the offer, and before you accept it • Gergely Orosz 📖

Negotiating salary

Inbox