Live data from Hacker News

The software development final exam: Algorithms and Data Structures

daemonology.net

1–10 of 208 posts

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

#3
@cperciva - you're right, I can't answer those off the top of my head like I could 15 years ago when I studied it.

I don't think that's a problem with the exam system though; I could probably have answered them 12 years ago. It's just related to the field you end up in and how much you need to lean on that knowledge in your day to day job.

As it stands, given a couple of hours of reading, I'd easily be able to refresh my knowledge and answer the questions, primarily because I had a solid formal training in it initially. Ability-wise, the me of my uni days could never do the job I'm doing now - well, not without another 15 years experience :)

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

#4
post #3

@cperciva - you're right, I can't answer those off the top of my head like I could 15 years ago when I studied it. I don't think that's a problem with the exam system though; I could probably have answered them 12 years ago. It's just related to the field you end up in and how much you need to lean on that knowledge in your day to day job. As it stands, given a couple of hours of reading, I'd easily be able to refres…

As I wrote in my introductory post, I have needed to know most of these things in my day-to-day job. Of course, it depends on what sort of work you're doing.

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

#7
While I can answer some of these questions (and could answer them all a few years ago while attending university) this kind of knowledge is simply not something that I use on a daily basis. I also doubt that many others developers use it unless they have very specialized jobs.

These kind of questions should not be the only basis of the software development final exam. In software development problem solving, communication with others, knowledge of the tools etc. are much more important than knowing random knowledge about algorithms. And these skills are much harder to test than asking the worst-case run time of quicksort.

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

#8
post #4
post #3

@cperciva - you're right, I can't answer those off the top of my head like I could 15 years ago when I studied it. I don't think that's a problem with the exam system though; I could probably have answered them 12 years ago. It's just related to the field you end up in and how much you need to lean on that knowledge in your day to day job. As it stands, given a couple of hours of reading, I'd easily be able to refres…

As I wrote in my introductory post, I have needed to know most of these things in my day-to-day job. Of course, it depends on what sort of work you're doing.

I don't need to know these things in my day-to-day job either. However, if I did need to know them, they'd be a Google search away, and I could find them out in less than a minute (less than the time it takes me to get urllib2 to send cookies, for example).

On the other hand, I imagine that someone who hasn't been formally trained in complexity would have a harder time, because they wouldn't be aware of basic concepts such as complexity, the O notation, etc. Therefore, asking whether someone knows what O(n) means strikes me as a better performance test than trivia like the difference between O(2^n) and O(3^n).

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

#9
"if else chains" is to "switch statement" as "comparisons" is to "hash table" as "quick sort" is to "radix sort"

Too many graduates know worthless stuff. It's terrible most programmers don't know something simple like how a switch statement uses a jump table and is not if-then-elses.

You might add "binary tree" is to "b-tree" in my analogies but that's not true. It's about the fact blocks are 512 bytes and you want minimal block reads.

At Ticketmaster, they did not use SQL. They used raw block accesses. To find an account, they used account number as block number, etc. They used B-TREES and stuff, too, for indexing.

They used RAD51, which is octal for 41 which is A-Z 0-9 and some symbols.

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

#10
post #7

While I can answer some of these questions (and could answer them all a few years ago while attending university) this kind of knowledge is simply not something that I use on a daily basis. I also doubt that many others developers use it unless they have very specialized jobs. These kind of questions should not be the only basis of the software development final exam. In software development problem solving, communic…

Yes, this is CompSci, not software engineering
Post reply on HN