13 декабря 2058. В этот день вся земная история разделилась на два этапа: до и после Контакта. На орбите нашей планеты появился объект внеземного происхождения. Незваного гостя засекли около Марса, а еще раньше «странно движущуюся комету» заметили астрономы в разных странах. Пришельцы оказались механической формой жизни, которая, впрочем, не проявляла враждебности.

Через несколько дней, в течение которых всю планету лихорадило от вопроса, зачем прибыли пришельцы, они попытались выйти на связь, отправив на все компьютеры в мире загадочное сообщение. Оказалось, что пришельцы синтезировали для себя некое подобие языка, имеющего общие черты с тремя земными языками программирования: C++, C# и JavaScript.

Для разработки метода общения было решено создать рабочую группу из специалистов по этим языкам. Для отбора профессионалов были составлены специальные тесты по каждому языку программирования. Пройдите тест, и, возможно, вы сможете вписать себя в историю Земли.

Тест по JavaScript
Тест по С#
Тест по С++
Победители
Итоги подведены, победители выбраны с помощью рандомайзера. Ими стали:
JavaScript
— Виктор Диденко, Санкт-Петербург
— Анна Сенькив, Кстово
— Артём Харламенко, Севастополь
C#
— Курилкин Сергей, Минск
— Алексей Голощапов, Москва
— Максим Абрамов, Санкт-Петербург
C++
— Николай Овчинников, Новосибирск
Поздравляем победителей и благодарим всех участников!
13 декабря 2058. В этот день вся земная история разделилась на два этапа: до и после Контакта. На орбите нашей планеты появился объект внеземного происхождения. Незваного гостя засекли около Марса, а еще раньше «странно движущуюся комету» заметили астрономы в разных странах. Пришельцы оказались механической формой жизни, которая, впрочем, не проявляла враждебности.

Через несколько дней, в течение которых всю планету лихорадило от вопроса, зачем прибыли пришельцы, они попытались выйти на связь, отправив на все компьютеры в мире загадочное сообщение. Оказалось, что пришельцы синтезировали для себя некое подобие языка, имеющего общие черты с тремя земными языками программирования: C++, C# и JavaScript.

Для разработки метода общения было решено создать рабочую группу из специалистов по этим языкам. Для отбора профессионалов были составлены специальные тесты по каждому языку программирования. Пройдите тест, и, возможно, вы сможете вписать себя в историю Земли.

Тест по JavaScript
Тест по С#
Тест по С++
Победители
Итоги подведены, победители выбраны с помощью рандомайзера. Ими стали:
JavaScript
— Виктор Диденко, Санкт-Петербург
— Анна Сенькив, Кстово
— Артём Харламенко, Севастополь
C#
— Курилкин Сергей, Минск
— Алексей Голощапов, Москва
— Максим Абрамов, Санкт-Петербург
C++
— Николай Овчинников, Новосибирск
Поздравляем победителей и благодарим всех участников!

Комментарии (30)


  1. LibrarianOok
    13.12.2019 17:47
    +4

    «Найдите ошибки в описании теста по js»


    1. Carduelis
      13.12.2019 18:03
      -1

      кто ответит правильно минимум на 9 вопросов из 10

      Видимо 9 — это максимально возможный балл здесь)


      1. LibrarianOok
        13.12.2019 21:41
        +2

        Там прекрасен уже первый вопрос:

        image

        Щто??


  1. anonymous
    00.00.0000 00:00


  1. mapron
    13.12.2019 19:22
    +22

    8.4 Принимая участие в Конкурсе, Участник дает свое согласие на использование Организатором, в том числе в рекламных целях в любых средствах массовой информации, предоставленной им информации, включая его персональные и иные данные (фамилия, имя, город проживания), сведений о полученном Призе без получения предварительного согласия Участника и уведомления Организатором, а так же без выплаты какого-либо вознаграждения.


    Простите, нет. Это дно)


    1. vp_arth
      30.12.2019 00:17
      +3

      Хм, почему в посте сначала экшн, а потом правила?

      Сим уведомляю, что на момент прохождения квеста правил не читал и согласия на обработку ПД не давал.


      1. Michael232
        17.01.2020 17:37

        Спасибо, пожалуй присоединюсь:


        Сим уведомляю, что на момент прохождения квеста правил не читал и согласия на обработку ПД не давал.


  1. Peacemaker
    13.12.2019 21:55

    И тест можно проходить не один раз (C#). При должной усидчивости даже далёкий от темы человек с ним успешно справится путём перебора вариантов.


  1. NeoCode
    13.12.2019 22:23
    +10

    Тест по С++, первый же вопрос

    Итак, начнем. Если определена операция вычитания для двух объектов класса A, а операция преобразования к int не определена, что будет вызвано при
    A a1,a2,a3=5;
    a3 = a1 – a2;


    Только операция вычитания
    Преобразование к целому
    Произойдет ошибка
    Операция вычитания, а затем преобразование к целому

    А конструктор класса A с параметром типа int определен???
    В общем, после первого же вопроса проходить тест желание отпало:)


    1. fregate
      14.01.2020 10:09

      а я до второго дошел! ответив на первый неправильно, так как вообще-то там ошибка должна быть изза a3=5
      а во втором еще веселей
      нажал, что будет ошибка, но по причине синтаксиса, оказался прав (но по другой причине). видимо, какой-то джун писал и не проверял код.


  1. AgentFire
    13.12.2019 23:57
    +1

    я конечно не претендую на звание про, но они ищут кодеров которые пишут нечитаемый говнокод или же все таки простую, понятную и сложную архитектуру?)


    1. Viceroyalty
      27.12.2019 23:00
      +1

      Кстати да, от половины примеров по С++ стошнило, видимо обфусцированный код был восстановлен декомпилятором, ну или просто они индусы


  1. KanuTaH
    14.12.2019 03:35
    +6

    По плюсам в принципе все понятно, но вот по JS… Вопрос:

    Какой результат будет получен в следующих двух примерах:
    1. “2” + “10” = a
    2. “2” * “10” = b

    Я бы сказал что будет syntax error в обоих случаях, но такого варианта ответа там нет… Чтобы не было syntax error, надо бы выражения перевернуть.


    1. LibrarianOok
      14.12.2019 10:01
      -6

      Подожди, сейчас перевернут и минус тебе влепят, чтоб не умничал тут и не тыкал дерзко в ошибки.


    1. dagen
      15.12.2019 16:08

      Вообще-то в теле поста явно указали, что тест для инопланетного разума :D


    1. n1ksON
      19.12.2019 13:11
      -2

      Вообще-то в JavaScript значение из правой части записывается в в левую.


      1. KanuTaH
        19.12.2019 15:14
        +1

        Ммм. И как это отменяет то, что я написал?


    1. darkdaskin
      15.01.2020 16:24

      Перевернули, но всё равно SyntaxError: illegal character, потому что кавычки не те.


    1. fgeniy
      17.01.2020 17:37

      '' + 1 // '1'


  1. SidMeier
    15.12.2019 10:14
    +4

    Но ведь в исходниках страницы есть все ответы… Kaspersky_Lab небезопасненько как-то…


    1. one-two
      19.12.2019 15:41

      «Не виноватые они»(с) Это движок тестов такой, еще будет дорабатываться внутри Хабра.


    1. Viceroyalty
      27.12.2019 23:02
      +1

      Кто сказал, что поделки Kaspersky_Lab это безопасно, это просто дорого и тормознуто


  1. dagen
    15.12.2019 16:07
    +2

    Я просто тыкнул на первый ответ, собираясь выбрать второй, но это оказалось невозможным после первого тыка :(


  1. denis-adamchuk
    19.12.2019 13:12

    Не могли бы вы пояснить, в чем смысл вопроса про check_authentication() в тесте по C++?
    А именно, почему неверен ответ habracadabra? С ним check_authentication() возвращает 1, а не это ли требовалось?


  1. jayb19
    19.12.2019 13:12

    В тесте JS:
    2 вопрос: выражение которое «вернет» false — и разные варианты с оператором сравнения. Дальше по тесту вопрос что «вернет» typeof и вариант с object неверный, видимо потому что теперь слово «вернет» обрело иной смысл.


    1. lookreciuspin
      17.01.2020 15:22

      8 типов? А спецификация или реализация не уточняется, и как это понимать?
      а что у нас функция теперь не объект?


  1. nickolaym
    02.01.2020 01:49
    -3

    У вашего теста по С++ есть один фатальный недостаток.
    Полагаю, что и в других тестах — тоже тот же самый.
    Стыдно! (Глупо!)
    Подробности письмом, тем более, что тест я прошёл и свой адрес вам указал.
    Хотя как способ рекламы — сойдёт. Да и сроки розыгрыша призов, поди, давно все закончились, апеллировать не к чему.


  1. Maccimo
    04.01.2020 03:00
    +1

    Нет ни Java, ни Brainfuck?
    Эти пришельцы безнадёжны, не стоит тратить на них время.


  1. Aluminium1
    17.01.2020 15:22

    Сведущие, поясните ответ на 5-й вопрос по C#: почему метода 3, а не 2? Ведь в приведенном коде только Do(true) и Do(DateTimeKind.Local) вызываются со значимыми типами


  1. Dwar0xF
    17.01.2020 15:22

    Почему в 6 вопросе по с++ ответ «habracadabra» неправильный?