For the platform that is Hooker Rank

trolliloquy
3 min readMar 18, 2017

--

Hacker Rank is infamous for conducting & cashing on a largely debated type of pre-interview screening process, a.k.a. flip a binary tree interview test, also known white board test, also known as kitty litter that if you apply on face, makes your skin glow.

All this while top rankers in thier own platform aren’t really great coders but great discussion board readers. They are the smart kids in the class who flipped the last pages in the text book before the class & read+remembered all answers to appear smart during the class.

Also, that most genuine coders on the platform have failed to great good impressions. And, the muliple choice questions are total hogwash. Want to know how? Read: https://thehftguy.com/2016/07/13/cracking-the-hackerrank-test-google-to-the-rescue/

Such screening processes are a subject of large unending debates. The ones who succeeded in, will always back it, who failed it or suspect that they will fail, will always criticise it. Yes, the category that never requires to solve such problem on a day-to-day basis also belongs to latter. Thankfully, the industry has made a note of it & a list of companies that do not follow this mode of hiring is floating on github.

Anyway, I din’t mind all of it until it bit me in the butt i.e. a platform that cashes out on evalutation of candidates on their problem & algorithm solving abilities, failed miserably to implement one on their own.

So, this test was about finding all unique substrings for a given string. On any average day, any average coder can write a brute force solution to it. Nothing out of the ordinary.

But

Hooker Rank platform has its own idiocyncrasies, like it is not well designed to asses proper outputs. The coders seem to adhere to legacy coding methods where people used return statements to capture outputs, used strongly typed languages and all. And why not? When they’ve built a platform that’s heavily based on problems that are already solved 30 years ago (like finding a loop in a linked list), why not adhere to old code.

So what’s the issue?

The given example was ABC, and it’s outputs were as follows: a, ab, abc, ac, b, bc, c

Fair. I wrote the code, ran it.

Alas! Test failed.

Why?

The sample was ba and it expected a, b and ab as outputs. Unfortunately, the code I wrote, gave me outputs a, ab, b which are in sync with the previous input-output-combo.

Now, what do I do? I’ve done the job of writing the correct code, albeit brute force, and I need to figure out why this stupid platform is expecting the outputs in the exact same sequence that has been stipulated to it? Now, it’s almost lunch time & hunger pangs might make me blind.

A platform that is the zen for coders, failed miserably to see, that my output was correct in all possible manners, except for the order in which they appear.

You may ask, they might have mentioned it in their requirements. Nope, not even once.

I said, chuck it. And hit the submit button, only to receive a regret letter from the company that was hiring.

So, dear hacker rank, I did not mind losing this one, but you’re telling me, you know how to hire great programmers, but your own programmers are dimwits who don’t know how to write proper test cases & test case outputs?

This brings into question the credibillity of such empployers and their engineering talent that relied on this sort of litmus tests to weed out false positives.

I mean, didn’t the panel evaluate the platform themselves before subscribing to it? Din’t the panel solve the problems so see the contentions arising out of it? Or, they got carried away with the hype? If such is the case, then that team really deserves the flaks, that, the team doesn’t actually know how to do the right things but do things that are popular.

--

--

trolliloquy

troll, story teller, dreamer & ‘trolliloquy’ is an act of trolling one's thoughts aloud when by oneself, regardless of any hearers