Skip to content

Going over fundamentals again for the coding interview at various tech companies

Notifications You must be signed in to change notification settings

jrdefideveloper/coding-interview

Repository files navigation

coding-interview

Hello hello

This is just me attempting to go over concepts I haven't seen or read about it in the past 7 years. :')

Also since I majored in an electrical engineering variant I may be seeing some of these concepts for the first time.

Table of contents

  1. Introduction
  2. Complexity
  3. Easy problems
  4. Medium problems

Bonus

Resources I used to prepare

Everyone's favorite leetcode

  • AlgoExperts
  • Geek4Geeks
  • Hackerrank (many companies use this format these days)
  • I own Skiena's Algorithm Design book but it bored me to tears so I didn't end up reading it much. Sorry sir skiena
  • Java docs because unfortunately we're going to be using classes we never actually use in real life during the coding interviews. Like Deque You may need to refer to the docs of whatever language you prepare with at times. For example if you're using some sort of default sorter library you'll want to know what the underlying sort method is and what is the complexity.

Youtube channels - for motivation I like to watch competitive coders code. William Lin and Alex Wice are pretty great channels to follow. They also both have discord channels that I occasional lurk.

Sidenote*: competitive coding isn't quite like interview process since they focus on speed. For coding interview you'll also need to focus on communication, elegant code etc. It can't just compile and you win lol. But watching this amps me up since I see what is possible!

Also I suggest installing extensions such as BlockSite so you're not visiting stupid websites and derailing yourself from greatness!

Study schedule

I had a fairly lax schedule since I'm not the type to follow stringent routine too much. My requirement for myself was to do five pomodoro's worth of studying a day. A pomodoro for me is equal to 50 minutes of study and 10 minutes of break time.

Amortized across a month it means I study about 150 hours a month.

I asked my friends that have jobs at big tech about their interview efforts and they've averaged about 300-500 LeetCode problems before getting offers.

I made a general estimate that if I managed to finish 1 problem in 1 hour then I would need to do about 300 hours worth of studying bare minimum. This equates to two months of studying.

Factor in the fact that I may be a bit slower than my peers then I would need to do about 2.5 months of studying total with this crazy schedule. :')

  • Goodbye Pokemon Go
  • Goodbye Instagram
  • Goodbye social life
  • Goodbye recreational eating
  • Goodbye blockchain side project development
  • Goodbye day trading

Music recommendations

Lofi lofi lofi

Top Goals For Myself

  1. Rank less than 100 on Leetcode
  2. Finish all problems in AlgoExperts
  3. Finish all problems in SystemExperts
  4. Do over 300+ problems on leetcode.

About

Going over fundamentals again for the coding interview at various tech companies

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages