Live data from Hacker News

The software development final exam: Algorithms and Data Structures

daemonology.net

31–40 of 208 posts

Re: The software development final exam: Algorithms and Data Structures

#31

Earlier quoted context omitted.

Then perhaps the author shouldn't be presenting them as practical issues, and claim that people who don't know the answers either shouldn't be programmers, or work in some tiny niche. You read the context article he linked to, right?

Just to get the facts straight, the linked article had this to say: If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter. The reader can judge…

I guess it depends if you interpret:

> you should ask yourself why

As referring to "you can't answer the majority of the questions" or "you're working or intend to work as a software developer". I read it as the latter, but I guess it could also be read as the former.

Re: The software development final exam: Algorithms and Data Structures

#32

Earlier quoted context omitted.

Just to get the facts straight, the linked article had this to say: If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter. The reader can judge…

I guess it depends if you interpret: > you should ask yourself why As referring to "you can't answer the majority of the questions" or "you're working or intend to work as a software developer". I read it as the latter, but I guess it could also be read as the former.

The intention was "why don't you know these things", in the sense of "I really think you should go out and learn / re-learn these areas, because I think it's very likely that knowing them better will help you produce better code".

Re: The software development final exam: Algorithms and Data Structures

#33

"If you can't answer the majority of the questions on these four papers, and you're working or intend to work as a software developer, you should ask yourself why — most likely you're either you're missing something you really should know, or you're lucky enough to be working within a narrow area where your deficit doesn't matter." [1] I'm a self-taught front end web developer who didn't have a traditional computer s…

I haven't looked to see if every question is covered by these, but here's some standard textbooks I like: Algorithms and Data Structures: http://www.amazon.ca/Introduction-Algorithms-Thomas-H-Cormen... http://www.amazon.ca/Algorithms-4th-Robert-Sedgewick/dp/0321... Computer Architecture and Operating Systems: http://www.amazon.ca/Computer-Architecture-Quantitative-John... http://www.amazon.ca/Design-Implementation-Fr…

Thank you. I'll get reading!

Thanks also for proposing the test and posting the papers online. It's hard to discover what level of knowledge is assumed of software developers if you've never worked in a large team and haven't entered the field via graduate or postgraduate study.

Re: The software development final exam: Algorithms and Data Structures

#34

This is the interesting bit "on each paper, at least four of the five questions relates directly to material I have needed to know during my time working on Tarsnap, " Most software jobs are far more distant from CS that Colin's. And more power to him for working fulltime on something that leverages his knowledge. (spoken as someone who spent a decade doing glue-random-apis-together-and-bill -by-the-hour enterprise s…

Yet, at least in the European countries I've lived in, you won't get through HR without a CS degree, unless you're doing your own business.

Re: The software development final exam: Algorithms and Data Structures

#36

Earlier quoted context omitted.

I haven't looked to see if every question is covered by these, but here's some standard textbooks I like: Algorithms and Data Structures: http://www.amazon.ca/Introduction-Algorithms-Thomas-H-Cormen... http://www.amazon.ca/Algorithms-4th-Robert-Sedgewick/dp/0321... Computer Architecture and Operating Systems: http://www.amazon.ca/Computer-Architecture-Quantitative-John... http://www.amazon.ca/Design-Implementation-Fr…

Thank you. I'll get reading! Thanks also for proposing the test and posting the papers online. It's hard to discover what level of knowledge is assumed of software developers if you've never worked in a large team and haven't entered the field via graduate or postgraduate study.

Yes, although I didn't get around to mentioning it in my introductory blog post, "self-taught" developers are part of why I'm doing this.

Re: The software development final exam: Algorithms and Data Structures

#37

I wonder about the utility of an exam that one can ace with five minutes of googling.

I'm not going to be handing out degrees based on these. If you mean the utility of the specific questions, the point is that knowing these things is indicative of your general level of knowledge in certain areas.

>knowing these things is indicative of your general level of knowledge in certain areas.

Very possibly. But is knowing the same as remembering? Compare remembering the specific value of quicksort's worst case to knowing that some sort algorithms are better than others when, say, the input is likely to already be sorted, and that you should go crack open CLRS if you dont recall which.

Re: The software development final exam: Algorithms and Data Structures

#38
post #34

This is the interesting bit "on each paper, at least four of the five questions relates directly to material I have needed to know during my time working on Tarsnap, " Most software jobs are far more distant from CS that Colin's. And more power to him for working fulltime on something that leverages his knowledge. (spoken as someone who spent a decade doing glue-random-apis-together-and-bill -by-the-hour enterprise s…

Yet, at least in the European countries I've lived in, you won't get through HR without a CS degree, unless you're doing your own business.

I'm in the UK, I know people who are excellent developers who don't have degrees on any kind and who have no problems whatsoever getting employed.

Mind you they have 10+ years experience and can point to major succesful projects - so whether or not they have a degree or not is rather irrelevant.

Re: The software development final exam: Algorithms and Data Structures

#39

Earlier quoted context omitted.

I'm not going to be handing out degrees based on these. If you mean the utility of the specific questions, the point is that knowing these things is indicative of your general level of knowledge in certain areas.

>knowing these things is indicative of your general level of knowledge in certain areas. Very possibly. But is knowing the same as remembering? Compare remembering the specific value of quicksort's worst case to knowing that some sort algorithms are better than others when, say, the input is likely to already be sorted, and that you should go crack open CLRS if you dont recall which.

If you can't remember quicksort's average vs. worst cases, odds are that the behaviour of sorting algorithms isn't sufficiently top-of-mind that you'll say "wait, this data might already be sorted! I might need to use a different algorithm here".

Re: The software development final exam: Algorithms and Data Structures

#40
post #24

I wonder about the utility of an exam that one can ace with five minutes of googling.

I use these kind of questions in interviews. You either know the answers or you don't. There's no looking at your 'phone in an interview (at least not one with me being the interviewer).

Fair enough. I take a different approach in my interviews: try to gauge how useful the person will be to the team. We have internet access, and a library with CLRS if someone needs to implement a bipartite graph test. It matters more to me that they'd know why they'd need one.
Post reply on HN