Привет, меня зовут Олег, я разработчик со стажем почти 10 лет.
Разработкой начал заниматься ещё со старшей школы, изучал C/C++ (очень пригодилось при написании скриптов в injection для ультимы онлайн). Профессионально начал работать разработчиком приблизительно с 2014, основной язык до 2020 года был C# с примесью C++. Сначала разрабатывал и поддерживал некоторые проекты в банковской сфере, потом резко поменял предметную область и ушёл писать софт для автоматизации работы одного строительного девелопера. На начальных этапах это было огромное легаси на C# от бывшего архитектора, решившего стать программистом, с кучей багов и неочевидных решений, пришлось много переписывать.
Со временем появились задачи, которые не были привязаны к языку и технологиям в принципе (изначально писал, по сути, плагины к CAD-приложениям), и я попробовал Golang, а вместе с ним и микросервисы, NoSQL, gRPC и прочие модные штуки. Побывал в шкуре админа-девопса, так как новые сервисы я запускал и поддерживал сам.
Некоторое время назад наткнулся на пост про собеседования и решил рассказать Хабру про свой опыт. Возможно, кому-то он окажется полезным.
Почему вообще собеседовался? Во-первых, стало интересно - а как это, работать в большой компании разрабов? На последнем месте у меня было два разработчика, и я чуть-чуть попробовал себя в роли тимлида бэкендеров.
Во-вторых, как и у всех – деньги (двое детей, машина в кредит, вот это вот всё...).
В-третьих, понимание того, что я хорошо уже так стагнирую на своём прошлом месте, потому что всё, что нужно – уже написано, и требует только поддержки, а более-менее интересные идеи нельзя реализовать текущей маленькой командой.
В-четвёртых, на прошлом месте работы приходилось заниматься не только разработкой, но и настройкой деплоя, администрированием, ручным тестированием и прочей «обвязкой» программистской деятельности, это очень выматывает, если вы понимаете о чём я – хочешь развиваться как разработчик, но в итоге тратишь кучу времени на смежные области.
Скажу сразу, что во все компании, в которые я проходил собеседования и о которых далее пойдет речь, я шёл как middle или senior. На самом деле я опирался в основном на цифру в графе зарплаты. Из других вводных - ориентировался на хотя бы частичную удалёнку и зарплату в рынке, но в принципе если мне бы очень уж понравилось, готов был обсуждать на 10-20% меньше.
Теперь про каждую компанию вкратце.
OZON
От своего хорошего знакомого, который там работает, слышал положительные отзывы. Да и в принципе, как я думаю, маркетплейс - это должно быть интересно: много данных, много клиентов, нужно как-то с этим справляться: шардинг, микросервисы, консистентность данных, , с этим по сути я никогда по-серьёзному не работал.
Был небольшой собес с рекрутером, потом с двумя техспецами, один из которых лид, второй - сеньор. Стандартный набор вопросов - задачка на алгоритмы, задачки на синхронизацию горутин и замыкания, запросы в БД. Спокойное сухое техническое собеседование.
Wildberries (то есть Ягодки теперь =D)
Там я проходил 2 собеседования, в два разных отдела. Можно сказать, что это была проба пера, потому что на момент начала общения с рекрутером собеседования я не проходил уже очень давно, и нужно было понять, к чему готовиться. Ну и сама компания, судя по тому что говорят в интернетах, меня не привлекала. Не предел моих мечтаний, скажем так.
Было сразу одно интервью со всеми - рекрутер-тимлид-техспец, в каждый отдел отдельно - то же, что и в Озоне. На втором собеседовании бонусом пообщались про деплой и версии апи, как с этим жить.
На первом собеседовании попался не очень приятный техспец, часто перебивал и чувствовалось, что он считает себя очень крутым разрабом, а я как будто пришёл после университета =) На втором собеседовании - напротив, всё было расслаблено с шутками и хорошей атмосферой.
Gismeteo
Изначально к ним не собирался, поступило предложение от рекрутера с Хабр Карьеры рассмотреть вакансию Golang разработчика. Подумал, что может быть интересно - ведущий метеорологический сервис России и стран бывшего СНГ, много данных, много пользователей, у компании вроде как большие планы по выходу на новые рынки... Немного попереписывались с рекрутером в телеграме, после чего было хорошее продолжительное интервью с техспецами и тимлидом. Их там было сразу 4 человека – и интервью очень понравилось!
Были устные задачки на алгоритмы, задачки на работу рантайма go, как устроен планировщик задач, внутреннее устройство каналов, вопросы по линуксу, по базам, по http, по деплою. В общем, приятно пообщались. Было ощущение, что я собрался со знакомыми и мы просто обсуждаем работу современных технологий.
Uplatforma
Было и еще одно предложение с Хабр Карьеры от рекрутера Uplatforma. Как я понял, это провайдер дистанционных сервисов для HR-специалистов, который представляет на российском рынке психометрические опросники, тесты способностей, методы оценки 360, опросники вовлеченности и другие инструменты, интегрированные в онлайн платформу. По сути, стартап, этим и было интересно.
Собеседовал сразу тимлид. Мы с ним поговорили об общих подходах к разработке, о том, чем я занимался, и прочее, после чего он признался, что ничего не понимает конкретно в Go, но уже готов выслать оффер =D
МойОфис
Ну тут интересный сам по себе проект: амбициозная задача написать замену одному из самых популярных продуктов (читай высокая нагрузка), внутри много микросервисов и взаимосвязей. Хотелось на это посмотреть изнутри.
Не планировал с ними собеседоваться изначально. В каком-то разговоре с приятелями, один из которых как раз работал в МойОфис, узнал, что те активно набирают. Положительные отзывы о компании от хороших знакомых сыграли свою роль. После разговора списались, приятель передал мои данные рекрутеру и завертелось. Правда, в тот же день я зашёл на Хабр Карьеру, и в непрочитанных висело сообщение от ещё одного рекрутера от МойОфис =)
Сначала уже привычная переписка с рекрутером, небольшое собеседование с ним же и сразу же техсобес с 2 тимлидами – с задачками на алгоритм поиска, на синхронизацию горутин, задачка на проектирование, на самом деле просто "на подумать", посмотреть ход мыслей. Хорошее спокойное техническое собеседование, с возможностью порассуждать, понравились собеседники.
Тестовых заданий «на дом» не было нигде.
Если где и давали задачки, в основном, они все одинаковые и лишь повод для начала разговора на какую-то тему.
В конце собеседования, если всё ок, я говорил, что мне нужно 2 недели - привести дела в порядок на текущем месте (огромный бас-фактор, потому что всё, что я там писал - писал, по сути, один, разрабов в помощь мне наняли за полгода до увольнения). Все с этим были ок, кроме стартапа, там тимлид через рекрутера очень активно меня пушил.
Фидбек был везде сразу, кроме Озона. Они "ушли подумать", но так и не вернулись - классическое "мы вам перезвоним".
Вместо выводов и послесловия
В хорошую ИТ-компанию сейчас не так просто попасть, и опыт с собеседованиями очень полезен и важен.
Сменил работу уже почти год назад и за время на новом месте ни разу не испытывал чувства выгорания. Задачи интересные, и порой они были достаточно сложными для меня как новичка в данной предметной области (продукт большой и нужно как минимум полгода, чтобы в него погрузиться), но на помощь всегда приходили коллеги. Своим выбором в итоге более чем доволен.
Комментарии (12)
chuck
22.08.2022 14:22Спасибо за статью.
Расскажите пожалуйста про алгоритмические задачи. Можно примеры?
Brixcrusher Автор
22.08.2022 15:15+1Конкретные примеры сложно показать, да и некрасиво по отношению к интервьюверам будет =)
Можно сказать так: прочитав соответствующую секцию в Cracking the Coding Interview можно о них не волноваться.
Вообще за всю историю технических интервью я встречал в основном различные вариации прохождения массива или списка, возможно мне просто везёт...
ShNURoK42
22.08.2022 15:21Скорее всего они их берут с сайтов вроде leetcode.com поэтому там может и не быть повторений.
mekegi
22.08.2022 15:30+1Можно ориентироваться на уровень easy и medium на хакерранк/литкод.
Там кроме сложности еще есть показатель саксесс-рейт - сколько людей пытались решили задачу из тех кто приступил. На собесы обычно попадают задачи у которых саксесс рейт выше 60-70%. Чтобы за условные 20-30 минут кандидат смог с ней справиться.
А то бывает задача медиум - но чтобы ее решить надо потратить пару часов.
RatVieN
23.08.2022 09:26Вопросы на System Design были? На сколько эта тема важна на собеседованиях?
Brixcrusher Автор
23.08.2022 09:32Конкретно "спроектируйте мессенджер" - такого рода вопросов небыло. Спрашивали о прошлых проектах, что использовал, какие БД/шины/языки, чем был обусловлен выбор. Такие вопросы, по моему мнению, достаточно важны, помогают раскрыть кандидата, понять как мыслит и чем руководствуется в принятии инженерных решений.
vrestles
спасибо, что поделились опытом! порадовало, что практически все после собеседования дали фидбек!
ysymun
Сейчас активней дают обратную связь :) В июле\начале августа проходил технические собеседования и мне сразу лиды давали фидбэк, что лучше почитать, где лучше посмотреть, что стоит попробовать. Я даже сам не успевал об этом спросить.
Буквально год назад и слова-то не из каждого вытащишь, максимум HR мог написать, что недостаточно опыта и все.
mansim
сервис дешевых авиабилетов (надеюсь все поняли) не дает) ни мне, не другу, я еле еле выбил вообще результат прошел ли я или нет, не говоря о фидбеке)