Senior Java Developer — как проходят собеседования
Хотел бы разбить по категориям наших любимых интервьюеров (сортировка от отстоя к классным).
1. Ленивец
Их метод прост как пробка — берем список вопросов и ответов из различных статей (как подготовится к собеседованию по Java). Обычно у таких проходишь собес на раз два. Однако, есть и подводные камни — некоторые такие деревянные, что могут, сверяя ваш ответ с тем, что на бумажке, не понять, что это одно и тоже. Попросту они не всегда могут смапить ответ на бумажке и ваш ответ. Редко, но все таки.
У такого подхода есть только один плюс для интервьюера — не надо долго готовиться и вырабатывать свою методу. В остальном — печаль.
2. Теоретик
Этот класс особо любим, но встречается редко. Здесь во главе угла чистейшая теория по Java Core, причем до каких то извращенных деталей, которые, по моему мнению, ну совсем не нужны в моей памяти.
Вопросы могут быть такими: — назовите все примитивные типы в Java, сколько каждый тип занимает памяти, если не помнишь, то посчитай; — какие методы класса Object, стандартный вопрос (многие задают), но в данном случае нужно назвать все до одного, т.к. собеседующий реально за это запаривается и сидит считает.
В целом практически любой вопрос у них упирается в то, что нужно помнить все цифры, все названия, как на экзамене у узколобого препода, когда зазубрить лучше, чем понять.
Здесь тоже плюсов особо нет, они ушли не далеко от ленивцев.
3. Мистер алгоритм
Ну из названия почти все понятно. Некоторые насмотрелись бест оф зе бест практис и решили перенять их 😊
В основном это решение алгоритмических задачек онлайн в напряженной атмосфере. Здесь обойдусь без комментариев — сами решайте, что по этому поводу думать.
Сюда же отнесу, да простит меня Java сообщество, «зануд» или «ярых программеров». Это люди увлеченные функциями, алгоритмами, формулами, в целом математикой, и прочими университетскими штучками. Такие люди готовы искать лучшее решение задачек в свое свободное время, вместо развлечения или отдыха.
Плюсов сильно много не вижу у таких собеседований, кроме как, если реально потребуется писать кучу своих реализаций с алгоритмами, вместо уже имеющихся джавовых, ибо они слишком медленные и вообще посредственны, ну не то что вы пишите… чистый идеал 😊
4. Лайв кодер
Здесь часто могут попросить написать тот или иной код в блокнотике расшаренном. Например: давай напиши синглетон, напиши какой-нибудь класс с функцией такой то и такой, напиши апи без логики, именно контракт и прочие.
Вроде бы все ничего, но куда же без подводных камушков. Перво-наперво, кто-то может нервничать или торопиться, но это опускаю, т.к. все по разному реагируют на сжатые сроки и дыхание в спину.
Что же касается интервьюеров, то у них могут быть разные заскоки, которые не вяжутся с адекватностью.
Кто-то будет запариваться за синтаксис, за пропущенные кавычки, скобки, модификатор. Пишешь ты код на вскидку, потом местами его корректируешь (меняешь названия, модификаторы, типы данных, в общем много чего) и рождается что-то, что ты готов отдать на ревью собеседнику. И тут начинается… где-то что-то не дописал, забыл поменять при переписывании. Ну здесь сразу провал и лишение всех сеньорских титулов — ведь ты даже основ Java не знаешь раз забыл элементарщину.
Кто-то будет докапываться до реализации, мол подразумевалась доп. логика, на что ты аргументированно ставишь человека на место, он соглашается, но осадок остался о тебе как о неприятной личности (тоже провал).
Плюсы есть: реально посмотреть на то как пишешь код, как логику строишь, как проектируешь (используешь или нет паттерны). Главное, ребята — без фанатизма. Не надо докапываться до ерунды.
5. Крутые ребята
Начинают с основ, быстро проходят за 5 мин, понимают, что не джун.
Далее GC, память JVM senior java developer. Потом вопросики поинтереснее про Spring и его работу, паттерны, SOLID. Потом БД. Понимают что точняк мидл, авось и более.
Далее про проектирование систем, какие проблемы бывают в разных подходах, чем лечить. Потом интереснее, реальные кейсы как построить систему, которая выполняла бы определенную бизнес логику с ограничениями.
Тут прямо сам прокачиваешь от таких вопросов. Начинаешь рассуждать, думать, в общем превращаться в архитектора. Это топовый класс интервьюеров, с которыми приятно проходить собеседования. И при рассуждениях и беседе понимаешь, что с той стороны, действительно, бывалый разработчик с хорошими знаниями и набитыми шишками.
Итого для собеседующихся
- Не переживайте, если вас недооценили — это нормально. Главное чувствовать свой уровень. На отказы реагируйте спокойно, просите пояснить чем не подошли, делайте выводы.
- В целом любой собес — это прокачка узких мест, понимание своих пробелов. А это значит, что есть куда расти и вам указали точки роста.
- При поиске работы, общении с эйчарами и собеседованиях, вы оттачиваете способность себя продавать на рынке труда. Рынок есть рынок. Нужно знать свою цену на текущий момент. Периодически похаживайте по собесам — будьте в тонусе и в цене 😊
- Не скромничайте по цене. Если не хотите долго искать — просите 300К. Если есть месяц походить на собеседования, то берите 350К — 400К (правда некоторые захотят, чтобы за эти деньги вы умели летать и стрелять лазером из глаз). В Java на ноябрь 2021 года по Москве(или удаленка) вилка для Senior 300К — 400К руб. К чему я это, некоторые достойные люди, хорошие разработчики, просят по 250К — 300К, хотя рынок поменялся, инфляция колоссальная, недвижка выросла в 1.5-2 раза… ну вы поняли — выросли цены, и ЗП тоже должна подрасти (все по честному).
Итого для интервьюеров
- Посмотрите немного со стороны на ситуацию, вспомните свои собеседования, где вы были собеседующимися.
- Определите для себя, что критически важно именно для ваших задач:
- усиленное знание БД
- знание инфраструктуры и девопсерство
- алгоритмы
- жестокая многопоточка, которая у вас используется на каждом шагу
- понимание архитектуры как приложения, взаимодействия между системамиМожете об этом сразу сказать собеседнику при начале собеседования, что именно вот это у вас критически важно.
- Не запаривайтесь за мелочевку, особенно если при дополнительном вопросе человек вам ответил как надо. Вы же не робота собеседуете, каждый может опечататься, забыть что-то, просто растеряться.
- Если человек не подошел по цене, так и скажите честно: «Все норм, но за эти деньги мы хотели больше опыта». Возможно предложить чуть поменьше, т.к. собеседующемуся может понравился ваш проект или команда.