Тестовые задания на собеседовании разработчика — есть ли в них смысл?

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

    Cо стороны соискателя (aka разработчик Петя)


    Если Петя находится в начале карьеры разработчика — то ему делать тестовые задания будет скорей всего интересно и он готов потратить на это личное время. Для разработчиков уровня Senior и выше подобные задания вызывают уже скуку, тем более не оплачиваемую. А так как обычно разработчик обходит не одну компанию, то количество впустую потраченного времени на тестовые задания может составлять уже дни и даже недели!

    Бывают ли действительно клевые задачи? Бывают но очень редко, может быть одна на 100. В основном, все стандартно и не интересно — считать откуда-то данные, что-то с ними сделать, записать куда-то данные (файл/база/сокет..). Или реализовать на месте какой-то известный алгоритм. Почему это так? Да потому что, в большинстве случаев нанимателю нужно просто проредить стопку CV на его рабочему столе, об этом я расскажу подробней дальше.

    Cо стороны нанимателя (aka тимлид Вася)


    У Васи есть две дюжины вполне подходящих резюме, среди которых надо выбрать достойного кандидата в свою команду. Собеседовать все две дюжины Васе лень, да и незачем, и он решает немного профильтровать очередь и выбрать наиболее достойных. Конечно, Вася знает, что можно пойти путем, как в известном анекдоте:

    А зачем нам неудачники
    Конец рабочего дня. Сидят два специалиста по подбору персонала, старый и молодой.
    Старый:
    — Ну что, я закончил. Пошли домой?
    Молодой, посматривая на пачку необработанных резюме:
    — Да у меня ещё работы уйма.
    Старый подходит, делит пачку на две, одну выбрасывает в урну. Молодой:
    — Как?!
    Старый:
    — Им не повезло. А зачем нам неудачники?

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

    Собеседующий


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

    Время выполнения и объем задания


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

    Качество кода и оформления


    Тут наниматели пытаются реализовать в постановке задач то, чего они лишены в реальной работе — код с комментариями, покрыт unit-тестами, обязательно с code style, а бывали случаи, когда требовали краткий tutorial по программе. В большинстве же случаев в реальной работе совсем другие требования, гораздо прозаичней.

    Формат задания


    Можно встретить как стандартные задания на дом, так и такие извращения, как:

    • написать решение на доске(этим обычно грешат западные компании)
    • написать решение в notepad на ноуте компании
    • написать решение удаленно в режиме pair programming

    Что Вася видит на выходе?


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

    Что бы хотел видеть Вася?


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

    Что дают тестовые задания в реальности?


    Разрыв между тестовым заданием и реальной работой настолько велик, что проецировать результат выполнения небольшого задания на 3 часа на долгую работу разработчика было бы весьма наивно. Очень много остается за кадром (дебаггинг, поиск и устранение ошибок, рефакторинг, архитектура проекта сложнее Hello World, взаимодействие с коллегами), что нивелирует практически к нулю какую-то пользу от таких заданий. Примерно с тем же эффектом можно просто подкинуть монетку и быстро решить, подходит кандидат или нет.

    Хорош нагонять, автор, наверное в крутых конторах меньше бреда с заданиями


    Хорошо известен случай, когда автора пакетного менеджера Homebrew не взяли в Google, лишь по той причине, что на 7-м интервью он не смог на доске написать алгоритм, как инвертировать бинарное дерево. Сколько крутых парней компании теряют от таких невнятных заданий — можно только догадываться.

    image

    Что, тестовые задания совсем не нужны?


    Находясь на месте Васи, я иногда давал тестовые задания для того, чтобы было что обсудить после его выполнения. Но только, если сам разработчик не против его выполнить. Это хорошо подходит для Junior и Middle-разработчиков, если у них нет кода, который они могут продемонстрировать. Senior'ов и выше небольшим тестовым заданием уже не оценить, тут нужен другой подход.

    Могут ли тестовые задания действительно приносить пользу обоим сторонам?


    Учитывая минусы традиционных тестовых заданий, некоторые компании стали применять подход, более приближенный к рабочим условиям. Кандидат получает реальное задание из текущего списка задач (backlog) компании, которое может выполняться от одного дня до пары недель и оплачивается по договорной ставке. Таким образом, кандидат получает возможность поработать в режиме trial с новой командой и при этом заработать деньги за потраченное время. Это позволяет оценить кандидата более точно в условиях, приближенных к боевым, но, к сожалению, это могут позволить себе немногие компании.

    Дотошный читатель спросит — «ОК, автор, если не тестовое задание, то как еще можно отобрать нужного сеньора?». А это уже тема для отдельной статьи, следите за обновлениями!

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

    Помогают ли тестовые задания в оценке качеств разработчика?

    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 92

      –6
      Дотошный читатель скажет — «ОК, автор, если не тестовое задание, то как еще можно отобрать нужного сеньора?».

      Мои тестовые задания (вопросы) такие:


      • какую книгу сегодня читаем?
      • какую книгу последнюю купил (именно купил) и когда?
      • что такое fork?
      • что такое pipe?
      • что такое pid?
        Этого бывает достаточно
        +10
        какую книгу сегодня читаем?
        какую книгу последнюю купил (именно купил) и когда?

        Вы библиофилов в библиофильскую контору нанимаете?
          –1

          Нет, я ищу профессионалов, которые умеют учиться!
          А вы как новые знания приобретаете?

            +5
            Наводящий вопрос задам: мы с вами где сейчас общаемся?
              +4

              Я к примеру разбираю примеры и документацию по требуемой теме. В 95% случаев это проще чем искать непонятно какую книгу (если вообще есть) и выковыривать из неё нужные 2 абзаца по требуемому вопросу. Которых там скорее всего нет. БОльшая часть требуемой информации размазана тонким слоем по форумам и исходникам. О временном лаге книг я вообще молчу.
              И нет, это не какой-нибудь свежий React. А к примеру особенность поведения plugin API свежего SolidWorks.

                –1
                проще чем искать непонятно какую книгу (если вообще есть) и выковыривать из неё нужные 2 абзаца по требуемому вопросу.

                Странно, зачем выковыривать-то? Мне важно, умеет человек учиться, следит он за развитием отрасли, повышает свои профессиональные знания или он застыл.

                  +1
                  Может человек застыл на топе, это, знаете ли, для некоторых проектов весьма полезна. Есть множество технологий, которые практически застыли, но дело свое делают, а альтернатив особо-то и нет.
                    –3

                    У каждого свой смысл жизни.

                    +8

                    Окей. Я пишу в основном на С++. Мне нужен обзор последнего стандарта. Гораздо полезней для меня почитать референс, пролистать пропозалы, статьи от профильных блоггеров, обсуждения. А книга по С++20 будет фиг знает когда.

                      +1
                      C++ тут не одинок.
                        0

                        А вы посмотрите как описывали Си более 30 лет назад:


                        Введение в Си. Послание из прошлого столетия
                          0

                          Так самое Главное — Вы Читаете. И в этом смысл. ы ищите и читаете. Честь и хвала вам.

                            0
                            Постоянно покупаю книги, увы, с электронных носителей не воспринимаю учебную литературу так качественно…
                            Но я инженер давнишней школы… Видимо привычки из начала 90х
                          +2

                          А если последняя книга, которую я купил, была фантастика (а также предпоследняя и предпредпоследняя, я трилогию Лю Цысиня купил), то я не прошел квест?

                            –4
                            Ценность книг в комплексном и системном походе (не берем в расчет плохие книги), что в статьях практически невозможно достичь из-за малого объема. Если человек не осилил книгу по объему, то и большие задачи с множеством переменных и составляющих не по плечу. У меня был начальник, которого от одного вида 1000 страничной книги по С++ передергивало. Но и мышление было на таком же уровне.
                            Читаете фантастику (именно читаете, а не слушаете или только смотрите), тем более если хорошую, то это очень хорошо, т.к. развито абстрактное мышление и воображение, а это в творчестве необходимо. А если у вас есть еще и знания по требуемым технологиям — вы ценный сотрудник
                              0
                              У меня был начальник, которого от одного вида 1000 страничной книги...

                              Но при этом он был вашим начальником, а не подчинённым ;)

                        +3
                        В моей области толковых книг не бывает вообще. И это уже много лет так. Они устаревают до написания.

                        В целом-то идея неплохая, только нужно вопросы под предметную область подкорректировать. Скажем, вопрос вида: «А чему и как вы научились за последний год» был бы более универсальным.
                          +2
                          Не кажется ли вам, что суждение о способности человека учиться по факту того читает ли он в данный момент какую-то книгу — это признак некой закостенелости? Так можно было делать еще лет 10-15 назад, когда книги успевали выходить до того как информация в них устареет. Сейчас же их можно читать разве что для систематизации знаний, уже полученных из гораздо более оперативных источников, задолго до того как эта книга вышла.
                            –2

                            Человек по книгам учится много чему: и математике, и языкам, и осваивает культуру да всему. Это какая информация устарела при выходе книг Льва Толстого или братьев Стругацких. Шекспира читают до сих пор. И вы пишите что что-то сиюминутное...

                              +5
                              Стоп, мы говорим о повышении профессионалами своей квалификации или и о художественных книгах?
                              Если о художественных книгах, то какая информация из книг Льва Толстова или братьев Стругацких может повысить профессиональный уровень?
                                0
                                Хотя, если под приобретением новых знаний вы подразумевали не повышение квалификации, а приобретение новых знаний в совершенно других или смежных областях, тогда понятно.
                                  0
                                  Именно, повышение квалификации — это когда человек не застревает на чем-то одном.
                          +1
                          Вы библиофилов в библиофильскую контору нанимаете?

                          Зря на человека накинулись кстати, его компания, его коллектив — имеет право.
                          Да со стороны выглядит абсурдно, но может у них такая команда, и если вы не вмещаетесь в нее, это не говорит о том что вы плохой специалист.
                          Как то я собеседовался в музыкальный радио проект с большой историей, там обязательный был вопрос про любимую музыку, жанры, стили.
                          Увы по каким то причинам не подошел, вполне возможно кстати из-за ответа на этот вопрос(недостаточно глубоко или энергично ответил).
                          +1

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

                            +3
                            А если я вообще не купил ни одной книги(по программированию)?
                              –8

                              Сочувствую. А хоть в руках держали?

                                +1

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

                                  +1
                                  Книги можно не только читать, но и писать

                                  Я думаю это тоже было бы хорошим началом беседы.
                                +1
                                И если ответил хоть что-то, кроме «Не смотрю» — собеседование провалил? =)
                                  0
                                  По ссылке примерно так и сказано)
                                0

                                Ну давайте снова поиграем в эту игру. Правда, последний раз я в нее играл не с вами, конечно.


                                какую книгу сегодня читаем?

                                Certified programming with dependent types.


                                какую книгу последнюю купил (именно купил) и когда?

                                Algebra: Chapter 0. В апреле где-то, с тех пор прочитал примерно треть, сейчас пробуриваюсь через скучное для меня умножение и деление (это не веселые диаграмки гонять и доску для крестиков-ноликов чертить).


                                Ваш вердикт?

                                  +3
                                  Ваш вердикт?

                                  Ну вы же прекрасно понимаете что вы оверквалифайед и мы вам не перезвоним.
                                  0
                                  какую книгу последнюю купил (именно купил) и когда?

                                  "iPhuck 10", пару месяцев назад (ответ совершенно честный — на самом деле купил именно ее). Иииииии???

                                    +1
                                    Иииииии???

                                    Продолжим по списку :D
                                    — что такое fork?
                                    — что такое pipe?
                                    — что такое pid?
                                  +1
                                  Тестовые задания вполне применимы, если они а) хорошо согласуются с предстоящей кандидату работой; б) грамотно составлены и не требуют никаких уточнений, особенно если речь идёт про тестовое задание до собеседования.

                                  Во-первых, предварительное тестовое задание нетривиального объема (т.е. не на 5-10 минут кодинга или гугления) неплохо фильтрует тех, кто идёт на собеседование в режиме «я только спросить», а работа ему на самом деле особо не сдалась. Во-вторых, от прошедших предварительное задание получаем код, на который потом можно посмотреть и пообсуждать (нужно, конечно, еще обязательно убедиться, что этот код кандидат написал сам лично, но это сделать довольно таки несложно).

                                  Но если задание составлено плохо, если оно слишком большое или ТЗ мутное, если, наконец, ТЗ нифига не согласуется с вакансией или образом конторы (я как-то раз получил ТЗ вида «поправь ошибки в коде» от какой-то стильной, модной, молодёжной конторы, которое было написано кодом вида «писал в метро на коленке в notepad.exe, попутно занимаясь более важными вещами») — то такое задание будет фильтровать кандидатов нежелательным для конторы образом. С другой стороны, мне как кандидату это экономит время — неадекват в тестовом задании видно куда лучше, чем в описании вакансии или на публичных ресурсах конторы.
                                    0
                                    Вы даже не представляете сколько можно отсеять безобидным тестовым заданием (или похожем)
                                    $a = [1, 2, 3, 4];
                                    удалите второе значение.

                                    Последний кандидат, с 2 годами опыта, в цикле нашел значение и создал новый массив без него, плакали все. Самое печальное что энчар таких по 20 человек в день готов приглашать на собеседование, некоторые себя мидл+ либо сеньерами называют.
                                      +2
                                      2 года — это джун, ему простительно. Тем не менее, проблему он решил, а это значит, что товарищ не безнадежен. Джун — как мягкий пластилин, из него можно вылепить вполне годную боевую единицу, при желании.
                                        –9
                                        Берите себе, лепите. Из таких уже ничего не слепить, пусть картриджи дальше заправляют.
                                        +2

                                        Что-то я не понял. Удалить элемент "2" из массива состоящего из 4 чисел? В чем представленное решение не найс?

                                          0
                                          И какой же правильный ответ?)
                                            –4
                                            Очевидный — unset($a[1]);
                                              0
                                              т.е. вы не решение хотели, а проверить память?
                                                –2

                                                Базовое владение языком, не?
                                                К тому же, может именно оно требуется.
                                                В тестах на соображалку, можно предложить соискателю использовать любой известный ему язык...

                                                  –1
                                                  Это не память, это минимальная база новичка через неделю, используется сплошь и рядом. Именно проверка на базовые вещи сразу исключает больше половины соискателей, остальных подводит логика. В итоге остается 1 из 10 с кем можно и посидеть. Вот такая действительность, сам думал что народу много толкового, пока не стал команду набирать.
                                                  +4
                                                  А почему не unset($a[2]);? Второй же удаляем, а нумерация с нулевого.

                                                  Правильно было бы спросить, а второй это какой? Что делать с ключами, должна ли сохраниться последовательность?
                                                    –3
                                                    и ведь даже кто то плюсанул, интересно даже что у вас получится ))
                                                      –4
                                                      Вы точно разработкой занимаетесь? Наверное я про таких мидлов и пишу.
                                                        +1

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


                                                        Если это был сарказм и попытка "уколоть", то у вас не получилось.

                                                          0
                                                          Тогда прочитайте что вы там написали. Особенно про ключи.
                                                            +1
                                                            Что конкретно у вас вызывает сомнения?

                                                            С ключами все довольно ясно. Т.к. при удалении элемента unset'ом ключи массива не меняются, получается не массив, а словарь Это разные структуры, хотя в PHP это один тип данных. Проиллюстрирую разницу:
                                                            $a = [1,2,3,4];
                                                            echo json_encode($a); //[1,2,3,4]
                                                            unset($a[1]);
                                                            echo json_encode($a); //{"0":1,"2":3,"3":4}
                                                            Вопрос про ключи и заключался в том, что вам нужно на выходе — массив или словарь?
                                                              0
                                                              На самом деле, unset — не самое лучшее решение для массивов, как Вы верно заметили.
                                                              В данном случае более корректно будет:
                                                              array_splice($a, 1, 1);


                                                              Это, кстати, хороший пример плохого тестового задания для нормального разработчика, разве что подколоть очередного «php-эксперта».
                                                                0
                                                                Я не говорил, что unset хорошее или плохое решение. Я лишь сказал, что надо уточнить задачу, хоть она и кажется предельно простой. Поэтому лучшим ответом на задачу будут встречные вопросы. Что, кстати, само по себе является неплохим показателем зрелости разработчика, как мне кажется.
                                                            +1
                                                            Бессмысленно спорить и вообще, извиняюсь если задел. 100 раз корил себя что бы не писать больше на хабре, надо в очередной раз выпилится.
                                                        +2

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

                                                          0
                                                          не пришло в голову что у меня проверяют стандартную библиотеку… вероятно кандидат подумал что проверяют возможность написать алгоритм

                                                          Эээээ? Так ведь ни то и ни другое. Проверяют способность решать задачи. А в случае сомнения в правильности понимания условий задачи — способность задавать уточняющие вопросы. Я бы на вашем месте занялся прокачкой обоих этих скилов. По-моему, они у вас хромают :)

                                                            +1

                                                            Это только по вашему ;)

                                                      +5
                                                      Последний кандидат, с 2 годами опыта, в цикле нашел значение и создал новый массив без него, плакали все.
                                                      А где в условии написано, что исходный массив можно менять? Человек вам сделал универсальное решение в котором есть и исходный массив и новый, без второго элемента — что в этом плохого?
                                                        +2
                                                        Человек вам сделал универсальное решение в котором есть и исходный массив и новый, без второго элемента — что в этом плохого?

                                                        Присоединюсь к этому мнению — возможно человек решил что не может же быть тестовое из одной строки и написал сам решение.
                                                        У меня один раз было тестовое: расшарить свой рабочий стол и в текстовом редакторе(не IDE) распахнутом на весь экран написать переворот строки.
                                                        Собственно суть таких заданий это посмотреть как человек общается и как думает.
                                                          0
                                                          Присоединюсь тоже — человек с опытом собеседований понимает, что в 95% случаев с таким вопросом от него ждут собственную реализацию а не вызов библиотечного метода. И не расчитывать на 5% — вполне нормально.
                                                            0
                                                            И не расчитывать на 5% — вполне нормально.

                                                            ну по хорошему пообщаться надо — но такой шанс могли и не дать, HRша могла молчать дать ТЗ и сказать «вот как сделаете тогда и приходите поговорим».
                                                      0
                                                      >У Васи есть две дюжины вполне подходящих резюме,
                                                      Где вы такое находите? В моей практике две дюжины — это в лучшем случае студенты, которые ничего не умеют, и это видно по их резюме сразу. И можно сразу предсказать, что после собеседования в лучшем случае останется один.

                                                      А чтобы было две дюжины на позицию синьора — я такого вообще никогда не наблюдал, для определенности — за последние 15 лет например. Соответственно, все выводы про тестовые задания никуда не годятся, потому что фильтровать некого.
                                                        0
                                                        Две дюжины сеньорских резюме — это даже мало для известной компании или компании с хорошим бюджетом для позиции. Это все для популярных технологий, если искать какого-нибудь редкого, типа erlang или embedded или в условном Мухосранске — там да, выбор будет скуден.
                                                          0
                                                          Ну видимо мое направление Java разработка достаточно редкое для Москвы. Я никогда сам не видел даже 10 «подходящих» резюме за раз — обычно присылают кандидатов по одному, раз в месяц в лучшем случае. А позиция с вилкой «до 250 на руки» как висела с весны, так и висит…
                                                            +2
                                                            Джавистов в Москве — пруд пруди, причем весьма грамотных, но 250 — не так много для сеньора. Сбертех +20% премии к рынку давал в свое время, чтоб укомплектовать команды.
                                                              +1
                                                              Ну, я лишь пересказываю свой опыт. Если вспомнить те же последние 15 лет, то я бы сказал, что я просто не смогу вспомнить две дюжины таких людей, которых можно без всякой натяжки считать синьорами, и которых я бы взял к себе в команду вообще без раздумий. Если у вас они бегают вокруг толпами — это очевидно какая-то другая вселенная. Какая — вопрос интересный. Может у вас джависты — это андроид разработка?
                                                                +1
                                                                Чтоб синьоры шли — нужно их звать хорошо, они — люди разборчивые.
                                                                Может у вас джависты — это андроид разработка?

                                                                Да не, самые обычые — широкого профиля бэкэндщики-джависты.
                                                                  0
                                                                  >Чтоб синьоры шли — нужно их звать хорошо, они — люди разборчивые.
                                                                  Вот это несомненно.
                                                        +1

                                                        Мои три копейки — тестовые задания нужны, чтоб не звать на очные собеседования тех, кто явно не подходит. Причем, онлайн теста на знание языка с вариантами ответов хватает за глаза, не нужно ни интересных задач, ни проекта на 8 часов неоплачиваемого времени.
                                                        Предвижу, что сейчас прокомментируют в духе "в таких тестах все варианты кривые". Да, часто. Но 100% правильных ответов там и не надо — нанимать все равно по результатам интервью будут, а не теста.
                                                        А без этого теста к тебе приходят синьоры с опытом по семь лет, которые всем хороши, только программировать не умеют :-(

                                                          0
                                                          онлайн теста на знание языка с вариантами ответов хватает за глаза

                                                          Вам может и хватает, но многие конторы совершенно игнорируют даже сертификаты OCP, что уж говорить про онлайн-тесты.
                                                            +2

                                                            Ну, я и сказал, что это мои три копейки. Я не знаю, как там сертификатами, признаю. У меня ни одного нет — те конторы, куда я пытался устроиться и/или устраивался, это не интересовало, их интересовало могу я писать код так, как говорю, или не могу.

                                                          +1

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

                                                            0
                                                            Интересно, про автора Homebrew, может он не прошел собеседование, и это его мотивировало изучить тему и впоследствии применить знания? Вроде как пакетные менеджеры нуждаются в имплементации дерева в своей работе.
                                                              +2

                                                              Может у него просто настроения не было.
                                                              Одно дело когда ты в заранее определённое время решаешь заранее определённую задачу. И совсем другое когда обстановка не рабочая и soft skills activated.

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

                                                              Да, нетривиально, но другие варианты неэффективны.
                                                                0
                                                                Кандидат получает реальное задание из текущего списка задач (backlog) компании, которое может выполняться от одного дня до пары недель и оплачивается по договорной ставке. Таким образом, кандидат получает возможность поработать в режиме trial с новой командой и при этом заработать деньги за потраченное время.

                                                                А кандидат должен на слово поверить что оплатят, или будет какой-то договор? А если есть договор, то чем это отличается от испытательного срока по трудовому договору?
                                                                  0
                                                                  А кандидат должен на слово поверить что оплатят, или будет какой-то договор?

                                                                  Это может быть договор, либо сделка через фриланс-биржу.

                                                                  А если есть договор, то чем это отличается от испытательного срока по трудовому договору?

                                                                  Очень многим, Вы ни разу на фрилансе или по контракту не работали?
                                                                    0
                                                                    как минимум не надо человек в кадрах оформлять и прочие бумажки.
                                                                    –1
                                                                    Хорошо известен случай, когда автора пакетного менеджера Homebrew не взяли в Google, лишь по той причине, что на 7-м интервью он не смог на доске написать алгоритм, как инвертировать бинарное дерево.

                                                                    А меня одного удивило, что на 7(!) интервью в Google человека попросили инвертировать бинарное дерево (элементарная задача для джуна)? И что программист не смог это сделать? Задача рекурсией (хоть это и не оптимально) решается студентом за 10 минут, даже если этот студент до этого ни разу не слышал вообще ничего про двоичные деревья и 5 минут из этих 10 потратит на осознание того, что это такое.


                                                                    Имхо, в этой ситуации люди что-то не договаривают.

                                                                      +1
                                                                      ну если всё элементарно в этом мире, чего ты ещё премию Тьюринга не получил?
                                                                        +1
                                                                        ну если всё элементарно в этом мире

                                                                        Поэтично. Но где ты это вычитал в моих комментариях?


                                                                        Пускай тебе будет стыдно.
                                                                        https://leetcode.com/problems/invert-binary-tree/

                                                                          +2
                                                                          вот это
                                                                          элементарная задача для джуна. решается студентом за 10 минут, даже если этот студент до этого ни разу не слышал вообще ничего про двоичные деревья

                                                                          бла-бла-бла. Отучайся говорить «просто», если для тебя это просто. У всех разный опыт, каждодневная практика и тп.
                                                                          ЗЫ: не уточнишь, за что мне должно быть стыдно?
                                                                            0

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


                                                                            А стыдно тебе должно быть потому, что ты споришь, не вникнув, о чем, собственно, речь. Поэтому я тебе и дал ссылку на литкод с этим заданием, чтобы ты ознакомился, как ставят такие задачи. Если бы мне сказали: "сделайте инверсию двоичного дерева", — я бы тоже охренел, т.к. не понял бы, чего от меня хотят. Но ты сходи по ссылке и посмотри, как именно формулируются такого рода задачи. Если после такой постановки программист, претендующий на синьора, не сможет задачу решить в принципе, с ним явно что-то не так. Да и гугл не стал бы на 7 интервью такие вопросы задавать.

                                                                              0
                                                                              Да и гугл не стал бы на 7 интервью такие вопросы задавать.

                                                                              В крупных компаниях все интервью независимые, кроме пре-скрининга и пост интервью с менеджером «за жизнь и планы».
                                                                      0
                                                                      тестовое задание это именно повод поговорить. И это действительно способ отсечь тех кто «просто спросить».
                                                                      И конечно тестовые задания делаются по принципу — что быстрей то и сделал, и если ты получил дооолгое тестовое, то ты его дооолго не делаешь, и скорей всего работу найдёшь раньше чем до выполнения этого задания дойдёт очередь.
                                                                      Мне как работодателю, всегда интересно посмотреть на код будущего сотрудника, за 2-4 часа можно написать достаточно кода что бы показать кто ты есть, поэтому чем то громоздким ни когда не гружу.
                                                                      Тестовых за свою жизнь я сделал не мало, из моих 40 репозиториев на гитхабе, только 5 это какие то проекты, остальное — тестовые.
                                                                      Тестовые попадаются интересные, одно из 5-ти не чаще, и как правило эти тестовые укладываются в один рабочий день, а чаще в пару часов.
                                                                      Например написать сложение столбиком двух чисел произвольной размерности ( одно число это 40+ десятичных знаков), тут мы видим и как человек с валидацией работает и как человек делает декомпозицию и делает ли он её вообще, как называет переменные и как оформляет код.
                                                                      Хорошее задание, возьмите себе на заметку.
                                                                        0
                                                                        Хорошее задание, возьмите себе на заметку.

                                                                        Хорошее для кого, для Вас? Вы уверены, что все кандидаты разделяют Ваше мнение? Да что там все, хотя бы половина?
                                                                          0
                                                                          Да что там все, хотя бы половина?

                                                                          Как по мне кстати то действительно хорошее задание, лучше заданий вида сделать одностраничник на базе фреймворка X и технологии Y. (кроме горящих вакансий где нужен именно такой узкий человек).
                                                                        +1

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


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

                                                                          0
                                                                          Мне не нравится тестовое, если его выполнение займет от четырех часов и больше

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

                                                                          Что характерно насколько я знаю в крупных компаниях тестовых нет, то бишь условный гугл не переломится, и может позволить себе пересмотреть и пообщаться со всеми кандидатами, а ООО ПупкинРоссельМашУгорск обязательно попросит тестовое.

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

                                                                            Не-условный Амазон начинает с тестового на полтора часа. А уже потом будет личное общение с технарями.
                                                                            дайте мне с технарями поговорить 15 минут

                                                                            и вот это тоже не получится, потому что тот-же Амазон пригласит поговорить с технарями куда-нибудь в другой город часов на 5, и там «вставать и уходить» после 15 минут глупо.
                                                                            В одном я с Вами совершенно согласен — для условных Гугла и Амазона это адекватно по очевидным причинам, а «ПупкинРоссельМашУгорску» так делать не стоит.
                                                                              0
                                                                              и там «вставать и уходить» после 15 минут глупо.

                                                                              Глупо сидеть 5 часов если через 15 минут уже совершенно точно понятно что «дела не будет».
                                                                              Другой вопрос, что таким уходом можно получить плохую репутацию.
                                                                          0
                                                                          есть что нибудь актуально про собеседования backend developer? тут вроде вода)

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

                                                                          Самое читаемое