Interview Studying

Jun 12, 20261 min

If you perchance stumbled upon this page while scrolling :), this probably seems like an awfully odd "project" to detail on one's page! But growing up, I wasn't the biggest fan of competitive math or programming (at least relative to the ecosystem I reside in), and so the style of problem-solving that is popular in technical interviews didn't (doesn't) come naturally for me. Though I aspire to do research, and likely will delve into an entrepreneurial path down the line, the skills that accompany being good at CP/math comp are still (1) tested for in research-adjacent roles and (2) generally nice skills to acquire!

  • πŸ”‘ So, I decided to gamify my side project of studying for such interviews :). This page is a semi-public way of documenting my journey and motivating myself to continue.

The plan

There are 3 main axes along which I will prepare for:

  1. Software engineering (LeetCode)
  2. Quantitative finance (Probability, Green Book, etc.)
  3. Machine learning (reimplementing key papers, kernel exercises, etc.)

Software engineering

LeetCode

I was recommended the NeetCode Blind 75 by a friend, so we'll start here! https://neetcode.io/practice/practice/blind75

  1. Arrays & hashing
  2. Two pointers
  3. Sliding window
  4. Stack
  5. Binary search
  6. Linked list
  7. Trees
  8. Heap / priority queue
  9. Backtracking
  10. Tries
  11. Graphs
  12. Advanced graphs
  13. 1D dynamic programming
  14. 2D dynamic programming
  15. Greedy
  16. Intervals
  17. Math & geometry
  18. Bit manipulation

What I will document

https://www.reddit.com/r/deeplearning/comments/1qnsqml/deepmind_research_scientist_interview_prep_advice/ https://gordicaleksa.medium.com/how-i-got-a-job-at-deepmind-as-a-research-engineer-without-a-machine-learning-degree-1a45f2a781de