Even if you have a perfect city knowledge exam, how do you ensure the guy driving the car is the guy who passed the exam?
Uber could try to institute both a rigorous knowledge exam, and a high level of enforcement of the rule that only people who actually passed it may drive cars under Uber's name. But they would need some credible way of doing that, like roving undercover inspectors.
So I'm not sure exactly how you'd get around that problem. Maybe you give people who report that they have a different driver say $20 credit, and the ride is free or something. Of course then you'll have people trying to cheat the system.