Как стать автором
Обновить
51
0
Vladimir Rozhkov @r0zh0k

Software Development Engineer

Отправить сообщение
а что, по-вашему, у него надо спрашивать?

Давать норм тестовое задание (на час-два, а не на два дня), вопросы по дизайну, по архитектуре, про общение в команде, про взаимодействие с бизнесом.

И у меня действительно спрашивали эти вопросы, но на позиции java-техлида или архитекта. Руби парни не спрашивали, хотя запросы по зп были одинаковыми и там и там.
мне еще и показалось, что у вас требования по з/п высокие

Это не у меня высокие, это у вас — низкие )))

На 5 000 долларов, мне кажется, это должен быть уникум из команды Вконтакте или крутой специалист из Яндекса со знанием всего, что можно. Разве я не прав?

Может в РФ это и так, но у нас 5k — это норм зарплата для норм спеца. Не каждый конечно такие деньги получает, но это и незаоблачные или недосягаемые вещи, в чем я убедился на собственном опыте. В итоге я получил несколько офферов на эти деньги без особых трудностей (наверное мог даже больше просить), ну вот кроме разве что позиции руби разраба где мне дали только 4.5 потому что я «плохо синтаксис знал». Ах да, 5k это на руки, после вычета налогов. Про зарплаты я писал у себя в телеге — вот можете почитать — https://t.me/full_of_hatred/19
И нет, я не вру и не хвастаюсь.

Яндекс платит ниже рынка, это известно даже мне.

И да, Вастрик например писал что в МСК можно косить примерно такое же бабло без особых напрягов.

Можете еще первую статью перечитать, там написано кто я ваще такой и какой у меня бэкграунд, может со стороны показаться что я какой-то вайтишник-понторез, но это не так. Можете вот еще линкедин посмотреть — https://www.linkedin.com/in/rozhok/

Они должны быть не на доске, а в тестовом задании или в примерах своего кода, которые демонстрирует кандидат. Как без комментариев-то в вашем коду будут разбираться коллеги?

Не очень понял кому вообще вопрос, у меня в секции про тестовое задание написано что я писал джавадоки.

Ну это же какие-то очевидные вещи

Но ведь надо же знать про их существование, нет? Как по мне, это такая же важная штука как и eager/includes/join. Впрочем кому я вру, у меня на трех или четырех рейлс проектах не написано ни одной валидации — не нужно было )))

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

А мы выяснили что у вас отсутствует детектор сарказма/юмора.
Я и мои коллеги-интервьюеры никогда не считаем это проблемой

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

Ваще-т да, у нас как-то уже давно такое не практикуют. Да и все собесы почти проходят по скайпу, там есть repl.it/coderpad/шаринг экрана

Microsoft, Google, Яндекс

Да, у нас в Украине тухло с этими конторами ((( Только тупой аутсорс, только галеры.
будет ли кандидат хорошим работником или нет

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

Таким образом, например, на работу берет такая контора как Basecamp (это кстати они придумали Rails).

на интервью на синиор инженера ожидать, что на интервью придется писать только круды

Я ожидал какие-то вопросы по дизайну и архитектуре, но их получил только на Java собесах. Ruby ребята спрашивали дичь для джунов.
Я лично знаю жестких типов (отличных разработчиков), которые после предложения написать код на бумажке просто встанут и уйдут :)
зачем бахвалиться незнанием основ языка

Разжигать в комментариях! ))) Реакция публики очевидна — «ах как он посмел не знать синтаксиса, анафема!» и ожидаема. Статья получает больше просмотров, больше дискуссии, всем профит!

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

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

Ерунду написали :D И я никого не обвиняю.

Что касается «service objects», опять же странно недоумение автора. как можно не понимать таких элементарных вещей?

Я имел ввиду не концепцию а название. Концепцию я использую (хотя может быть и не совсем в таком виде каким ее видят авторы, когда модель остается вообще чистой, как в стандартных Java Spring/Hibernate приложухах), понятное дело, а то что оно так называется — не знал.

Я не специалист в Руби, но знать, как работает вызов метода, конечно надо.

Лол зачем? Это нужно раз в год, когда ты достаточно неаккуратен для того, чтобы назвать метод в классе словом send и потом удивляться, почему у тебя мистические баги вылазят.
Знать нужно не порядок вызова методов, а, например, порядок срабатывания хуков ActiveRecord, или хотя бы просто иметь представление о том, что это такое.

если человек не понимает, например, как работает ActiveRecord и связи, то он может написать неэффективный код, слишком медленно работающий или создающий нагрузку на БД, с грубыми ошибками именно из-за незнания.

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

Если не можете — вы не годны)

Негоден для чего? Для вашей работы? Ну ок, пойду на соседнюю улицу оффера получать, там такой ерундой как секурити не заморачиваются ))) Годность или негодность определяет строго рынок а не комментаторы. Если рынку не нужны разрабы со знаниями тонкостей работы GC — никто не будет заморачиваться чтобы это учить просто так.
Да наверное и реализацию each_slice или другого тривиального метода тоже нечасто нужно делать )))
Чтобы подвинуть «окно» итерации для each_slice. Надо было через while делать но я затупил, вот и все.
после собеседований уровня «переверни-ка мне дерево» и чем X структура отличается от У (при условии, что У нигде на практике не используется)

Я рассуждаю так — если работа вам нужна, то нужно просто выучить все эти алгоритмы и уметь решать их с закрытыми глазами. Было много историй о собесах в FAANGи где люди месяцами сидели учили Cracking Coding Interview и LeetCode чтобы пройти собесы. Если рынок требует — значит надо соответствовать. Иначе снижается количество мест, куда можно попасть, зачем себя ограничивать в потенциальных возможностях. Если бы на собесах требовали писать о себе эссе на 10 страниц — пришлось бы писать, что поделать.

Я ходил на собесы по фану, поэтому не готовился ваще и поставил себе челлендж получить максимум офферов на $5k, на любые позиции, на любые технологии, отвечал на все запросы рекрутеров. Конечно, если бы я более серьезно подошел к делу, то результат был бы лучше, но и времени мне пришлось бы потратить больше (учитывая что новая работа мне ваще-т не нужна была). Я бы конечно хотел повторить этот опыт, только уже не для локальных аутсорс конторок, а FAANG, но как только представлю, сколько времени нужно будет потратить на подготовку, чтобы получть хоть один оффер из 10 попыток, всякое желание отпадает. Тем более что работать там я все равно не хочу.
Не из-за пробелов в знаниях, а именно из-за вашего отношения.

Я ходил на собесы по фану, и чтобы статьи потом написать (зацените предыдущие две).

Вы знали, на какую позицию идёте, при этом даже не удосужились подтянуть свои знания.

Ну че, на третий раз подтянул и оффер получил. Ez.

вместо этого в статье только и слышно, что не те вопросы вам задавали

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

Просто с таким отношением есть высокая вероятность

Это уже менеджерское дело выяснять ))) Но любой человек при желании может давать социально приемлемые ответы и эту линию обороны тоже на изичах проскочить.

Вот я собеседовался на позицию Group Manager и там меня раскусили и не дали оффер )
можно увидеть решение задачки each_slice по первому собеседованию?

Собес был еще в октябре (полгода назад), кодерпад я потерял, да и код там тривиальный.

и что там с индексами в итераторах — где прочитать про это?

Не знаю, наверное в учебнике ))) Я просто запустил код в repl и протестировал как он работает. Что-то вроде

for i in 0..5
   puts "Value of local variable is #{i}"
   i = i + 1
end


Выведет не 0, 2, 4 а 1, 2, 3, 4, 5

Школьный вопрос какой-то на самом деле )))
Ну так вот не взяли вас в большинстве случаев совершенно правильно.

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

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

Понятие «говнокод» универсально для всех языков, я могу сходу определить что код плохой, будь он написан на Java/Ruby/Python/JS и так далее.
Вы тем самым показали

Я тем самым вообще ничего не показал, потому что на следующем собесе на эти вопросы ответил и в итоге получил оффер (правда не на 5к как рассчитывал а всего лишь на 4.5к :)))
Дядь, я тебе рассказал про то, зачем нужны были деревья на собесах в одной конкретно взятой компании а ты мне тут втираешь какую-то дичь ))) астанавись )))
в России

В Украине ваще-т, автор оттудаво. И там в основном аутсорс-аутстаф, в России все-таки поболее продуктовых контор.
Может он от вас ещё и конкретный кодестайл требует?

прикинь, в больших компаниях часто есть кодестайл )))
Это вам бизнес такие требования ставит?

Ага, а еще в больших компаниях часто есть фиксированный стек технологий и нельзя просто так начать писать на .NET в конторе где почти все написано на Java )))
Категорически несогласен

отлично! можете тоже пройти полтора десятка собесов и написать по этому поводу опровержение )))
И в маленьких и больших компаниях обязательна встреча и с тем и с другим

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


Ишь какой дерзкий )))

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

Про fetch plan вы не слышали?

конечно не слышал )))

То есть вы даёте задания, для понимая которых нужно описывать весь продукт?

Когда я говорил про невозможность использования графовых баз, я имел ввиду уже требования реального продукта а не ограничения задания. Если бы мне кандидат сказал что для моделирования графов он был взял какой-нибудь neo4j, ну что ж… наверное я бы такому кандидату отказал с занесением в личное дело «любитель ищ пушки по воробьям» )))

Шутка ))) Если бы кандидат сказал про neo4j то я бы спросил у него давно ли он смотрел их багтрекер )))
Для парного программирования оба должны быть хорошо знакомы с внутренними механизмами разрабатыемой системы.

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

Информация

В рейтинге
Не участвует
Откуда
Киевская обл., Украина
Зарегистрирован
Активность