golang-interview
Description
A repo of interview questions written by a guy who had to teach himself
How to start learning this stuff by yourself
- LEARN BY CATEGORY In the past, I chose leetcode / interview topics at random to learn. Because of this, I never felt confident enough in any particular topic. When you focus on a topic, you gain the knowledge required to recognize the problem in context, know how to start solving it AND start to know how the answer code should be constructed.
If you choose questions haphazardly and haven't solved any similar questions before you will probably not be able to start. Take a few (I chose around 5) questions on each new topic you learn and see the pattern of solution work in multiple contexts.
- Review After completing a few questions on each topic, make sure you find some way to review.
I like to use a Spaced Repetition System to store my mistakes and create QA pairs of intuitions I've gained through solving multiple problems.
I also signed up to a couple newletters that ping me each week / day with questions I can choose to solve when I have time.
This might seem like it violates the "don't choose random question to study" rule, but I think that after you are fairly familiar a few topics, some type of review mechanism will work to refresh these in your head from time to time.
You Will Fail Interviews
I haven't met any people yet who don't have failure interview experiences. Mine are especially bad. Keep practicing consistently and reviewing concepts. Do this until you are bored. Then do something else. Then (maybe) start again. I am not the type of person who can grind these concepts right before interviewing everywhere. Instead, I'm the kind of person who enjoys the pain of the slow interview grind.
This might sound more efficient, but I have still yet to get asked to an onsite FANG (Facebook, Amazon, Netflix, Google) interview and have failed each phone interview so far. π΅
So DON'T GIVE UP, keep trying, and also do some projects for fun. If you aren't having fun programming, why do it at all? Yes, you can make some money starting off, but most (not all) jobs will make you similar money if you become extremely skilled in them. Many jobs will make you even more when you become great. So program for love, study algorithm questions to learn and interview, and also try to find projects to enjoy.