"The other reason is that when I asked people what they were working on, they all said they were rewriting all the Perl code in Java "because Amazon is a Java company" - apparently that was the biggest business need at the time"
Having sat in on these kinds of discussions before at companies large and small, while it is certainly sometimes true that companies make a ridiculous platform decision like, "We're a java company", more often than not the decision is a lot more complicated. They might have felt that it was easier to hire people who knew Java, or they leveraged off the shelf software that was written in java, or they acquired a company with interesting tech based on java, or a million other reasons.
That doesn't mean they made the right decision, but I'm just making the point that what may trickle down as "we're a java company" didn't start out that way, and may not be based in that fundamental stupidity.
Did the other interviewers also ask similar questions?
I could see many reasons to port one of the worlds largest sites off of Perl and onto something like Java, one being the availability of developers that are proficient in Java vs Perl.
Also, if the company you work at uses OOP to design their systems it's perfectly normal to ask you to design something with regards to those restrictions.
Rather than go into great detail on why I don't like their questions, I'm going to pick out one that stands out as an example. It starts:
"Suppose I want to <description of some user story>, so I want you to design a system that <vague description of an implementation method>."
Okay, I'm thinking, done this before a lot of times, it's bland but not an unreasonable way to find out how somebody approaches problems. But they haven't finished talking, and they add one more sentence:
"Make sure you show me the objects and classes that your system will use."
This is the point when I try not to let my disappointment and irritation show. It's not just that they've completely prejudiced the question, by forcing it down one particular design path, it's that they've made it clear this is not a test of my ability to design systems, it's a test of my ability to mimic their design of the system. Worse yet, in one stroke this destroys any hope of finding out how the candidate thinks; instead, it just measures how well they can think along certain lines.
I don't have a problem with object-oriented designs - I'd probably have done things that way anyway. But I do have a problem with companies that hire based on conformity to groupthink. I don't want to work with a group of people who were selected based on their performance at this kind of question.