Миссия невыполнима или получить сертификат

в 15:35, , рубрики: javascript, Карьера в IT-индустрии, Учебный процесс в IT

Привет. Как-то еще давно мне захотелось пройти тест по js-у. Мой выбор пал на центр сертификации от одной крупной компании. Что из этого вышло, можно прочитать в моей статье.

image


Выбранный тест по javascript представлял собой 45 вопросов, на которые нужно было ответить за 30 минут.

Описание:

Тест повышенной сложности составлен для версии языка JavaScript (ECMAScript 5, если в вопросе не указана иная) без использования сторонних библиотек. Тестировались в последних версиях браузеров, если не указана конкретная версия: Chrome 32+, FireFox 24+ Сертификат — да. Сложный. 4764 попытки.

От себя могу сказать, что большинство вопросов по js-у, но встречаются и по HTML5, и даже Flash.

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

Для начала я попросила сотрудника данной компании пройти тест с его почты (надо же посмотреть о чем там вопросы). В итоге из 45 ответов лишь 18 оказались правильными, хотя он уже два года работал в этой организации. Некоторые вопросы показались ему размыто сформулированными и не корректными, он хотел написать об этом, но, увы и ах, на сайте нет прямой обратной связи с разработчиками (на тот момент). Тогда он попробовал связаться с ними через корпоративные чаты, но оказалось, что это какая-то сторонняя компания. В результате мне дали совет: «Не проходи эти тесты, они плохие, ничего полезного для себя ты там не найдешь».

Я же, как упоротыйупорный человек решила все же попробовать. Показатели оказались приблизительно одинаковыми, но в среднем я правильно отвечала на 10-15 вопросов. За все годы мой максимум — 28 вопросов, хотя некоторые, за многократное прохождение, успела выучить наизусть.

Шло время, иногда я начинала скучать, регистрировала новый почтовый ящик и начинала снова штурмовать тест. Максимальное количество правильных ответов — 28 штук. Закралось подозрение: «Может я тупая?», ведь по таблице результатов его проходят успешно.

Миссия невыполнима или получить сертификат - 2

Некоторые умудряются даже за рекордное время — 6 минут 56 секунд. В среднем по 9 секунд на размышление. Я не уверена, что за это время успею хотя бы прочитать весь вопрос, а в него же еще надо вникнуть.

Спустя года три я заставила своего знакомого снова пройти этот тест. Он набрал 24 правильных ответа. На тот момент в этой компании он уже вырос от сеньора до солидного тим лида.

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

Миссия невыполнима или получить сертификат - 3

Удобность прохождения теста

Что первым бросается в глаза – так это сложность понимания смысла некоторых вопросов или вариантов ответов на них. При модерации следовало бы их отформатировать, хотя может это так и задумано, зачем облегчать жизнь кандидату.

Миссия невыполнима или получить сертификат - 4

Миссия невыполнима или получить сертификат - 5

Миссия невыполнима или получить сертификат - 6

image

Корректность

Миссия невыполнима или получить сертификат - 8

От флеша практически все уже отказались, какие у него могут быть преимущества?!!!

Миссия невыполнима или получить сертификат - 9

Можно и все пункты отметить и ни одного, и оба ответа будут правильные.

Встречаются вопросы с явно неправильными ответами.

Миссия невыполнима или получить сертификат - 10

Я заскринила систему оценки.

Миссия невыполнима или получить сертификат - 11

Решила проверить.

<div id="foo" class="bar"></div>

console.log(document.getElementById("foo").getAttribute('class'));


document.getElementById("foo").classList.remove("bar"); //1


console.log(document.getElementById("foo").getAttribute('class') + 'нет класса');
document.getElementById("foo").setAttribute('class', 'bar');
console.log(document.getElementById("foo").getAttribute('class') + ' - вернули класс'); 


document.getElementById("foo").className = ""; //2

console.log(document.getElementById("foo").getAttribute('class') + 'нет класса');
document.getElementById("foo").setAttribute('class', 'bar');
console.log(document.getElementById("foo").getAttribute('class') + ' - вернули класс');

document.getElementById("foo").className =document.getElementById("foo").className.replace( /(?:^|s)bar(?!S)/g , '' ); //3

console.log(document.getElementById("foo").getAttribute('class') + 'нет класса');
document.getElementById("foo").setAttribute('class', 'bar');
console.log(document.getElementById("foo").getAttribute('class') + ' - вернули класс'); 

//падает с ошибкой
//document.getElementById('foo').removeClass('bar');
//document.getElementById('foo').toogleClass('bar')

Вообще я уже знаю заранее, что на некоторые вопросы я не отвечу.

Проблема с кавычками

Можно встретить разные кавычки — "", '', ``. С последними проблематичнее всего: сложно сказать, специально так задумано или они просто играют роль одинарных кавычек.

Миссия невыполнима или получить сертификат - 12

Правильный ответ — 44.

Вот другой вопрос.

Миссия невыполнима или получить сертификат - 13

Здесь в одном вопросе два разных вида кавычек. Логично предположить, что здесь одинарные кавычки — это одинарные и есть еще какие-то странные (где они вообще такие взяли, я у себя на клавиатуре похожих не нашла?).

Нам должны были бы подойти ответы
"{} === {}", "'a' < 'A'" и " 'A' > 'B'"

В принципе консоль со мной согласна:

Миссия невыполнима или получить сертификат - 14

В тесте данный ответ попал в неправильные. Хм, может консоль врет?

Вот еще интересный вопрос.

Что будет выведено в консоль
function Foo(){
    Foo.counter++;
    console.log(Foo.counter);
}
Foo.counter = 0;
var bar = new Foo;
var buz = new Foo;

Консоль:

Миссия невыполнима или получить сертификат - 15

Данный ответ попал в не верные.

Миссия невыполнима или получить сертификат - 16

Если ваш ответ не верен, то есть возможность «Спросить у других», при этом создается активный чат. Я решила использовать данную возможность на этом вопросе.

Миссия невыполнима или получить сертификат - 17

На момент написания статьи, 01.02.2018, никто так и не ответил на мой вопрос. Ага, очень активный чат.

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

Сейчас онлайн 128 пользователей, ответивших верно

128 так 128. Зайдя недели через полторы, я увидела, что цифра не изменилась.

Вопросы приблизительно те же, что и пару лет назад. Я решила добавить туда несколько своих, для пробы закинула легенький.

Какие минусы я увидела. Прежде всего форма добавления вопроса.

Миссия невыполнима или получить сертификат - 18

Не сразу поняла, что галочка с правильным ответом находится под вопросом, чуть не отметила неверный. Почему-то отступ от поля ввода снизу до чекбокса больше, чем расстояние от него до следующего поля для очередного ответа.

Видимо на пользовательские вопросы можно дать только 4 варианта ответа, хотя в тестах попадается и по шесть вариантов.

Нет ни какой функции предпросмотра, как и просмотра после отправки на модерацию. Сохранили вопрос и все, он ушел куда-то. У вас есть только одна попытка, без возможности редактуры. И почему-то с 10 числа он все еще висит на модерации.

Из заявления о проекте

Авторизированные пользователи могут создавать свои вопросы. Они пройдут модерацию и будут опубликованы, чтобы другие пользователи смогли оценить их полезность. Особо выдающиеся вопросы будут добавлены в тесты по соответствующим языкам программирования.

Другие достойные вопросы

Вот этот вопрос мне тоже пометили как неверный.
Миссия невыполнима или получить сертификат - 19

Здесь тоже остается место для размышлений, правильным засчитается последний ответ, так как тег закрывается не </script>, а </p>. С другой стороны сейчас браузеры настолько умные, что скорее всего сами закроют тег <script>, а </p> проигнорируют, но туда еще может попасть много всего. Либо браузер закроет тег, найдя первый закрывающийся </script>. Но расстрою вас: ответ "так нельзя объявлять <script>" не зачли.

Да и ответ "сразу" тоже отчасти подходит. В общем, вопрос сильно сомнительный.

Вот еще спорный вопрос:

Миссия невыполнима или получить сертификат - 20

В моем понимании, что-то вроде этого вернет строку object

typeof {} -> "object"

Но в данном случае правильные ответы 1 и 2

Миссия невыполнима или получить сертификат - 21

Как часто вы пользуетесь таким оператором?

Миссия невыполнима или получить сертификат - 22

Я вот ни разу.

Много вопросов на XMLHttpRequest, вещь конечно нужная в хозяйстве, даже в самые темные годы js-а я уже не пользовалась нативным способом, тогда JQuery обеспечивал более надежный метод, а сейчас фреймворки предоставляют функционал.

Миссия невыполнима или получить сертификат - 23

Тоже интересный вопрос, сколько раз проходила тест, ни разу на него правильно не ответила

Миссия невыполнима или получить сертификат - 24

По идее, если в одну строчку, то в комментарий попадает закрытие функции и консоль просто подвисает.

Вот такой вопрос мне запомнился: «По скольким точкам можно построить кривую Безье?»

Вот я в своей деятельности фронта, только и делаю, что строю разные кривые. Руководство понимает, что написание фильтров и формочек слишком презренно.

Этот вопрос мне тоже засчитали как неправильный

Миссия невыполнима или получить сертификат - 25

Хоть я и изменила элемент, добавила нужный id-ник, запустил их код через консоль. Вариант когда я отмечаю отдельно 2 и отдельно 1 не прошел. 12 — тоже нет. Возможно, для правильно ответа требуется выбрать 2, 1, 12. Хотя нет, такой ответ я тоже проверила и все равно неверно.

Про консоль

Вы, наверно, уже заметили, что у меня во время теста была открыта консоль и я прямо в процессе проверяла ответы. В принципе все, что попало в интернет можно скопировать. Разработчики, конечно, приложили какие-то усилия против того, чтобы нельзя было скопировать задания в процессе выполнения теста, заблокировав правую кнопку мыши. Я открыла консоль через меню хрома, выбрав «инструменты разработчика».

Миссия невыполнима или получить сертификат - 26

Дальше могу инспектировать любой элемент и копировать текст. Могли бы и в картинки задачи превратить.

Предполагается, что тест можно проходить три раза в месяц. Если в режиме инкогнито зарегистрировать новую почту, то происходит автоматическая авторизация в тексте. Так что можно проходиться тест сколько душе угодно.

Результаты также выводятся странно. Если ты не правильно отвечаешь на вопрос, то в конце можно видеть текст вопроса и выбранные ответы. На те, на которые ответил правильно, показывается только текст вопроса.

В принципе, если не лень, то можно составить базу всех вопросов с правильными ответами. Если заморочиться и поискать ответ, а также в процессе многократного перебора выбрать правильные. Вопросы повторяются относительно часто.

На сладенькое

В консоли на совсем поселилась ошибка

Миссия невыполнима или получить сертификат - 27

Некоторые вопросы не однозначны еще и по тому, что нигде не указано, при выборе ответа учитывать строгий режим или нет.

Итог

Об авторах.

Авторы тестов – профессиональные разработчики и эксперты в своих предметных областях. Все они обладают подтвержденным опытом использования IT-технологий в проектах крупных интернет-компаний.

От компании, которая организовала широкую образовательную деятельность в сфере it, я ожидала большего. Тем более, что данный образовательный проект активно рекламируется.

Если вам вдруг стало очень скучно, то можно убивать время. Если ищете что-то для улучшения своих знаний, то данный тест вряд ли вам поможет.

Автор: anneta0ghh682

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js