Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Moscow Python Meetup №86. Александр Винокуров ...

Moscow Python Meetup №86. Александр Винокуров (Самолет, Engineering Manager). Технические собеседования — по обе стороны баррикад

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

Видео: https://youtu.be/OsiU5p3K8Fw

Moscow Python: http://moscowpython.ru
Курсы Learn Python: http://learn.python.ru
Moscow Python Podcast: http://podcast.python.ru
Заявки на доклады: https://bit.ly/mp-speaker

Moscow Python Meetup

November 22, 2023
Tweet

More Decks by Moscow Python Meetup

Other Decks in Programming

Transcript

  1. Мой опыт кандидата В январе этого года я был одним

    из самых опытных людей в своей компании, с достаточно богатым опытом решения болей различной степени тяжести. Я был уверен в себе, своих знаниях и опыте решения сложных штук как со стороны хардов, так и со стороны софтов. Т.е. я достаточно неплохо справлялся со сложными техническими задачами, при этом я был достаточно хорош с точки зрения коммуницирования и договоренностей.
  2. Мой опыт кандидата В январе этого года я был одним

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

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

    мне было страшновато и одновременно драйвово выходить на рынок — ведь меня будут оценивать. Хотя было ощущение, что я вполне себе могу ворваться на рынок и заработать много- много денег в крутой компании. Но реальность оказалась другой — я провалил примерно 10 первых собеседований. Кажется, что я собрал все возможные боли — от незнания того как python разрешает коллизии в хэш таблицах и, заканчивая тем, какой инструмент — мультипоточность или корутины более легковесный для i/o bound задач.
  5. Наверное вы догадались, что дальше все будет интереснее Признаюсь честно,

    мне было страшновато и одновременно драйвово выходить на рынок — ведь меня будут оценивать. Хотя было ощущение, что я вполне себе могу ворваться на рынок и заработать много- много денег в крутой компании. Но реальность оказалась другой — я провалил примерно 10 первых собеседований. Кажется, что я собрал все возможные боли — от незнания того как python разрешает коллизии в хэш таблицах и, заканчивая тем, какой инструмент — мультипоточность или корутины более легковесный для i/o bound задач. Скажу честно — было обидно.
  6. Но история закончилась успешно В итоге я нашел свою почти

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

    работу мечты. Забегая вперед скажу, что одним из главных критериев для меня было то, как проходят технические собеседования. На контрасте очень видно вайб компании. Где-то это до крайности измученные и не умеющие общаться люди с включенными камерами. А где-то это классные спецы, которые умеют общаться и простыми словами говорить о сложных штуках (а это отдельный и не самый простой навык — сворачивать сложность и давать ясные ответы). Эдакий сплав хард и софт скиллов.
  8. Немного о навыках Оказалось, что навык проходить собеседования (да, знаю,

    что я Капитан Очевидность, но все же) может достаточно сильно отличаться от навыка хорошо работать свою работу. По моим наблюдениям это два пересекающихся множества и, в зависимости, от компании, ее требований к соискателям и вашего опыта эти множества могут пересекаться в разных пропорциях.
  9. Что меня раздражало как соискателя 1 Текст 1 Плохие софт

    скиллы ведущего собеседования. Иногда чувствуешь себя или как на допросе, или сходу уже что-то должным. Это настораживает. На мой взгляд умение доброжелательно и уважительно общаться крайне важны.
  10. Что меня раздражало как соискателя 1 Текст 1 Плохие софт

    скиллы ведущего собеседования. Иногда чувствуешь себя или как на допросе, или сходу уже что-то должным. Это настораживает. На мой взгляд умение доброжелательно и уважительно общаться крайне важны. 2 Вопросы в значительной мере оторванные от реальности — например зазубренные магические методы или какие-то тонкости баз данных. Эти вещи забываются через несколько месяцев после собеседований.
  11. Что меня раздражало как соискателя 1 Текст 1 Плохие софт

    скиллы ведущего собеседования. Иногда чувствуешь себя или как на допросе, или сходу уже что-то должным. Это настораживает. На мой взгляд умение доброжелательно и уважительно общаться крайне важны. 2 Вопросы в значительной мере оторванные от реальности — например зазубренные магические методы или какие-то тонкости баз данных. Эти вещи забываются через несколько месяцев после собеседований. 3 Логические задачи, которые очень трудно решить сходу, но их очень просто загуглить. Кажется, что это тоже отдельный навык — решать логические задачи.
  12. Выводы 1 Поиски работы расширяют. Сидя на своем рабочем месте

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

    и выполняя плюс-минус однотипные задачи, теряешь связь с большим миром. Выход на рынок может быть освежающей и пробуждающей пощечиной. 2 Мне понравилась одна идея про поиск работы — цель, это прокачаться настолько, чтобы вы выбирали среди входящих офферов наилучший по своим параметрам, а не то, чтобы выбирали вас.
  14. Выводы 1 Поиски работы расширяют. Сидя на своем рабочем месте

    и выполняя плюс-минус однотипные задачи, теряешь связь с большим миром. Выход на рынок может быть освежающей и пробуждающей пощечиной. 2 Мне понравилась одна идея про поиск работы — цель, это прокачаться настолько, чтобы вы выбирали среди входящих офферов наилучший по своим параметрам, а не то, чтобы выбирали вас. 3 Я опять побуду капитаном очевидность, — вы обязательно налажаете на интервью и сделаете это не раз, но это не повод разувериться в себе, это скорее повод для того, чтобы прокачаться или спокойно фильтровать компании.
  15. В заключение Это неимоверный кайф, когда вы пробиваете стеклянный потолок

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

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

    том, как оценить грейд кандидата, особенно это “стреляет” где-то между, например, миддл + и начинающим синьор разработчиками. Или между уверенным джуном и начинающим миддлом.
  18. Темные стороны ведущих собеседования 1 Вы часто будете сомневаться в

    том, как оценить грейд кандидата, особенно это “стреляет” где-то между, например, миддл + и начинающим синьор разработчиками. Или между уверенным джуном и начинающим миддлом. 2 Иногда приходят достаточно надменные товарищи, которые разговаривают сверху вниз и это крайне неприятный опыт — общаться с такими личностями.
  19. Темные стороны ведущих собеседования 1 Вы часто будете сомневаться в

    том, как оценить грейд кандидата, особенно это “стреляет” где-то между, например, миддл + и начинающим синьор разработчиками. Или между уверенным джуном и начинающим миддлом. 2 Иногда приходят достаточно надменные товарищи, которые разговаривают сверху вниз и это крайне неприятный опыт — общаться с такими личностями. 3 Я удивляюсь с людей, у которых написано про 9 лет опыта, но которые решительно не могут решить ни одной задачи и не могут корректно объявить функцию или класс.
  20. Что мне важно как ведущему интервью Как человек общается, как

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

    преподносит себя, умеет ли слышать обратную связь и находиться во взаимоуважительном диалоге. Я часто задаю себе вопрос — а будет ли мне приятно работать с этим человеком? Конечно же хард скиллы разработчика. При этом мне очень хочется сблизить те кружки, которые я рисовал в начале — чтобы реальная работа и опыт собеседования пересекались сильнее. И застраховаться от тех, кто хорошо проходит собеседования, но плохо работает.
  22. Reverse live coding В среднем мы читаем код чаще чем

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

    пишем, поэтому у более-менее опытного разработчика наметан глаз на плохие решения. Здесь можно смотреть как на уровень архитектуры кода — разделение по слоям (толстые модели, бизнес- логика в сериализаторах и т.д.), так и на уровень именно качества кода. По тому какие ошибки видит человек и как рассуждает можно оценить сколько болей было у человека и как он их решал.
  24. Reverse live coding В среднем мы читаем код чаще чем

    пишем, поэтому у более-менее опытного разработчика наметан глаз на плохие решения. Здесь можно смотреть как на уровень архитектуры кода — разделение по слоям (толстые модели, бизнес- логика в сериализаторах и т.д.), так и на уровень именно качества кода. По тому какие ошибки видит человек и как рассуждает можно оценить сколько болей было у человека и как он их решал. Когда я пришел в «Самолет», меня удивил стайл гайд — я очень четко понимал из каких болей он написан и какую практическую ценность имеет.
  25. Архитектура Для кандидатов уровня senior, я предпочитаю давать архитектурные примеры

    из реальной жизни. Всегда интересно вместе порассуждать и посмотреть насколько вообще человек понимает как работает цикл request / response, чем отличается web server от application server, как работает параллелизм на уровне кода или подов кубера, чем горизонтальное масштабирование отличается от вертикального, как работают очереди сообщений и что такое database constraints.
  26. Архитектура Часто выходит разговор по душам, по которому достаточно уверенно

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

    с хардовой стороны. 2 Вы прокачиваете умение общаться, иногда задавать неудобные вопросы, иногда дожимать кандидата до конкретики.
  28. Польза от собеседований 1 Вы развиваетесь и с софтовой, и

    с хардовой стороны. 2 Вы прокачиваете умение общаться, иногда задавать неудобные вопросы, иногда дожимать кандидата до конкретики. 3 Вы начинаете более широко смотреть на мир и на разных людей. Интересно прикидывать с кем вы сработаетесь, а с кем нет и почему.
  29. Польза от собеседований 1 Вы развиваетесь и с софтовой, и

    с хардовой стороны. 2 Вы прокачиваете умение общаться, иногда задавать неудобные вопросы, иногда дожимать кандидата до конкретики. 3 Вы начинаете более широко смотреть на мир и на разных людей. Интересно прикидывать с кем вы сработаетесь, а с кем нет и почему. 4 Задавая вопросы людям неминуемо начинаешь сам глубже и шире понимать материал, по которым задаешь вопросы.
  30. Практика • Архитектура. • Reverse live coding. • Что вы

    будете делать если к вам приходит PO и говорит что страница списка проектов начала тормозить. Теория • Какие магические методы вы знаете? • Как разрешаются коллизии в хэш- таблицах в python? • Логические задачи, которые легко решить, если вы их знаете, но трудно догадаться, если нет.
  31. Обратная связь К нам, в «Самолет», ко взаимному удовольствию, приходят

    работать люди, на собеседованиях с которыми мы классно провели время. И я один из таких людей — мне очень понравился мой интервьюер своими крутыми хардами и своей доброжелательностью. Ну и я периодически собираю обратную связь у кандидатов, которых я собеседовал и, кажется, что такой подход — люди приходят на людей, работает не только со мной :)
  32. Главные выводы 1 Практика решает — в целом с ней

    интересно и более показательно.
  33. Главные выводы 1 Практика решает — в целом с ней

    интересно и более показательно. 2 Люди идут работать, в том числе, и для того, чтобы развиваться. Если интервью проводит софт скилловый и сильный технический специалист, то вероятность мэтча похожих людей повышается.
  34. Главные выводы 1 Практика решает — в целом с ней

    интересно и более показательно. 3 Технические интервью можно и нужно делать интересными и не бояться ошибаться — нет другого способа развиваться. 2 Люди идут работать, в том числе, и для того, чтобы развиваться. Если интервью проводит софт скилловый и сильный технический специалист, то вероятность мэтча похожих людей повышается.