Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Похоже некоторые работодатели так и не понимают, что в большинстве случаев с тестовым заданием можно нанять только достаточно среднего разработчика. Потому что человек, знающий себе цену
Эффект Даннинга — Крюгера — когнитивное искажение, которое заключается в том, что люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации[1]. Это приводит к возникновению у них завышенных представлений о собственных способностях, в то время как действительно высококвалифицированные люди, наоборот, склонны занижать свои способности и страдать недостаточной уверенностью в своих силах, считая других более компетентными.
[].sort(). Не могу с ходу придумать кейс чтобы пришлось писать свою сортировку.[].sort() будет полезно программисту? Мне вот правда интересно, сам не могу придумать.А вместе с ростом популярности CoffeeScript и разнообразных библиотек и фреймворков они и вовсе теряют всякий смысл.
Каким образом конструкция split(‘’).reverse().join(‘’) может показать уровень разработчика? arguments на самом деле псевдомассив и надо применить Array.prototype.slice.call, чтобы сконвертировать его в нормальный массив? Ну дела. В чем разница между call() и apply()? Чёрт его знает, что-то там с массивом было. Сортировка с помощью двоичного дерева?
…
Вместо этого интервьюирующие тешат своё самолюбие и поощряют всевозможные хаки, которые в реальной рабочей обстановке либо вообще не используются, либо гуглятся за минуту.
целью этого тестового задания было определить, как я буду работать в условиях жёсткой нехватки времени
Складывалось впечатление, что тестовые задания специально не имеют ничего общего с тем, с чем javascript-разработчикам приходится ежедневно сталкиваться.
.split('').reverse().join('') я бы вообще сказал, что это проверка не знаний JS, а умений в голове делать хотя бы не сложные преобразования (в тому случае если ответ надо было дать для конкретной строки).Я искренне буду рад если мне покажут какой то новый способ решения который будет оптимальнее, но пока таких — увы и ах — не находилось(хоть я и не гуру фронтенд разработки, библиотек не писал, и ни разу не TheShock).
Приложение должно было иметь чистую MVC структуру, с public/protected методами и всё такое.
var lib = (function () {
var privateMethod = function () {
};
var publicMethod = function () {
privateMethod();
};
return {
publicMethod: publicMethod
}
})();
var Some = (function(){
function Some(){ *** }; // Конструктор (this ссылается на инстанс Some)
Some.prototype.any = function(){ *** }; // public (this ссылается на инстанс Some)
Some.any = function(){ *** }; // public static (this ссылается на Some)
var blah = function(){ *** }; // private static (this ссылается на Some)
return Some;
})(this);
Some.any(); // вызов public static
(new Some).any(); // вызов конструктор + public
Мой будущий коллега потом объяснил, что целью этого тестового задания было определить, как я буду работать в условиях жёсткой нехватки времени.
Все эти вопросы про прототипное наследование, замыкания и круглые канализационные люки можно просто заучить. А вместе с ростом популярности CoffeeScript и разнообразных библиотек и фреймворков они и вовсе теряют всякий смысл.
Тестовое задание моей мечты