Mastering the Coding Skills.
In this blog I’m not going to explain, rather I’ll share the tips and sources which I’m using to improve my coding skills. I’ll be sharing the coding sites, video tutorials and the book which I use to improve my Coding.
Lets talk about Coding Sites:
You may heard of many sources like hackerearth, hacerrank, topcoder, leetcode, codechef and what not. But what if you are average on coding, and you thought of starting hackerearth, hackerrank etc. If you are not able to solve, then you will get frustrated and you will close the site. Honestly what I think is if you rate yourself as an average coder, I would suggest not to go with hackeerank or hackeearth. I found one more helpful site to improve your coding skills from the scratch and that is CodingBat.
- CodingBat: This site is very useful, if you want to start from the scratch. This contains categories wise questions. In each category you will find many questions. I agree in the beginning you will find very easy, but keep solving them, and the complexity of problems will increase with each category. However, there is one demerit in this site. You can solve the problem in only two language, i.e. Java and Python. Once you solve all the problem of this site, you can move to leetcode.
- LeetCode: This is the best site I found to enhance your coding skills from moderate to expert. There are more than 1000 Problems, which has been actually asked in the big companies like Google, Amazon etc. However few problems and their solutions are locked, to see them you have to buy a premium account. But honestly, you don’t need and premium account. Once you are very very confident, then go and buy the premium account. With the premium account you will be able to see the company wise questions asked.
- HackerRank: This is the third site I would recommend to do after leetcode. In this site you will be able to choose the difficulty level, and you can track your record.
- HackerEarth: By this time you will be very confident on your coding skills. I found this site useful for two reasons. First in this site you can find many ongoing competitions in which you can participate, and also you can see the upcoming competitions. Second, you will find few tutorials also before you start your coding.
Moving on to Video Tutorials: Youtube on the rescue.
Introduction to Algorithm: There are tons of Video tutorial on DataStructures and Algorithms. However I have started from the very basics.
This playlist by Abdul Bari is one of my favourite. There are total of 84 videos in this playlist. He explained each and every algorithm in deep with keeping the Time and Space complexity in mind.
Algorithms and Data Structures: This is the playlist from Ravindrababu Ravula, who is famous for his Gate Lectures. There are varity of Video Tutorials from Ravindrababu Ravula, few of them are
1. Algorithms and Data Structures
4. Theory of Computation or Automata Theory.
5. Compiler Design.
6. Operating Systems, and a lot more.
Technical Interview Study Guide: This is a playlist from ex Google Engineer, named Nick White. He have few playlist which includes the solution for LeetCode Problem. He will solving and explaining the problems. Make sure to check his other playlist.
MIT 6.851 Advanced Data Structures, Spring 2012: Now here comes the bonus part. You have the access of the tutorial from the MIT Lectures. Though these lectures are slow, but these are the very best. But don’t jump right into this one. Before coming to this site, make sure you have completed the above video tutorial especially from Abdul Bari.
However there are many other tutorials also. But I’m focussing to finish these listed playlist first.
Last but not the least, The Books.
I am using only two books right now. The first is Introduction to Algorithm by Cormen, and the second is Cracking the Coding Interview by Gayle Laakmann McDowell.
This is the process I’m following to improve my Coding and Technical Skills. However different people have different ways. Feel free to comment, or if you want to add something to the list.
Happy Coding !!!
Sr. R&D Engineer - Full Stack Developer at ABB
3 年Great content mate ??