Earlier quoted context omitted.
If their blog is to be believed, that bunch of brainless drones represents 0.5% of the applicants. I find it hard to imagine that the best talent in the market would get those questions wrong, though in spirit I agree with you.
It's easy to monday morning quarterback and say "oh, OF COURSE any competent dev. should know all this inside and out, it's basic stuff from 200 series CS courses, if that". But that misses the mark. For one, it's enormously Java specific. For another, some of it isn't very relevant to most coding. How often is it really necessary to code an abstract class in Java? How often is it really necessary to know all the tri…
1. Whenever you open a position, you get a ton of applicants that simply aren't qualified, and the faster you get rid of them the better.
2. A majority of programming jobs use Java, C# or C++, which all have 4 or 5 of these keywords with similar meaning.
This is a quick and easy filter. Of course, any quick and easy filter is going to have a false negative rate, and it's fair to protest that. Fundamentally, hiring programmers by their programming language competencies is also a very poor idea. But there are a lot of places that simply need a bunch of competent cogs and I don't think it's worth getting too worked up over the unintended negative consequences of their poor decisions. They want a ton of cogs, this is a great way to get a ton of cogs. You're not a cog and neither am I. I don't think either of us would want one of these "supercoder" jobs anyway.