Recently, Jaya Jha had a bad experience recruiting programmers for her company. She set up an online test for the interviewees and they cheated (googled the results on the internet.) For her, it was an ethical problem. It seems that some people told her to ignore the incident and interview these candidates anyway. She chose not to.
While this may have been an ethical issue for her, to me it raises a different question. Why do interviewers ask questions whose answers can be easily googled anyway?
To some extent, this is a hangover from our pre-internet, information-scarce world. I've had the good fortune (?) or having living memory of both worlds. Back in middle school, all we had was a single non-networked PC with the Turbo C++ compiler on it. It came with a function reference. We had a few C++ books in our school library. In those days, it was important to remember the nook and crannies of the language we were using, API references and compiler quirks. If you were stuck, you were stuck. You had to wait a day or two before you could go to the library and consult a precious language reference.
Times have changed. Programming today is mostly
googling StackOverflow. And while good memory always helps, it's not critical. What matters more is being able to make engineering and design judgments. What API among the multitude available should I use? Which language is suitable for a new project? How do I make my app more user friendly? How do I scale? How do I make my code more maintainable and scalable?
Silicon Valley has been struggling with this question for some time now. Even the Microsoft Interview is passe. Companies now look at patches and github accounts. Recruiting needs to get smarter.