No dammit, I don't want to get better at technical interviews - I want to live in a world where we don't need them. Why not fix the root problem instead of amplifying it?
I wouldn't discourage someone from becoming a software developer, since there are good careers to be had here. But in general, I think it's probably a good decision to go into a different field, if you have the skill and talent to do so, and you aren't bound by visa restrictions that limit what jobs you're allowed to work,
First, it's an excellent reference for people who don't really understand technical "interviews" and their exam-like nature. Most interviews in other fields do probe knowledge, but interviews in our fields really are exams.
Another factor is that there's very little knowledge of information out there. We take these exams under conditions of secrecy, with very little feedback. For example, there are scores for my performance on interview exams in a database somewhere at google, but I'm not allowed to know how they were judged, who scored them, or what the scores are. I actually don't know what would be considered a good or bad performance. This site helps me get a better sense of how these are conducted and evaluated.
From a business point of view, it's also clever. People really do want to get feedback, the kind they can't get from Google or other interviewers, in part because of liability issues. So by providing an area to practice, the placement site can identify people who are most likely to get through the technical interview - which means they are most likely to place candidates. Not bad.
That said... I'm still not surprised that people who have the skill and focus to become software developers take a look at how tech interviews work and decide that they would much rather work in a different field.
Had to Google what a Hamiltonian graph was though. I’ve been listening to the musical too much.
The requirement that no actor forward a message twice is merely equivalent to finding a simple path through the graph. It does not “basically” mean there are no cycles.
As I’m guessing was intended, this problem is particularly well-suited for engineering interviews because you can start with an easy example (the DAG one could derive in this specific interview) then ask the applicant how the solution would change given the additional constraints you’ve described.
Small nitpick: in most cases, these companies make a hiring decision with just one round of interviews (if you exclude the technical phone screen, which is a way to reduce wasting everyone's time when it's obvious it's a poor fit).
As both a candidate and as a hiring manager, I much prefer to have a single round of on-site interviews, vs. having the candidate come on site more than once. Good candidates probably have a good job already, and asking them to take multiple half days off to interview is an unnecessary burden.