Войти
Идеи для бизнеса. Займы. Дополнительный заработок
  • Исполнительный директор. Обязанности и права. Обязанности исполнительного директора. Образец должностной инструкции Должностная инструкция исполнительного директора образец
  • Порядок применения дисциплинарных взысканий
  • Роль руководителя в инновационном управлении А должен ли директор преподавать
  • Управление стоимостью проекта на основе затрат
  • Использование тематических выставок в группе детского сада для социального развития дошкольников
  • Презентация к уроку "как помочь птицам зимой" Распилить я попросил
  • Технические вопросы на собеседовании. Пара советов к прохождению технических интервью. Не высылайте слишком длинное резюме

    Технические вопросы на собеседовании. Пара советов к прохождению технических интервью. Не высылайте слишком длинное резюме

    Привет всем, Джаварашовцы! Так уж случилось, что недавно я проходил собеседование и хотел бы рассказать, какие вопросы мне задавали предполагая, что идет позиция Junior++. Т.е. еще не мидл, но уже и не зеленый джун. Так вот, собеседование проходило по такому плану

    1. JavaCore
    2. Базы данных.
    3. Инструменты, которыми пользуешься.

    JavaCore

      Вначале меня попросили нарисовать иерархию интерфейсов у Коллекций (это было не сложно, там всего их несколько (Collection , List , Set , Queue , Map).

      В чем различие ArrayList и LinkedList (это один из самых заезженных вопросов и ответов в инетах просто тьма).

      Обсудили скорость выполнения запросов в них и какая разница между листами.

      Вопрос про класс Object . Какие у него методы, что они делают.

      Рефлексия. Что делает метод getClass() . Очень интересный вопрос, разберите его. Особенно про то, как получить всё про класс, пусть даже там приватные методы или переменные.

      Спросили за многопоточность. Слабенько, как я считаю, так рассказать как ты понимаешь что такое многопоточность. Что нужно, чтоб запустить новый поток. Реально, если вы 20+ уровень, то эти вопросы для вас покажутся смешными.

      Что можешь сказать про Stream . Это имеется в виду не про Java 8. Имеется в виду потоки ввода и вывода. Как базовые интерфейсы, какие они (символьные и байтовые). На понимание, никакой конкретики.

    • Исключения. Здесь опять-таки попросили нарисовать иерархию исключений, какие бывают, какие из них checked , а какие unchecked . Что нужно делать с Runtime исключениями. Назовите самое часто попадающее (NullPointerException).
    • Вопрос с тем, что нужно делать с checked исключениями(пробрасывать дальше или обработать - понятно и то и другое).

    ООП

      Что такое ООП в двух словах?

      Какие еще есть парадигмы программирования? В чем их различие от ООП

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

      Задача на понимание проектирования систем: есть Лошадь и Птица. Нужно получить Пегаса. принцип "has a" и "is a"

    REST

      Что такое REST. В Википедии об этом говориться очень круто. Реально статьи из Википедии для ознакомления хватит.

      HTTP. Здесь тоже общие фразы. Его методы, для чего каждый из них.

      Коды состояния HTTP. На какие пять частей делиться, расскажите про самые известные (200,204,404,500,501). Зачем они. Спросили еще про 401 и 403. Но я не знал их. Сказали они важные.

    Базы данных

    Здесь я рассказал, что знаю MySQL. Рассказал про три нормальные формы. Рассказал про Join"ы, какие бывают и нарисовал пересечение областей, в котором используются разные джоины. Рассказал про то, как я понимаю реляционную БД. Не забыл еще о про MongoDB - это NoSQL база данных. Через некоторе время я напишу и про это.

    Другие инструменты

    Здесь мы прошлись по моем резюме. У меня было написано, что использую Maven/Gradle для сборки, использую JIRA для тасков, git, Docker, Swagger. Для Continuous Integration - Stash, Bamboo, Puppet. Для тестирования JUnit , Mockito, JMeter. Я мог что-то забыть, поэтому если интересно - спрашивайте в комментариях постараюсь ответить. Это была первая часть собеседования. Теперь жду результаты и если да, то будет вторая часть. Напишу о ней как только так сразу. Всем кому статья понравилась и была полезна - ставьте "+". Пишите в комментариях. См. также мои другие статьи:

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

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

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

    В чем заключается весь этот процесс

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

    1. Предварительное собеседование по телефону (Phone Screen)
    2. Техническое собеседование
    3. Тестовое техническое задание
    4. Последующие собеседования, чтобы убедиться, что вы подходите (Fit Interviews)
    5. Предложение работы (Job Offer)
    6. Обсуждение условий предложения (Offer Negotiation)
    7. Принятие предложения (Offer Acceptance)

    Предварительное собеседование по телефону

    Поздравляем! Ваше резюме оказалось не самым катастрофичным и вас пригласили на телефонное собеседование (обратите внимание, иногда вы сначала делаете тестовое задание). Истинная цель этого этапа, которое зачастую представляет собой получасовой разговор с кем-нибудь из отдела кадров (а не с лицом, которое принимает решение о найме персонала), это удостовериться, что у вас есть неплохие шансы пройти остальные этапы собеседования. Поэтому рассматривайте его, как облегченную версию других этапов.

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

    ФИНАЛЬНОЕ ПРИМЕЧАНИЕ - это не универсальный метод и многие компании пропускают его, чтобы сразу же нырнуть в глубины технического собеседования, поэтому вам нужно приготовиться просто на всякий случай. Ссылка ниже на Coding Horror самая иллюстративная для этого случая.

    • Добейтесь совершенства в телефонных собеседованиях от Monster
    • 7 шагов на пути к достижению вершин мастерства телефонного собеседования

    Техническое собеседование

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

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

    Решая задачу, убедитесь, что делаете это понятным и логичным способом, вслух поясняя, почему вы делаете тот или иной шаг. Проговорите все встреченные препятствия и приведите примеры того, как вы решили бы это в "реальном мире". Зачастую ответом является "погуглить" какую-то определенную функцию. Так и скажите! Они знают, что вы не эксперт Ruby, но они должны знать и то, что вы способны находить решения проблем, с которыми неизбежно столкнетесь на работе.

    Также совершенно нормально, если вы используете брутфорс (brute force) - неэффективный метод - для решения задачи на написание кода. Это часто бывает лучшей отправной точкой для того, чтобы правильно прочувствовать проблему. Скорей всего вас спросят, как можно улучшить решение, но это намного лучше, чем пытаться придумать идеальное решение и не успеть ничего написать в итоге. Еще раз, ваша задача не в том, чтобы быть выдающимся кандидатом, а в том, чтобы показать, что вы способны адптироваться и не теряете голову, встречаясь с трудностями.

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

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

    Ссылки

    • Разбиремся с собеседованием для программистов это ОБЯЗАТЕЛЬНЫЙ К ПРОЧТЕНИЮ МАТЕРИАЛ , который станет вашим лучшим другом. Он всесторонне рассматривает все виды задач, с которыми вы столкнетесь на собеседовании. Он выходит за рамки того, что мы уже изучили в этом курсе и затрагивает такие вещи, которые хорошо было бы знать, потому что скорей всего вы с ними встретитесь. Потратьте время на то, чтобы познакомиться с как можно большим количеством материала.
    • Interviewing.io дает вам шанс попрактиковать анонимно и онлайн техническое собеседование.
    • Как получить высшую оценку на техническом собеседовании
    • Как выделиться на следующем собеседовани на должность веб-разработчика
    • Прочитайте 40 ключевых концептов информатики, объясненных доступным языком
    • Руководство для развития технических навыков от Google (для продвинутых)

    Тестовые задачи на программирование:

    • 8 королев - это классическая задача.
    • Программирование на собеседоваии: знай стандартные библиотеки может оказаться перебором для начинающего, но никогда не повредит, если вы найдете на него время.
    • На Project Euler вы найдете более обобщенные и сложные задачи, которые нужно эффективно решить (они могут потребовать большого объема вычислений).
    • На Coding Bat опубликованы практические вопросы для Java и Python.

    Обучение алгоритмам:

    • Курс по алгоритмам от Udacity (несинхронизированны)
    • Курс по алгоритмам от Coursera (частично-синхронизированный)

    Архитектура:

    Техническое тестовое задание

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

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

    Финальное собеседование ("Fit")

    Последним шагом перед принятием решением обычно является знакомство с командой и офисами в течение нескольких часов. Возможно, вас проверят технически, но основная цель - это удостовериться, что вы будете хорошим коллегой. Если какой-то другой член команды скажет, что вы не сработаетесь, вас скорей всего не возьмут. Совет? Не нужно быть странным или неловким, даже если вы дома:)

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

    Немного о заработной плате

    Не. Озвучивайте. Ваши. Зарплатные. Ожидания.

    Вас всегда спросят "сколько вы хотели бы получать?" Ваш ответ? "Я хотел бы получать среднерыночную оплату" (если только вы не настолько наглы, чтобы просить выше рыночной. Посмотрим, как это у вас получится). Вы ничего не выиграете, назвав уровень желаемой зарплаты. Если она окажется ниже, чем они хотели вам предложить, они просто снизят этот уровень. А если выше, то они просто прервут весь процесс, решив, что вы слишком дороги для них.

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

    Я ожидала получить достаточно много вопросов по этой теме. Однако обратных вопросов – «Как его проходить?» - на почту и на форум «Лаборатории Качества» валилось значительно больше. Следуя спросу, продолжаю цикл ответной статьёй.

    Введение

    2. Протестируйте лифт!

    Итак, Вы рассказали, что такое классы эквивалентности и граничные значения. Пришло время проверить, умеете ли Вы их использовать. И вот, Вас просят протестировать лифт. Или карандаш. Или калькулятор, джинсы, чашку. Неважно что. Задача – скорее всего непривычная и нестандартная. Что ждёт от Вашего ответа работодатель?

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

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

    Умение использовать методики, которые в теории кажутся такими простыми. Если на лифте Вы планируете ездить с каждого этажа на каждый этаж – значит, понимание классов эквивалентности не ушло дальше теории.

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

    Правильный ответ на подобный вопрос следует из описанных выше требований к ответу. Структурируйте информацию. Узнайте максимум о тестируемом объекте. Определите, что вы будете проверять в рамках функционального и нефункционального тестирования. Подумайте, как Вы можете оптимизировать набор тестов, чтобы не проверять всё подряд. И ни в коем случае не начинайте свой ответ с конкретных тестов – мартышкин труд отличается от грамотного тестирования предварительным продумыванием своих действий.

    3. Расскажите, как создавать тест-кейзы

    Или как написать тест-план, как создать фреймворк автоматизации тестирования или что-либо ещё. Самое худшее, что Вы можете сделать при ответе на этот вопрос – пытаться сделать вид, что Вы умеете делать что-то, когда на самом деле этого никогда не делали. Если тема Вам хорошо знакома, и Вы знаете, как отвечать – флаг в руки! Если же Вы не уверены в правильности своих мыслей – обязательно предупредите об этом собеседующего фразой вроде «Я никогда этого не делал, но мне кажется правильным следующая последовательность действий…». Искренность всегда подкупает, а ошибки в ответе не будут восприниматься строго. Если же Вы будете рассказывать «правильный» подход, не будучи в нём уверенным, и наговорите глупостей – врядли кто-то захочет брать Вас на работу.

    4. Зачем вообще нужно тестирование?

    Я не буду давать длительных советов по этому вопросу – или напишу отдельную статью. Просто убедитесь, что Вы знаете, как отвечать на этот философский вопрос.

    5. Как определить качество продукта?

    Этот вопрос, как и предыдущий, тоже распространён достаточно часто. Google поможет Вам быть к нему готовым.

    Технические вопросы.

    В мои планы в рамках этой статьи не входят рассказы про настройку DNS и запросы к базам данных. Но есть некие общие советы, которых стоит придерживаться:

    1. Не пытайтесь сделать вид, что знаете что-то, если Вы этого не знаете.

    Во-первых, нехватка технических знаний быстро компенсируется и работодатели редко уделяют очень серьёзное внимание этому вопросу. Во-вторых, неудачно скрываемое незнание всегда вызывает недоверие: можно ли верить остальным словам кандидата? А в-третьих, потенциальный работодатель может разделять моё мнение о том, что защищающие неправильную точку зрения люди чаще допускают ошибки в работе. По крайней мере, сотрудника, который хорошо разбирался в тестировании, но старательно доказывал что «в Windows нет поддержки динамических дисков», я на работу не взяла. Скорее всего, если бы он честно признался, что не знает, что это такое, решение было бы другим.

    2. Если видите, что не очень удачно ответили на предыдущие вопросы – инициируйте ответы сами, но по темам, которые знаете лучше.

    К примеру, если Вы неудачно ответили на вопрос про MS SQL, скажите сами, что зато Вы имеете опыт работы с Oracle и поэтому быстро сможете «перепрофилироваться».

    Способность быстро и самостоятельно разобраться в незнакомой технологии или инструменте ценятся выше, чем имеющиеся знания. Не стесняйтесь хвалить себя. Если после Ваших слов о том, что Вы не разбираетесь в Rational Robot, собеседующий немного поник – гордо скажите, что зато в Silk Test Вы разобрались всего за неделю и сумели многое (конкретизируйте) в нём сделать. Естественно, здесь тоже говорить нужно правду!

    Заключение

    Главное – не бояться. Вы ищете работу, а работодатель ищет грамотного сотрудника. Вы оба заинтересованы в результате. Быть принятым на неподходящую работу – значительно хуже, чем получить отказ. Пробуйте, не нервничайте, учитесь! И развивайтесь для себя – а не для «галочки» на собеседовании. Удачи !

    уже устал слышать от компаний из Силиконовой долины фразы вроде «нанимайте только лучших и талантливейших». Как бы эти фразы ни вертелись на языках, большинство нанимателей всё равно принимают решения, основываясь на интуиции, анкете соискателя, среднем балле, дипломе университета, громких названиях предыдущих работодателей… Розман категорически против такого положения дел. Как бывший вице-президент в Amazon и Zynga, он провёл собеседования с сотнями людей и уверен в том, что каждая стадия собеседования должна быть тщательно продумана и призвана оценить навыки соискателя, его достижения, способности к командной работе и лидерских качества.

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

    На безымянной высоте

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

      После интервью у вас должно сложиться ясное представление о том, сможет ли этот человек внести вклад в успех компании.

      Хорошее собеседование — это труд. К нему нужно готовиться, его нужно провести, а потом потратить время на обсуждение результатов. Если вы к этому не готовы — не проводите собеседования.

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

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

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

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

      Тот, кого вы хотите нанять — умный, трудолюбивый человек, обладающий навыками, необходимыми для конкретной вакансии.

    Как правильно читать резюме и составлять вопросы

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

    При просмотре резюме Розаман ищет те ниши, которые занимает кандидат в реальности. «Я всегда смотрю, измеряют ли люди свой успех, делают ли они сравнения и используют ли процентные соотношения». Например, «прибыль выросла на 50%, время простоя снизилось на 30%».

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

    Лакмусовой бумажкой будет то, насколько чётко кандидат оценивает себя и свою роль в проделанной прежде работе. «Кандидат может думать, что заявление вроде «я улучшил доступность системы на 50%» звучит круто, но если мы ищем человека на вакансию системного инженера, мне нужно знать, как именно он это сделал. В большинстве случаев, несмотря на такие громкие заявления, человек на самом деле был лишь участником процесса и мало понимает в его сути. Он не сможет внятно ответить на вопрос, как он добился такого результата». Хороший кандидат всегда объяснит и подтвердит свои заявления, каким бы дотошным вы ни были.

    В одном из недавних резюме, полученных Розманом, было написано: «Был тим-лидом команды из 3 инженеров, создавал высоконагруженную инфраструктуру, используемую различными продуктами Google». Розман записал это себе в блокнот и во время собеседования попросил кандидата нарисовать на доске инфраструктуру, рассказать о своём вкладе в её создание и ответить на вопросы— - что позволило выяснить, действительно ли человек знает, о чём говорит.

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

      Прощупайте почву: приведите мне пример…

      Уточняйте: кто, что, где, когда, почему, как - о каждом достижении или проекте

      Выясняйте: мы или я; хорошо или отлично; отдаленное представление или точное знание; участник или лидер…

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

      Над чем вы работали в компании?

      Какие задачи выполняли?

      Какие действия вы предпринимали для решения задач?

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

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

    Техническое интервью

    Очень часто HR-менеджеры на собеседовании с места в карьер начинают опрашивать кандидата по всем пунктам, указанным в его резюме. По мнению Розмана, такой вопрос можно задавать только в том случае, если вы уже решили отказать человеку. Есть множество других способов расположить соискателя к беседе. Розман рекомендует интервьюеру представиться и обозначить цели интервью. «Потом я прошу человека представитьтся самому и рассказать о том, чем ему интересно заниматься. Так намного проще расслабиться, настроиться на беседу и убедиться, что оба чувствуют себя комфортно».

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

    Тут нужно внимательно отнестись к сфере деятельности соискателя. Если это программирование, то и вопросы нужно задавать из той сферы, в которой кандидат работал. Не задавайте на собеседовании вопросы, которые вы никогда ранее не задавали. «Попробуйте сначала протестировать интересующий вас вопрос на кроликах, задать его своим коллегам, чтобы понять, какие ответы можно ожидать».

    Это самый важный принцип составления умных вопросов. «Что меня серьезно достало — так это те люди, которые задают те вопросы, ответить на которые и сами бы не смогли. Как они смогут отличить хороший ответ от хренового?»

    В современном мире это особенно важно, когда в сети есть огромное количество ресурсов с возможными вопросами на собеседовании. Кандидаты просматривают задачи с собеседований на Quora и готовятся к ним. Абсолютно нормально использовать такие вопросы и задачи для составления собственных. «Хорошо бы обсудить со своей командой варианты плохих и хороших вопросов, и какие из них было бы неплохо задать на собеседовании».

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

    Для создания уникальных вопросов необходимо спросить кандидата, как бы они решили реальные проблемы, с которыми сталкивается ваша компания. «Когда я работал в Amazon, я часто задавал вопросы, связанные с системой рекомендаций - та самая опция «люди, которые купили этот товар, также приобрели вот этот…» Вопросы из этой сферы позволяли определить, насколько соискатель ориентирован на продукт».

    Розману очень нравится подталкивать кандидатов на инженерные должности к дизайну продуктов. Хороший инженер - это не просто исполнитель, а активный участник разработки продукта. Вопросы, связанные с дизайном, позволят лучше понять ход мыслей соискателя. Розман просит кандидатов перечислить продукты, в разработке которых они принимали участие, просит их написать небольшую план развития продукта. Также он может попросить выполнить достаточно общую задачу вроде «обдумать разработку лифта для слепых людей».

    «Если бы у меня было достаточно времени, я бы выдавал на собеседовании ноутбук и просил бы написать простое приложение в командной строке, либо же нарисовать процесс на доске, и дал бы возможность задать мне вопросы по поводу того, какой продукт я хочу получить. Очень важно, чтобы соискатель задавал вопросы. Мне нужен сотрудник, который задаёт вопросы, а не просто сидит в углу и ждёт указаний».

    В технических вопросах есть одна проблема: ответы могут занять очень много времени. Вот тут важно следить за временем и вовремя прервать ответ. Ответ на сложный вопрос может запросто съесть 45 минут из часового собеседования.

    «Бывает, я прошу только написать код на доске, потому что уже нужно переходить к вопросам по дизайну или продукту. А ведь ещё нужно прояснить коммуникативные навыки и способность кандидата влиться в команду».

    С этой целью Розман задаёт всем кандидатам, вне зависимости от предполагаемой должности, один свой любимый вопрос: «Считаете ли вы себя счастливым?»

    «Оглянитесь на то, что сделали, и подумайте: можете ли вы себя отнести к тем людям, кто был счастлив на своём жизненном и профессиональном пути? Многие на этот вопрос отвечали мне: «Я бы получил повышение, но менеджер отменил мой проект…» Это как раз те, кто не считает себя счастливым человеком. Удача улыбается подготовленным умам. Я ищу тех людей, кто готов найти выгоду в каждом обстоятельстве».

    Розман часто использует вопросы типа «опишите себя тремя прилагательными». Многие интервьюеры просят описать свои сильные и слабые стороны, но Розман ставит акцент на другом. «Я прошу кандидата вспомнить тех людей, с кем он работал, своих учителей, однокурсников, менеджеров и прочих, и представить, какими бы тремя словами эти люди описали бы его. Это позволяет взглянуть на себя с другой стороны. И уже не так просто сказать, что самое твоё плохое качество - это трудоголизм». И если кандидат назвал эти три качества, Розман на этом не останавливается. Если кандидат сказал: «творческий», вам нужно спросить: «А приведите примеры своего творческого подхода».

    Даже если уже после 15 минут общения вы поняли, что это не ваш кандидат, важно довести собеседование до конца. «Мир очень тесен, и даже если вы отказываете кандидату, очень здорово, если у человека останутся от собеседования хорошие воспоминания».

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

    Розман старается предугадать мотивы кандидата, и что может заставить кандидата отказаться от предложения. «Сейчас я, как старый морской волк, могу не задавать вопросы типа «А кем вы себя видите через 2-3-5 лет?». Но я хочу убедиться, что я правильно понимаю ожидания кандидата».

    HR-команда

    Насколько хороши будут ваши будущие работники, зависит от вашей HR-команды. Очень часто компании не тратят время на то, чтобы обучить своих кадровиков проводить собеседования. Розман считает, что каждый кадровик должен знать, как это делается. «Даже если обязанность человека состоит лишь в телефонном общении с кандидатами, я требую, чтобы он вначале посидел рядом с опытным кадровиком и послушал, как это делается».

    Как только вы собрали квалифицированную команду, нужно поближе взглянуть на то, как они принимают решения. Чтобы сформировать объективное мнение о кандидате, каждому участнику команды следует вести подробные записи на собеседованиях. После того, как все лично повстречались с кандидатом, начинается групповое обсуждение. «Каждый из нас высказывает свои впечатления и аргументы, делится задаваемыми вопросами и пересказывает ответы кандидата. Если есть голос против кандидата, не справившегося с техническим заданием, обязательно нужно предоставить точный вопрос и последовавший ответ».

    Каждое решение на собрании HR-комианды критично, а критичные решения требуют глубокого осмысления. Розман говорит о двух вещах:

      Если отдел кадров не может предоставить внятных комментариев, они потратили впустую и своё время, и время компании, и время кандидата;

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

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

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

    Если вернуться к запредельным стандартам Силиконовой долины, Розман признаёт, что очень часто кандидату отказывают, потому что он не проявил никаких способностей супермена. Но далеко не ото всех требуются такие сверхспособности на собеседовании. Розман предлагает установить такую планку: «Чего нужно ожидать - так это того, каждое поколение работников лучше, чем предыдущее. Нет никакой гарантии, что если вы уволитесь и захотите вернуться, вас возьмут обратно на ту же должность. С каждой новой работой вы повышаете свою собственную планку. Другими словами, каждый новый сотрудник должен быть лучше, чем ваш среднестатистический работник».

    Та же логика применима и для найма новых сотрудников по рекомендации работников.

    Итак, краткая сводка правил Розмана:

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

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

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

      Фильтруйте информацию в резюме с длинным списком навыков. Отделяйте зерна от плевел.

      Не испытывайте новые вопросы на кандидатах. Тестируйте их на своих сотрудниках.

      Пусть кандидат напишет код на собеседовании! Почему так часто забывают это сделать?

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

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

      Задайте вопрос о дизайне продукта. Посмотрите, есть ли у соискателя общее представление.

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

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

    Перевод: Люся Ширшова. По материалам статьи на

    Фахима Уль Хоку, одного из учредителей платформы Educative.

    Подборка нескольких наиболее распространённых ошибок, совершаемых кандидатами при прохождении технического интервью.

    Как не провалить техническое собеседование

    Как со стороны собеседуемого, так и со стороны собеседующего я отметил для себя парочку, по большей части, нетехнических аспектов интервью, грамотное использование которых увеличивает ваши шансы успешно пройти его. Большинство из последующих утверждений основано на моих личных суждениях и ранее совершённых ошибках (да, у меня тоже был такой период в поиске работы под названием «Мы вам перезвоним»).

    Основываясь на собственном опыте, я выделил 5 самых распространённых ошибок, которые совершают кандидаты при прохождении интервью.

    1. Вы тратите слишком много времени на описание своих прошлых и текущих проектов

    Итак, начинается собеседование, и в какой-то момент вам задают вопрос: «Над чем вы работаете в вашей текущей компании?», на что вы тратите следующие 10 минут, описывая ваш проект во всех интимных подробностях.

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

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

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

    Запомните два момента:

    • Как бы вы ни хитрили, задачу на собеседовании вам всё равно придётся решать, но теперь у вас на 10 минут меньше времени на её решение.
    • Почти не считается. Вас не наймут, если вы не успели решить задание, но вам «осталось совсем чуть-чуть». Такого попросту не бывает.

    Куда бы вы ни шли на интервью, всегда будьте готовы сказать пару слов на следующие вопросы:

    1. Над каким проектом вы работаете в данный момент?
    2. Какой аспект вашего текущего проекта вызвал у вас наибольшие затруднения?
    3. Расскажите о самом сложном баге, с которым вам приходилось иметь дело, за последние полгода.

    Итог: Рассчитывайте своё время. Вы не приняты по умолчанию, и у вас есть только 45 минут, чтобы доказать обратное. Если для успешного устройства на работу вы обязаны решить задачу у доски, то вы должны оставить себе как можно больше времени для решения этой задачи.

    2. Вы неправильно поняли формулировку задачи

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

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

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

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

    И хотя для большинства из вас подобного рода ошибки не будут фатальными (так как, надеюсь, вы будете слушать внимательнее, чем я), я до сих пор встречаю кандидатов, которые сразу начинают решать, не до конца разобравшись с условиями. Лучше потратьте лишние 10-15 минут, чтобы проанализировать все аспекты задачи, чтобы потом вам не пришлось переписывать ваше решение по новой.

    3. Вы сразу же начинаете писать решение задачи, хотя ещё сами не до конца поняли, как оно выглядит

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

    А теперь попробуйте выйти к доске и написать 20 строчек кода. Это займёт у вас минуты 2-3, не больше. Следовательно, даже если вы и потратите 30 минут на решение задачи, у вас ещё останется пара минут для написания готового решения.

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

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

    4. Сначала вы находите наиболее очевидное решение, а затем начинаете оптимизировать алгоритм

    Суровая правда. На собеседованиях от вас ожидают вполне конкретных знаний, поэтому при решении задач подразумевается, что вы уже неплохо знакомы с этой темой и знаете оптимизированный алгоритм. Все вышеперечисленные пункты указывали на то, что не в ваших же интересах тратить время. Поэтому как следует подумайте над решением и над тем, как его можно было бы оптимизировать. Если требуется решение с линейной временной сложностью и требуемым объёмом памяти О(1), то любое решение ниже по производительности приведёт к тому, что вас не возьмут.

    5. Вы не проверяете своё решение

    Как только вы нашли ответ, попробуйте протестировать его на паре примеров. Это поможет вам самому найти недостатки и недочёты в решении, чтобы собеседующий не указывал вам на них сам. Каждый раз, когда вас вынуждены поправлять, ваши шансы уменьшаются. Также это позволит вам найти и рассмотреть особые случаи в решении вашей задачи. К тому же тот факт, что вы не проверяете своё решение, является для нанимателя тревожным звоночком, поэтому проверьте свой алгоритм, даже если вы на 100% уверены, что всё идеально.

    Бонус: Спрашивать, как вы прошли интервью

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