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 • 8 minute video by Kevin Naughton Jr. recommending what to study and in what order, and advising overall to memorize a quick summary of the approach, not the code itself.
  • 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 🛠️

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

Job Applications

Mock Interviews

Resume

Resume Projects

  • 📺 The Projects That Got Me Into Google (tips for software engineering projects) • 18 minute video by Clement Mihailescu walking through four projects (including two cool animated algorithm visualizers) and analyzing their strengths and weaknesses as example resume projects demonstrating technical skill by evaluating them based on whether they include appealing visuals, a wow factor and interactivity; whether they are easy to understand; and whether they taught the coder something truly useful
  • 📺 Pathfinding Visualizer Tutorial (software engineering project) • 55 minute video by Clement Mihailescu showing how to create a basic pathfinding algorithm visualizer app using React

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