As someone that has been "actively seeking a new new role" in the last couple of months (not using the terms "job hunting" as not to confuse the recruiting police into thinking "easy 9 to 5 job"), i think i've covered quite a few of the recruiting methodologies around:

* Codility (online timed) test. I like Codility and their tests; worse case can always learn a new trick and believe my skills (not my recruiting standard answers) would improve if i spent more time solving their problems, so -1 kudos here for me. Never faired better than a 40/50% result and companies that use it don't follow up with applicants that score less than 60% or more.

* Hackerank (online timed) test. Not a good experience at all and separated this entry from the above, instead of just categorizing "online tests", just to express how crappy i felt it was. Weird and poorly described problems (written by the customer, unlike Codility, as far as i perceived, may be wrong). Small textbox in which to type the solution, without any kind of editor like feature (not even syntax highlighting) which you DO have to utilize all the time (no separate editor copy paste), since they do key logging on it, which they then allow the customer to view as video. Actually spent a large part of the minutes or so hacking that texbox (size) on Chrome Dev tools, which was actually the only interesting thing in the whole process :) Since the goal of a test is to demonstrate ones abilities and not have "fun" per se, -1 kudos for me here as well. Although, should also note that i was asked on a Friday (afternoon was it), to complete two of these assessments over the weekend, for a Monday noon interview, which ended up being cancelled 30m before since the company was not happy with the test results (nice one guys!). Sour butt and all, if a company feels entitled to "push around" an applicant like this, what should the applicant think about when it's on a payroll, to say the least.

* The surprise timed sample project test. This was actually the process that irked me. Was asked to set a day and time in which i'd have 2h availability, for implementing a surprise task i'd be sent over e-mail and which i'd have to reply 2h after receiving the task with the result, by providing a github/bitbucket/etc url. Ok. After some persistence, managed to squeeze information in that i would have to implement a web page as to "behave a certain way". The test ended up being about implementing a small django project in which you'd be able to enter an URL in a form, press submit and information about the URL would be displayed (page title, word count, meta tags and other stuff). In the e-mail that contained the task, and only then, was i informed that in the case i did not implement the full solution in the couple of hours, i would have to deliver the full solution at a later date. Not gonna -1 kudo myself on this one, that's for sure. Felt like i was doing free work for a client that either didn't knew what it wanted or did not wanted to tell me :) though i can go as far as understand why they were behaving this way.

* The sample project. Applied for a role in a company which the main language was new in my skillset (Ruby) and was tasked to do a small web app. They were aware of that. Bring it on, challenge accepted! Didn't implement all the features, but learned enough Ruby in one week to, in my opinion, demonstrate enough skills (as in "i know what i'm doing") on the frontend and backend (picked up some Sinatra, Sequel and took the opportunity to utilise Docker Composer in something useful). Ongoing recruitment process.

* The talks. Was invited to the offices for informal chats where i was asked about previous experiences, tech related and test questions. Was told directly what the company was about and had chance to ask what the company is expecting from the role and did my best to pass on my previous experiences (and passion about the tech areas that related to the role). Ongoing recruitment process.

All in all, even though i understand companies need to be able to, for example, put pressure on applicants so as to understand in a short period of time, how they would behave and perform and what their skillset is, i feel that there's some arrogance and irrealistic test methodologies around, but the truth is that if someone asked me the best way to asset a candidate, i wouldn't have an asnwer either. Personally, at the end of the day, i only want to improve my skills, solve real problems, get paid, not becoming better at interviewing.

edit: fixed some typos, added extra sour butt comment :)