2 ms·
I think it's a great idea to study algorithms and math for CS, and that OCW is a very good resource. Also consider taking a Coursera course on algorithms. One
by ryporter 10y ago
I think it's a great idea to study algorithms and math for CS, and that OCW is a very good resource. Also consider taking a Coursera course on algorithms. One taught by Tim Roughgarden started Aug 8. [1] I haven't taken the class, but I've met Tim and seen him talk. He's both extremely intelligent and a dynamic speaker.
I wouldn't prepare specifically for the interview yet. I know that others are very skeptical of the algorithms interview, but I conducted it myself many times, and I'd like to defend it. When done right, the goal is to see how you think about algorithms. I didn't care about whether you jumped to the solution as much as I wanted to hear you think out loud.
My goal was to decide whether I could see myself developing a new algorithm with you as a peer. For many interviewees who lacked a former CS background, the answer was clearly, "No." You need to have a basic and intuitive understanding of Big-O notation, and you need to be able to develop an algorithm yourself. These courses will teach you exactly that (though you absolutely must do the problem sets as well).
Now, it is true that the interview process has its own quirks. So, get experience. Apply to a bunch of jobs, and try to setup interviews with other companies before you even have a phone screen with a company you really want to work for. As with developing algorithms, nothing beats experience. However, I really believe that this step should be secondary to learning the fundamentals. They truly are the basis for the rest.
[1] https://www.coursera.org/learn/algorithm-design-analysis https://www.coursera.org/learn/algorithm-design-analysis