what would you recommend if someone wanted to go from nothing (maybe some softw. experience) to be able to do a hardware design like this? Is there any book/courses you consider to be a must?
Use selenium.py, it is by far the easiest and scalable solution out there. (believe me I have tried everything, beautiful soup, request.py, scrapy.py ... )
Excellent content. I was surfing your web page and it seems ridiculous interesting. Tomorrow I will read everything, do you make all your source code available ?
This is my personal recommendation, please notice that I have read "Introduction to Algorithm by Cormen" about 4 years ago, so for me everything was more a catch up than really learning:
for this book one can focuses on the first 7 chapters (revision)
- Leet code editorial solutions https://leetcode.com/articles/ . They provide with the solution and complexity analysis of a few problems. I suggest you try to solve and give your complexity analysis then compare it with the "official" one.
I also want to add my 2 cents on that. I am terrible at white-board/ phone interviews but recently I think I was able to crack at it, and here are my thoughts about it:
- go to the root of the problem, run some examples by hand and try to think as a computer. e.g., I was at apple interview and there was this trick question that could be solved using a modified version of binary search. When I ran some example I kept asking myself "if I know that this element in the middle of the matrix is smaller (or larger) than X, what does that mean?"
- be very comfortable about big O notation. If necessary, be ready to present some formula.
- show that you can do the brute force solution. Sometimes the brute force solution seems very stupid (e.g., enumerate all possible subsets and find the best one), but you need to say it!
- most of all, be confident, but not arrogant. It is not the end of the world to not know something, but it is important to show what you do know!
I personally know people who were hired on their 5th interview. All that matters is your "data points", i.e., how are you improving over the years (it can take from 6 months to 1 yr to be able to re-apply).