Как One Day Offer в Yandex стал One Month Offer 🤡
One Day Offer - это когда вам обещают провести процесс отбора в компанию быстро и в случае успеха сделать оффер за 1-2 дня.
На собесе в Яндексе я уже бывал однажды, но оподливился и больше не совался.
Несколько месяцев назад я порешивал задачи на Leetcode, и тут мне пришло письмо попробоваться в Яндекс. Без каких-то серьезных намерений, я решил проверить свои силы в бою.
Первый этап
Отборочный тур на платформе Yandex.Contest. Проходил за неделю до основного этапа, что как бы намекает на долгий процесс.
Платформа от Яндекса максимально неудобная. Вы должны использовать стандартные методы для ввода/вывода в консоль, чтобы заполнить модели из командной строки и вывести результат. Кто-то вообще делал такой треш на Swift?
Два из трех задания были, на мой взгляд, адекватными для позиции iOS разработчика. Третье, для прохождения всех тестовых условий, требовало сложный алгоритм. Классический BFS не был достаточно оптимальным. Все ли разработчики могут его написать? Сомневаюсь. Конечно, это остается на усмотрение организаторов, но я считаю ту мач.
Второй этап
Если вы набираете достаточно количество баллов, то вам ставят 2 этапа в субботу на 1ч каждый. Первая встреча предполагала решения двух небольших задач на проектирование фичи, по 30 минут на каждую - System Design на минималках. Не буду сливать прям точь-в-точь, но это достаточно классические задания на интервью. Например: “Спроектируй модуль, который отвечает за поиск с подсказками при вводе запроса”. Необходимо выяснить требования, ограничения и предложить решение. Сразу писать код не нужно, можно просто порассуждать и назвать плюсы/минусы такого решения. Потом можно накидать протоколов/классов/методов и углубится в реализацию при необходимости.
Третий этап
Достаточно классическая задача на строки. По ощущениям Leetcode medium. Решение было в лоб и не требовало специфичного алгоритма. В комменты закину список материалов, которые рекомендуют рекрутеры для подготовки.
Вечером мне написали, что все классно и я хорошо справился, но на финал команды позвать не готовы, потому что ищут мидлов) Через несколько дней ко мне вернулся рекрутер и сказал, что появились подходящие позиции, но нужно пройти еще один технический этап перед финалом.
Четвертый этап
Проводила команда Яндекс.Маркет. Длительность 1.5ч. Начали с решения алгоритмической задачи, опять попалась на строки и тоже среднего уровня. Потом интервьюер давал примеры кода, в которых нужно было что-то поправить или просто ответить на вопросы. Последняя задача подразумевала проектирование модуля для работы с логами и требовала хорошего понимания, как использовать дженерики в Swift.
Было задание, где фигурировал
Пятый этап
Через несколько дней рекрутер предложил пообщаться с руководителями из двух команд. Это финальные собеседования, без технических заданий. Я рассказал о себе, а мне презентовали продукт и команду. Обе команды были готовы сделать мне оффер, осталось только выбрать в какую из них я хотел бы пойти.
Я выбрал позицию в команде, которая предполагала, что я смогу нанимать и лидить команду. На согласование оффера ушло больше недели, а все наше общение и прохождение пяти этапов растянулось больше чем на месяц. Так One Day Offer превратился в One Month Offer 😄
Яндекс не смог предложить те условия, на которые я рассчитывал, но были готовы продолжить общение и попробовать договорится о более высоком вознаграждении или должности. Это не входило в мои планы, поэтому я отказался.
Позиция, на которую был оффер, предполагала переезд в Белград, как альтернативу можно было выбрать Армению и Казахстан.
Норм ли такой хайринг флоу или напряжно?
#interview #yandex
One Day Offer - это когда вам обещают провести процесс отбора в компанию быстро и в случае успеха сделать оффер за 1-2 дня.
На собесе в Яндексе я уже бывал однажды, но оподливился и больше не совался.
Несколько месяцев назад я порешивал задачи на Leetcode, и тут мне пришло письмо попробоваться в Яндекс. Без каких-то серьезных намерений, я решил проверить свои силы в бою.
Первый этап
Отборочный тур на платформе Yandex.Contest. Проходил за неделю до основного этапа, что как бы намекает на долгий процесс.
Платформа от Яндекса максимально неудобная. Вы должны использовать стандартные методы для ввода/вывода в консоль, чтобы заполнить модели из командной строки и вывести результат. Кто-то вообще делал такой треш на Swift?
let N = Int(readLine()!)!
var graph: [Int: [Int: Bool]] = [:]
for _ in 0..<N {
let line = readLine()!.split(separator: " ").map { Int($0)! }
let A = line[0]
let B = line[1]
graph[A, default: [:]][B] = true
}
Два из трех задания были, на мой взгляд, адекватными для позиции iOS разработчика. Третье, для прохождения всех тестовых условий, требовало сложный алгоритм. Классический BFS не был достаточно оптимальным. Все ли разработчики могут его написать? Сомневаюсь. Конечно, это остается на усмотрение организаторов, но я считаю ту мач.
Второй этап
Если вы набираете достаточно количество баллов, то вам ставят 2 этапа в субботу на 1ч каждый. Первая встреча предполагала решения двух небольших задач на проектирование фичи, по 30 минут на каждую - System Design на минималках. Не буду сливать прям точь-в-точь, но это достаточно классические задания на интервью. Например: “Спроектируй модуль, который отвечает за поиск с подсказками при вводе запроса”. Необходимо выяснить требования, ограничения и предложить решение. Сразу писать код не нужно, можно просто порассуждать и назвать плюсы/минусы такого решения. Потом можно накидать протоколов/классов/методов и углубится в реализацию при необходимости.
Третий этап
Достаточно классическая задача на строки. По ощущениям Leetcode medium. Решение было в лоб и не требовало специфичного алгоритма. В комменты закину список материалов, которые рекомендуют рекрутеры для подготовки.
Вечером мне написали, что все классно и я хорошо справился, но на финал команды позвать не готовы, потому что ищут мидлов) Через несколько дней ко мне вернулся рекрутер и сказал, что появились подходящие позиции, но нужно пройти еще один технический этап перед финалом.
Четвертый этап
Проводила команда Яндекс.Маркет. Длительность 1.5ч. Начали с решения алгоритмической задачи, опять попалась на строки и тоже среднего уровня. Потом интервьюер давал примеры кода, в которых нужно было что-то поправить или просто ответить на вопросы. Последняя задача подразумевала проектирование модуля для работы с логами и требовала хорошего понимания, как использовать дженерики в Swift.
Было задание, где фигурировал
DispatchQueue.main.sync
и интервьюер пытался меня убедить, что он всегда приводит к deadlock. Помните, что это не так)Пятый этап
Через несколько дней рекрутер предложил пообщаться с руководителями из двух команд. Это финальные собеседования, без технических заданий. Я рассказал о себе, а мне презентовали продукт и команду. Обе команды были готовы сделать мне оффер, осталось только выбрать в какую из них я хотел бы пойти.
Я выбрал позицию в команде, которая предполагала, что я смогу нанимать и лидить команду. На согласование оффера ушло больше недели, а все наше общение и прохождение пяти этапов растянулось больше чем на месяц. Так One Day Offer превратился в One Month Offer 😄
Яндекс не смог предложить те условия, на которые я рассчитывал, но были готовы продолжить общение и попробовать договорится о более высоком вознаграждении или должности. Это не входило в мои планы, поэтому я отказался.
Позиция, на которую был оффер, предполагала переезд в Белград, как альтернативу можно было выбрать Армению и Казахстан.
Норм ли такой хайринг флоу или напряжно?
#interview #yandex
🤡19🔥10❤2👍2👏2