What kind of technical problem makes a good code test? In general, a problem should:
Reflect a real-world task that you would expect an engineer to be able to solve on their first day of work with no knowledge of your engineering infrastructure
Not require specialized tools or resources, possibly other than data you will provide the candidate
Take two to four hours to complete
The first point is by far the most important. You will get a much better idea of a candidate's ability to do the job if you give them a test that looks like a task they would work on if they were hired tomorrow. The candidate will benefit from a clearer understanding of the type of work you will expect them to do as well.