Inside the post is money. Another JavaScript contest

    Hello friends. Here we are going to talk about small JavaScript programmer contests held by the Hol startup. It still seems to me that visitors to Habrahabr are the most targeted audience for such contests, especially after dividing the sites into Micro Brain and the other site.

    Of course, everyone can take part in the collective unconscious fun described here; commemorative gifts include a total of a little over three thousand dollars of American money (I specifically get ahead of myself to attract attention, such a literary device).

    Even in this post I will try to summarize the experience, the son of difficult mistakes: what they’ve already done, what happened, and how to live on with it now.

    About the contest


    Immediately the most interesting: the conditions of the competition.

    Node.js includes the implementation of a high-performance linked list, which, in addition to everything else, carefully treats RAM. Here it is, this wonderful thing: github.com/joyent/node/blob/master/lib/_linklist.js

    This code is quite specific: it is written to store idle timeouts (although this does not affect its work in any way), and does not allow one object contains several lists. (Here, obviously, I mean the direct participation of the same node in two or more lists. - approx. Transl.)

    It is required to generalize this code, depriving it of the described restrictions, but without worsening the performance of its work. A benchmark must be attached to the solution, confirming that the speed of work has not decreased.

    The fastest, most effective and most generalized implementation wins.

    You can read the original in English here .

    Decisions are made until June 30th. Prizes: $ 1,500, $ 1,000, and $ 500 for the three best solutions, and $ 350 for the most original attempt.

    Job analysis


    Further pure speculation, i.e. my own opinion. It may turn out to be true, or it may not turn out to be true quantum mechanics; like the cat Schrödinger, my opinion therefore can neither be stroked nor fed.

    Firstly, the attentive reader has already guessed that the organizers want to see, first of all, the benchmark; a linked list without a benchmark is very simple and not very interesting.

    Secondly, anticipating the same questions: according to the experience of past years, there will most likely be no “official” benchmark. You need to test the application, close to real; it’s best to take some kind of algorithm, which basically has a linked list, and drive it on some plausible data.

    Thirdly, the task, of course, is not strict. This implies conditionally creative work in a free form, it is both bad and good. Be sure to write in the comments why you think this is bad - the same messages form a rhythmic pattern in the thread, create an elusive harmony, like a carpet on the wall in the bedroom. Such, you know, with a red ornament. Probably everyone had it.

    About the trick


    And here's the catch: the laxness of the assignment is directly related to the real purpose of holding small contests. In secret, I inform you: the goal is to find programmers to invite them to work. You can work in the Hall remotely, or locally, if you accidentally (or even even intentionally) found yourself in Israel.

    The tasks that the guys from Hola set for applicants reflect the realities of work in the company. The realities are as follows: it is understood that each programmer can independently analyze requirements, design and develop the necessary things. Therefore, if setting this small task confuses you, you might have run away from Hola at high speed on the second day, waving your arms funny.

    Some of my friends like to work like this, while others do not like it. If we draw an analogy with another excellent holivar - some people think that Vim is better than Emacs, while others think that Emacs is worse than Vim. Two Jews - three opinions.

    Chronicle of events


    The contest about which you read above is the third in a row.

    The first task was quietly published on the Hola site a long time ago, had no expiration date, and meant gifts to everyone in general, so that no one left offended. The task was to write functions for working with strings in the C language.

    At first, this task was offered only to Israeli citizens. Then someone noticed that there is Internet in the office, and this not only opens up incredible opportunities for watching funny cats on YouTube, but also allows you to work remotely, sitting directly in Siberian thickets and drinking vodka from proverbial samovars incessantly.

    The main criticism of this enterprise was, of course, the statement of the task: it was necessary to present, I quote, an “ideal solution”. Since the ideal is a contraption deeply personal and incomprehensible, many guys took offense at such a task, on the jury, on heaven, on Allah.

    The problematic of the task from the point of view of the organizers was different: at first glance, writing functions for working with strings in C is very easy. There were a lot of bad, unsuitable decisions, but good ones, on the contrary, disappearingly few.

    The second contest was about the function strftime(). It was proposed to take the implementation of this function available in Github and significantly accelerate it. Here, in terms of complexity, it turned out exactly the opposite: the least courageous guys did not even try, because the front of the work looked too monumental.

    The task was also rather coolly received by the community, in particular, this can be observed on Habré. As usual in such cases, the contestants (direct and indirect) were divided into two practically disjoint camps: those who sent a solution and those who sent criticism.

    Here I will now reveal an amazing secret: there were no prizes at all for criticizing, but for a successful decision, on the contrary, there were. Oh yes, another interesting point: many children who responded to the competition tasks were offered a job, regardless of the (un) prize place.

    conclusions


    • You can write ~ 10 lines of code and win ~ $ 1,000. One and a half barrels of oil per line of code.
    • When they give money for free, you have to take it.

    I hope the story is not very boring. Just in case, a link to the contest (I always read from the end myself, it’s more effective as well).

    Good luck

    Also popular now: