Когда рекламный баннер «Пройди Тест по Go от Selectel» всплыл уже четвертый раз за день — я сдался. Нажал и пошёл проходить тест — несмотря на аннотацию уровень оказался очень «базовым» так что через несколько минут я завершил его всего с одной ошибкой.

Это событие не стоило бы упоминать — но «впечатлило» оформление и воплощение теста — как можно видеть ниже — из‑за неаккуратности составителей даже и ответ где‑то иной подходит. Попытался об этом написать приватно, почтой — но, кажется, безуспешно. Может заметку на Хабре заметят быстрее?

Аннотация

По вышеуказанной ссылке попадаем на страницу, которая гласит что сейчас мы погрузимся на уровень дальше «базы», и что тест прошли уже 15 000 человек.

Последняя фраза «...и заберите пачку экспертных материалов...» неясно к чему относится — там просто e‑mail спрашивают в конце, и всё — тишина:)

Всего в тесте 9 вопросов и в общем‑то пройти за 2 минуты, наверное, можно — но дольше вчитываться придётся в нюансы оформления.

Однострочные Программы

Несколько вопросов пострадали из‑за того что использованная «платформа» для создания тестов не даёт оформить код программы (или составители не разобрались). Выглядит это так:

из-за отсутствия переводов строк и пропорционального шрифта даже прочесть затруднительно
из‑за отсутствия переводов строк и пропорционального шрифта даже прочесть затруднительно

В таких языках как Perl или Python (если не вспоминать экзотику вроде APL) есть увлечение однострочными программами. Для Go это не очень свойственно — в частности в конце строк опциональна точка‑с‑запятой, но она становится обязательной если несколько statement‑ов пишутся в одну строку.

Данный пример «как есть» не скомпилируется по этой самой причине — но авторы, конечно, имели в виду другое — просто убедиться что тестируемый понимает, x и y — разные переменные и занимают отдельные фрагменты памяти. (Продвинутый уровень, гм...)

Прочие вопросы с этой же проблемой:

опять же из-за "однострочности" разбитой произвольно  в две строки - глазам больно
опять же из‑за «однострочности» разбитой произвольно в две строки — глазам больно

И даже такая коротышка. Ну поставьте точку с запятой если не можете оформить в несколько строк.

Причём тут верный ответ на мой взгляд не вполне аккуратно сформулирован (мне не нравится слово «может» — оно описывает общую ситуацию а не частный случай).

Повторение — мать учения

Два вопроса об одном и том же. Я бы ожидал что один из них, поэтому, подразумевает какой‑то другой ответ (мол для ситуации с конфигом мы хотим иное поведение) — ан нет.

да, мы так любим эти возвраты ошибок через все уровни вызовов
да, мы так любим эти возвраты ошибок через все уровни вызовов
в принципе-то если это главный конфиг серверного приложения - можно и панику бросить
в принципе‑то если это главный конфиг серверного приложения — можно и панику бросить

«Всё, я хочу кофе»

С формулировкой последнего (кажется) вопроса совсем не справились — устали, очевидно:

ну догадаться же несложно
ну догадаться же несложно

Да, здесь уже просто надо догадаться что хотели спросить, хотя точно угадать что скрывалось под обрывком слова «переал» я затрудняюсь. Так или иначе это несложно хотя я бы обратил внимание что поведение реально тоньше. Слайсы — это как бы указатели на нижележащие массивы — и в принципе изменение в массиве потенциально можно увидеть если append не потребовал выделения нового участка памяти (может слово «переаллокация» имелось в виду?) Ну и в целом «функция делает append» напоминает шуточки в духе «компьютер делает жжжжж».

Итак, мы победили тест — что нам дадут?

Я так и не узнал. Ввёл правильный адрес — но пока ни золотых гор, ни даже «пачки экспертных материалов» не увидел:)

продаю душу, подписываюсь кровью
продаю душу, подписываюсь кровью

Заключение

На последнем скриншоте видна фраза (она присутствует на всех экранах), поясняющая что тест сделан с использованием некоей сторонней платформы.

Почему серьёзная компания не может потратить человеко‑день чтобы воплотить такую простенькую форму опросника (как видно форма одинаковая каждый раз) на своей инфраструктуре — и без описанных выше «проблем» — для меня загадочно. По‑видимому в реализации подобного теста принимают участие сразу большое количество сотрудников из разных отделов — от «работы с общественностью» до какого‑нибудь эксперта из технического отдела — ну и получается по поговорке что у семи нянек, гм‑гм...

Чтобы завершить в позитивном ключе, отмечу — я люблю всевозможные тесты и задачки — и всегда готов помочь в устройстве и составлении подобных «скриннингов» — не только в тестировании — на почве моего старенького проекта CodeAbbey накопился определенный опыт (и куча контента) — так что я обычно предлагаю компаниям, в основном тем, в которых работаю, воплотить подобные инструменты для привлечения технических специалистов — правда отклик обычно получаю в духе «класс, нам это точно надо, перепоручаю вопрос такому‑то такому‑то» — и после пары итераций тишина... Если вы вспомните что вашей компании (не обязательно большой) это может быть полезно — не стесняйтесь, напишите:)