Что спрашивают на собеседованиях Senior Java Developers?


За прошлые две недели я прошёл больше двадцати собеседований. Может больше, может меньше, сложно сказать, большинство из них проходил по скайпу «вот прям сейчас». Ещё пару таких неделек и я бы побил рекорд комбатса 🙂
Немного вестей с полей, очень субъективно:
* Мне сложно судить, но ощущение что вакансий по Java в Киеве заметно поубавилось. Судить сложно, потому что в прошлый раз когда искал работу я был мидл уровня и был не очень востребованным на рынке. Ну и проект в прошлый раз я нашёл за день, там искали именно специалиста по Grails как раз как я.
Но в любом случае, новые компании не могут аутсорсить в Украину. Многие делают массовый релокейт своих сотрудников. Массово и планомерно сгребают всех в Таллин и Краков.
* В этот раз по Grails не смог найти ничего. Очень хотел попасть в TransferWise, у меня релевантный опыт к ним и там толковый тимлид, но они в Черкассах. Я предложил на испытательный срок поработать у них в Черкассах а потом на удалёнку только подъезжая на бэклог грумниг, но сказали так им не пойдёт.
* Джинни реально рулит — очень много отзывов пришло на моё резюме. В LinkedIn кроме спрамерш тоже нашлось несколько настоящих рекрутёрш. Из сайтов вакансий тоже только по ДОУ Работа прошёлся, несколько отличных вакансий было.
* Крупные аутсорсы — походу отстой. Из крупных только Люксофт ещё шевелится и работает.
Например ЕПАМ свои вакансии на ДОУ вообще не публикует, но я зашёл на их сайт нашёл таки открытые позиции и зааплаился на несколько на которые подхожу, ии… всё. Никакого ответа. Вообще у меня такое впечатление что в Епаме уволили весь HR отдел, а чтобы нанять новых нет эйчаров.
UPD: епамовский рекрутёр прислал в личку:

Привет, Сергей Спасибо огромное за написание статью про собеседования. Мне как рекрутеру она показалась мегаполезной. Рекрутерский отдел в ЕРАМе не умер, а очень даже процветает, за два последних месяца мы наняли около 200 человек и стали самой большой компание Украины. В общем, теперь у тебя на одного рекрутера в сети больше! В общем пиши если что! Я стараюсь хорошо работать! P.S. Поскольку я обещал быть полезным рекрутером, поделюсь с вами информацией о самых удобных редакторах для CV 😉 https://epa.ms/5CvMakers

У Глобалоджика вакансий по джаве не было на сайте вообще, также у Инфопульс. У Сиклума было вакансий клёвых, но видать не заинтересовало моё резюме. Отписались только вчера, когда я уже офер принял. А ведь это всё лидеры в топах.
Люксофт не подкачал, две крутые позиции предложили, жаль моего уровня не хватило — там нужно было хорошо уметь многопоточность.
* Да, кстати к заголовку поста, синьёров спрашивают по сути тоже что и мидлов и джуниоров: Java Core, коллекции, мапинги в хибернейт, скоупы бинов в спринге, пару задачек на агрегацию SQL, но в добавок особенно уже начинают расспрашивать низкоуровневую жесть: про то как работает Garbage Collector, как исправлять проблемы на сервере через jconsole, и особенно жёстко Concurrency — что такое ThreadLocal, volatile. Проблема в том что конкаренси это такая жёсткая тема которую ну просто невозможно изучить не поработав на проекте с нею. Вопросы по алгоритмам почти всегда — на знания деревьев и их обход.
Ну и как всегда к реальной практике вопросы обычно отношения почти не имеют.
* Почти все взяли моду спрашивать логические задачки на собеседовании и давать тестовые задания. Причём если логические задачи ещё хоть как-то можно обосновать, то тестовые задания я вообще не понимаю зачем давать. Вот прошёл я отлично техническое интервью, ребятам явно понравился, да и я бы уже готов к ним идти, но нет — вот вам тестовое задание: напишите простую веб апликуху с импортом в БД из CSV файла.
А у меня через час после них следующее собеседование назначено, а на следующий день ещё три. Такую апликуху сделать — как два пальца, но блин это всё равно время часа на четыре минимум, за которые никто не заплатит. А когда ты почасово поработаешь на удалёнке то начинаешь особо ценить время. И особенно его начинаешь ценить когда вторую неделю не зарабатываешь а ходишь по собеседованиям.
И делать ну вот реально не хочется: задача не интересная, тебя по скайпу перебивают эйчары, и вообще лучше время потратить чтобы освежить знания про конкаренси чтобы завтра на собеседовании не краснеть. И даже примитивную программу писать всё таки долго: ты, например, можешь отлично шарить хибернейт, но тебе всё равно нужно будет потратить время чтобы его правильно подключить к проекту, потому что ты этого не делал никогда а работал на работе где уже готовое приложение было. Потом прописать мапниги, наколбасить тесты, побороть пару непонятных исключений из-за опечаток — вроде и фигня, а на каждом новом проекте съедает кучу времени.

И что этим тестовым заданием хотели посмотреть? Как я пишу код? Так для этого можно на гитхаб зайти посмотреть, я же его указал в резюме. Ну или прямо на собеседовнии можно простой код написать.
Узнать как я шарю техническую жесть и знания технологий? Ну так тут задача на один контролер с десятью строчками кода. Ну и опять таки — резюме, гитхаб, вопросы.
В другой компании дали обычную TDD кату пройти. Опять таки: ну и что по этой кате можно узнать? Шарю ли я ТДД? Ну шарю, это можно и вопросом выяснить. Может какую архитектуру я наваял в итоге? Так по ТДД архитектура всегда выходит не самая лучшая, зато рабочая. Это всегда так при разработке снизу вверх.
И да, тоже пять часов её втыкать не интересно.

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

А вот что мне реально понравилось и считаю хорошей практикой — это когда мне дали листинг кода и спросили какие ты тут проблемы видишь и как бы отрефакторил.
И тут да, сразу поехало: тут ненужный автобоксинг, тут дженерик бы дописать, вот это в метод заэкстрактить, тут в JDBC лучше сделать prepared statement и ещё забыли ресурс закрыть. 15 минут за которые интервьювер узнал про меня в разы больше чем за пятичасовое тестовое задание.
Когда в следующий раз буду сам собеседовать обязательно возьму эту практику.

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

Опять таки, мне сложно судить, но походу и хороших девелоперов маловато на рынке. На нескольких собеседованиях где я конкретно не тянул по опыту меня всё таки очень захотели. Подозреваю что причина в том что у меня из преимуществ инфраструктурный опыт наработанный самостоятельно: как настраивать сервера, CI, билды, правильно тестировать, и много ещё ботвы с которой на нормальных проектах разбираются девопсы, и да, походу самые лучшие уехали в Долину и прочую Ойропу. Те что остались стали архитекторами и меня теперь собеседуют. Ну и да, когда ты проходишь уже с десяток интервью то на вопросы отвечаешь сходу. И да, может это потому что если тебя уже пригласили на собеседование то уже заинтересованы именно в тебе.

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

Что спрашивать на собеседовании

Хороший доклад о том что стоит спрашивать а что нет:

Advertisements

3 comments

  1. Евгений

    Примерно те же вопросы мне встречались на позицию Middle, про варианты рефакторинга интересно, хотелось бы попробовать) Насчет тестовых заданий.. я сделал несколько штук в процессе поиска работы, так вот, чем больше их делаешь, тем быстрее получаются последующие. Если сравнить первое с последним разница во времени у меня раз в 6-7, поскольку задания однотипные. Хотя согласен, при мысли об очередном тестовом задании мысленно начинаю кривится. Обидно что если с ним что-то не так и тебе отказывают после проверки чаще всего нет даже нормального фидбэка, маскимум что можно получить в ответ «не удовлетворяет требованиям», после такого подхода отпадает желание общаться с рекрутером, даже если у него есть другие вакансии.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s