19 ms·
I am just beginning my studies in computer science. I find discrete mathematics, data structures, theory of computation and algorithms to be the most interestin
by peterjones2 10y ago
I am just beginning my studies in computer science. I find discrete mathematics, data structures, theory of computation and algorithms to be the most interesting aspects of computer science. If I took an undergraduate algorithms course (Chapters 1-3, 7-9, 11-13, 15-16, 22-24 from CLRS) would I be prepared for most interviews?
I noticed the graduate course overlaps with many of those chapters and also cover: chapters 18,21,25,26, 29-32, 35.
Ideally, I would like to take both courses out of pure self-interest.
- GrumpyYoungMan 10y agoAs others have suggested, get a copy of "Cracking the Coding Interview" and review the questions therein. If you can answer those questions easily, you'll have an easy time at the average interview. If you want to prepare to interview at one of the top companies, then afterwards procure a copy of my secret weapon: Aziz, Lee, & Prakash's "Elements of Programming Interviews". The questions there are an order of magnitude more difficult. If you are able to apply the CS concepts you are learning to questions of that difficulty, all doors will be open to you.
- deleted 10y ago[deleted]
- peterjones2 10y agoThanks for taking the time to answer my question. This is my first time commenting on HN and am being downvoted for my legitimate question.
- GrumpyYoungMan 10y agoJust a helpful tip: mentioning being downvoted is against the HN guidelines and usually attracts more downvotes. pkahler's sibling post also brings up an important side point: beyond the basic core, what you study really needs to be focused on what aspect of the software industry you want to be in or are likely to find yourself in. While I, too, encourage you to take C/asm courses or whatever your preferred focus is, the bulk of the jobs in the industry are in creating web sites and business systems (much of which are so-called CRUD apps; see https://en.wikipedia.org/wiki/Create,_read,_update_and_delete https://en.wikipedia.org/wiki/Create,_read,_update_and_delet...). Even if you plan to do something else, a course in databases and concurrent programming will stand you in good stead as a fallback if your career doesn't quite go as planned.
- phkahler 10y ago>> If I took an undergraduate algorithms course would I be prepared for most interviews? I can't comment on "most interviews" but that would not qualify you to work for me - or in my industry. I want someone who does embedded C, understands hard real time control, can write code doing fixed-point math in a way that can be understood later, writes safe code, state machines, signal processing, fault management, LIN or CAN networking, and some other stuff. Knowing the function "malloc" or any algorithms that may use it is not necessary as it is explicitly forbidden. Just sayin'
- peterjones2 10y agoIn addition to taking an Algorithms course I would take a course that focuses on C and ASM. Parent comment does not imply I would only take an Algorithms course.