For decades, the way companies evaluated technical talent barely changed. Candidates were asked to solve algorithmic puzzles, write code on whiteboards or complete take-home programming assignments.