3 ms·
I recommend learning discrete mathematics, then data structures and algorithms. I cannot stress enough how important mathematical foundations is. It'll make ev
by imakecomments 10y ago
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-Susanna-Epp/dp/0495391328 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.
For instance:
https://www.coursera.org/learn/introduction-to-algorithms https://www.coursera.org/learn/introduction-to-algorithms
https://www.coursera.org/specializations/algorithms https://www.coursera.org/specializations/algorithms
https://www.coursera.org/learn/algorithmic-thinking-1 https://www.coursera.org/learn/algorithmic-thinking-1
https://www.coursera.org/learn/algorithmic-toolbox https://www.coursera.org/learn/algorithmic-toolbox
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.khanacademy.org/computing/computer-science/algorithms https://www.khanacademy.org/computing/computer-science/algor...
https://www.amazon.com/Algorithms-Unlocked-Press-Thomas-Cormen/dp/0262518805 https://www.amazon.com/Algorithms-Unlocked-Press-Thomas-Corm...
https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844/ref=pd_sbs_14_img_1?_encoding=UTF8&psc=1&refRID=1B27XH2M0SZR2ZQ6RA91 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.
- 40acres 10y agoThanks, 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.