Hacker News Comments on
Algorithmic Thinking (Part 1)
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
I recommend learning discrete mathematics, then data structures and algorithms.
I cannot stress enough how important mathematical foundations is. It'll make everything else much easier to learn. I haven't read the book but heard good things about: https://www.amazon.com/Discrete-Mathematics-Applications-Sus... as a beginner text.
Coursera has multiple offerings on Data Structures / Algorithms -- find one that works best for you.
By doing all of those you'll get a good introductory exposure to the topics.
You should also look at a rigorous course offering of Algorithms. MIT has a few online to view.
Some readings for a beginner are:
https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press... (not beginner level but classic)
After all of this you should be fine with diving into interview books. You'll want to whiteboard solutions and be able to do all the difficult problems. Look into sites like leetcode, glassdoor and be able to do the difficult problems posted there.
⬐ 40acresThanks, there are some good resources here. I rushed through CLRS to help prepare for these interviews but I failed at the phonescreen, which was mostly comprised of Leetcode / Hackerrank type questions. I'll definitely take a look at the coursera course specialization but it seems as though these interviews comprise of a 'programming challenge' type question for the phone screen and more with a focus on data structures, algorithms and system design for the onsite.
I haven't had time to take this course, though I'd like to. It sounds like it is exactly what you are looking for.
There are plenty of very good MOOCs on algorithms -
⬐ bigb9320Which of these would you recommend for someone who has been programming since 2 years but wants to improve their fundamentals ?⬐ prometheuspkI'd go for aofa
IMHO writing better code comes with time and practice. So what you probably need to focus on is developing your algorithmic thinking https://www.coursera.org/course/algorithmicthink
⬐ hardxxxtargetBut developing the algorithmic thinking also takes a lot of time and practice. So ideally, what would be the best way to balance them both?⬐ SkyMarshalYou're overthinking it. Just program a lot, experiment with algorithms, read well-regarded books on both, and both will come.