That's a great analogy - but when the actual test relies on CS theory it becomes a problem - otherwise I haven't had any issues with jobs in the past (not that I haven't been rejected before, I just haven't had any issues landing a job in a reasonable amount of time).
You're describing the difference between theory and practice. It's one thing to ask an interviewee to write a bubble sort on the spot, quite another to explore the purpose of implementing a bubble sort in a given scenario. In other words, why would a test rely on CS theory rather than an ability to derive a solution regardless of orthodoxy?