I encourage people here on HN to take a look at your footnote [2] and consider it. We talk a lot about how programming has "low barriers to entry", but this is very misleading. It really just means that there are no legal barriers to entry.
I recently interviewed at google, and while I can't talk specifically about questions, I would say that medium to difficult level questions from "Cracking the Coding Interview" are representative of what you must be able to do to a startling (in my opinion) level of efficiency and accuracy. A question like "find the sub matrix with the largest sum in an NxN matrix" is absolutely fair game, at a whiteboard, on the spot.
Think about what it takes to get to this level of competence, where you can pass an exam like this. Granted, google is notoriously tough, but it's pretty common in the industry. And as you point out in your comment, we have to do this over and over.
I read about a guy who passed the bar with 100 hours of study
The bar exam (in California) is considered one of those brutally difficult, high barriers to entry that at least you only have to do once (there are training requirements to remain active in the bar).
Now, think about how much time it takes to get up to speed with data structures and algorithms, operating systems, and combinatorics, to the level where you can solve tough problems in 45 minutes to a high level of accuracy with a dry market at a white board, under the additional pressure of an in-person interview. It's hard to even think under those conditions, in my opinion.
I really don't think it's too far off to say that if you do three interviews, at difficult tech companies, you've done something approaching passing the bar.
I've heard a few people here on HN say that while they aren't in favor of a formal barrier to entry like the bar exam, they would happily take an exam like this if it meant that they didn't have to keep doing it over and over. Where they could properly prepare for it, and take it, and pass it for once and for all[1], with a proper study path, under conditions that would be consistent and fair, and get the results back (rather than a mysterious "we don't see a match at this time").
[1] As with many formal credentials, I have no problem with further education requirements to stay up to speed. The problem here is the capriciousness of it all.
I recently interviewed at google, and while I can't talk specifically about questions, I would say that medium to difficult level questions from "Cracking the Coding Interview" are representative of what you must be able to do to a startling (in my opinion) level of efficiency and accuracy. A question like "find the sub matrix with the largest sum in an NxN matrix" is absolutely fair game, at a whiteboard, on the spot.
Think about what it takes to get to this level of competence, where you can pass an exam like this. Granted, google is notoriously tough, but it's pretty common in the industry. And as you point out in your comment, we have to do this over and over.
I read about a guy who passed the bar with 100 hours of study
http://blakemasters.com/post/37113468298/pass-the-ca-bar-exa...
The bar exam (in California) is considered one of those brutally difficult, high barriers to entry that at least you only have to do once (there are training requirements to remain active in the bar).
Now, think about how much time it takes to get up to speed with data structures and algorithms, operating systems, and combinatorics, to the level where you can solve tough problems in 45 minutes to a high level of accuracy with a dry market at a white board, under the additional pressure of an in-person interview. It's hard to even think under those conditions, in my opinion.
I really don't think it's too far off to say that if you do three interviews, at difficult tech companies, you've done something approaching passing the bar.
I've heard a few people here on HN say that while they aren't in favor of a formal barrier to entry like the bar exam, they would happily take an exam like this if it meant that they didn't have to keep doing it over and over. Where they could properly prepare for it, and take it, and pass it for once and for all[1], with a proper study path, under conditions that would be consistent and fair, and get the results back (rather than a mysterious "we don't see a match at this time").
[1] As with many formal credentials, I have no problem with further education requirements to stay up to speed. The problem here is the capriciousness of it all.