Опыт интервью Trilogy Innovations Lab для SDE (на кампусе) 2022
Раунд - 1: Trilogy Innovation прибыла в кампус 2 августа и провела раунд кодирования на битовой платформе интервью. В туре приняли участие около 450 студентов. Было 4 вопроса. Точно не помню вопрос.
- Первым было применение алгоритма расстояния Хэмминга (битовая манипуляция).
- Второе было связано с деревом сегментов. (Нужно было внести небольшие изменения в код шаблона дерева сегментов).
- Был допрошен 3-й дп. Это было просто, так как переходное состояние было легко определить, а ограничения были небольшими, поэтому заученное решение было принято.
- https://leetcode.com/problems/escape-the-spreading-fire/ (Небольшая модификация этого вопроса, но идея была похожей).
После раунда кодирования были отобраны 12 студентов,
Раунд 2:
- Затем мы перешли к следующему раунду, который был CCAT (тест на способности), в котором было 50 вопросов по 1 баллу каждый, а порог допуска для этого раунда составлял 40.
- Были вопросы на математическое мышление, вопросы на логическое мышление и некоторые вопросы на языковые способности.
- Формат этого теста был аналогичен экзамену NTSE. Я был единственным, кто получил 50 на 50 в этом раунде.
После тура способностей были отобраны 11 студентов.
Раунд - 3: (R0) раунд (телефонный раунд): был сделан масштабный вызов.
- Были заданы вопросы по проектам.
- Все проекты обсуждались. Интервьюер подробно рассказал об используемых фреймворках и идее реализации.
- Код был изменен в проекте и спросил, что произойдет, если этот подход будет реализован.
- Сколько времени нужно, чтобы ввести 10k записей? Как оптимизировать текущий используемый подход.
- Вы должны знать все до глубины своего проекта. Как и в моем проекте, я использую Django, поэтому меня спросили, какое промежуточное ПО чаще всего используется в вашем проекте. Каков масштаб продвижения этого проекта?
- Не оставляйте даже один проект, упомянутый в вашем резюме, для внимательного прочтения. Это интервью длилось 45 минут. Этот раунд был взят СДЕ-2 компании.
После этого тура были выбраны 4 студента.
Раунд - 4: (R1) раунд: (Технический раунд) Этот раунд был самым сложным.
- Первые 20 минут мне задавали вопрос по проекту и некоторые вопросы по операционным системам.
- Потом мне сказали, что будет задан вопрос, мне нужно рассказать подход и закодировать его. Вопрос был по граф+дп.
- Я вспомнил, что вопрос расплывчатый. Было неориентированное дерево, в котором каждый узел имел некоторое значение либо +ve, либо -ve, и для каждого узла мне нужно было вычислить максимальную сумму дерева, включая этот узел. Это нужно было сделать за O(n). Сначала я сказал своему подходу к грубой силе, что для каждого узла выполнять dos для всего дерева, и что возвращает return max(0, sum_of_value(node)). В этом было иди для всех узлов, сложность была O (n ^ 2).
- Мне сказали оптимизировать. Через некоторое время я смог оптимизировать его, чтобы мы сначала предварительно вычислили сумму поддерева каждого узла, чтобы для каждого узла мы могли использовать этот массив для нахождения суммы. Я смог создать некоторое соотношение/уравнение для каждого узла, который прошел тестовые примеры.
- Затем он спросил обо мне и моей страсти и спросил, есть ли у меня какие-либо вопросы к нему.
Этот тур длился 1 час 30 минут и был принят СДО-3 компании. После этого тура было отобрано 3 студента.
Раунд – 5: (R2) (Вп Раунд чаще системного дизайна)). Этот раунд также начался с краткого описания проектов.
- Мне дали реальную проблему, а затем я должен был сказать, какими способами все могут решить эту проблему.
- Меня попросили псевдокодировать низкоуровневый дизайн для той же проблемы.
- Проблема заключалась в том, что вы хотите построить навигационную систему для своей библиотеки, которая имеет 10 роботов в рабочем состоянии.
- Есть студент с ограниченными физическими возможностями, которому ваш институт хочет предоставить некоторые преимущества чтения в библиотеке.
- Вы должны спроектировать навигационную систему для роботов таким образом, чтобы, если студент сидит за своим столом, он запрашивал систему, чтобы взять эту книгу с этой полки. И один из роботов должен принести эту книгу ученику и вернуть ее в исходное положение.
- Я должен был сначала рассказать все необходимые условия, как можно назвать робота и какие проблемы могут возникнуть при отслеживании пути, так как может быть несколько путей для движения, и поскольку роботов много, они также могут столкнуться. Мне нужно рассказать о подходе и закодировать его.
- Мне нужно сказать, какой фреймворк может принести мне пользу, какую базу данных использовать, что хранить в моей базе данных и все остальное.
Этот раунд длился час, и его принимал вице-президент компании. После этого тура был выбран 1 студент. Вечером мне позвонили из HR и получили письмо с условным предложением.
После того, как этот последний раунд был сделан
Раунд 6: (заключительный раунд PCCAT): в целом он был похож на Раунд 2, но это был протокольный экзамен в прямом эфире. Эта трудность вопроса была огромной. У вас есть два шанса пройти этот раунд. Один сейчас, второй через полгода. В этом тоже отсечка была 40.
Советы: готовьтесь к худшему, не оставляйте основы CS или низкоуровневое проектирование системы.
Вердикт: выбран