How to crack a coding interview of biggest tech companies like Google (I did), Facebook, etc?

in coding •  7 years ago  (edited)

This is a 5 step formula that I followed and I tell everyone this only whenever someone asks me.
Please note that this answer assumes that you want start from scratch.

Step 1: Do CS50. There is a catch though. Do it in less than a month. All standard edition Psets and lectures (and shorts if you require) in less than a month.
Course link: CS50 from Harvard

Step 2: Do algorithms course on coursera by Tim Roughgarden offered by stanford university. Do this according to course's pace. Design and analysis of Algorithms : part 1.
Course link: Algorithms: Design and Analysis, Part 1

Step 3: Time to enter the world of competitive coding. Start with codechef and spoj. Do atleast 150-175 easy problems which require basic logic within 2-3 months.
Further steps include step 3 running in parallel. You have to continue practicing on codechef and spoj but slowly raising the level of questions to graphs, DP, segment trees, etc.
Codechef :Programming Competition,Programming Contest,Online Computer Programming
Spoj :Sphere Online Judge (SPOJ)
Problems categories: A2 Online Judge

Step 4: Do algorithms course which is the sequel of course I listed in step 2. Design and analysis of algorithms: part 2. Do it according to course's pace. Remember step 3 runs in parallel. By the time this course ends you should be somewhere around 300 problems old. ( combined on codechef and spoj)

Course link: Algorithms: Design and Analysis, Part 2

Step 5: Start doing practice and contests on Codeforces and Topcoder. Try to get in division 1 and more importantly stay there. This step is really important.
Codeforces
Topcoder

PROGRAMMING LANGUAGES:

Languages I know: C, C++, Python
Question: How to learn them?
Ans: C is taught in almost every college. To learn c++ and other languages there is a very simple technique. The questions that you solve on all these online judges try to do them in the languages yo want to learn.

Question 2: How to do the above tasks if you don't already know the language?
Ans: Google something like "How to ______ in python/c++/java/etc"
and if possible look for Stack Overflow links. The ____ can be filled with the following:

  • Take user input
  • Declare an array
  • Sort elements
  • Make a hash table or map
  • print output.
    And whatever you need.

I learnt Python like this and bits of java too. This approach works because once you are done with C language and Harvard CS50 you will know all the concepts and you will be at a stage where you will just need to get used to with the syntax of the language and that can be done while practicing on online judges.

This is what i did. I hope this helps you. I was able to successfully crack internship and full time job offers for companies like Google (twice: Intern and full time), Amazon (Intern), and Adobe (full time).

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @shivamahajan5! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!
  ·  7 years ago Reveal Comment