I've been on both sides of this now and it's such a delicate balance.
As a developer, you want to be fairly evaluated to prove your worth.
As a hiring manager, you want to make sure you don't hire a dud (or worse, someone that will drag down the rest of your team).
I spend more than 1/2 of my day now trying to build out a team that I need to aggressively hire for. I've radically revamped our hiring questions to ensure they are:
* Based on real-world code. That means coding up components if you're a front end developer or API contracts if you're a back end developer.
* Includes a breadth of tasks. PR reviews, writing code, writing tests, and systems design are all a part of the assessment - not just algorithms tests.
* Has clear acceptance criteria. I want to remove as much bias and subjectivity from the assessment as possible. Every question we use has a Wiki page designed to formulate the question, the unit tests, and sample answers as well as grading criteria depending on the level we're hiring for. Expectations for Principal engineers are different than those for mid-level engineers.
It's not perfect. I'm not perfect. But I'm trying. SO hard. I hope that we're resolving this problem in the best way possible for both us as a company and you as the candidate.