CarWale Interview Experience для SDE (в кампусе) 2022 г.
Отборочный раунд
Онлайн-раунд кодирования: Тест проводился онлайн на платформе Hackerrank. Всего было 4 вопроса. В основном вопросы кодирования были разными для всех. Я смог решить первые два вопроса и пройти несколько тестовых случаев четвертого вопроса.
Вопрос был в следующем:
- Сделать массив пустым: вам нужно сделать данный массив пустым за минимальное количество шагов. Вы можете удалить элементы массива при заданном условии.
Условие: [ 2 i + 2 j = 2 x ] если элементы образуют подобное условие, вы можете удалить элемент «i» и «j». Вы можете выбрать несколько элементов, если они удовлетворяют условию.Пример : пусть элементы массива будут [2, 0, 2, 3]
1-й шаг: 2 2 + 2 2 + 2 3 = 2 4 ==>[2, 0,2,3]
2-й шаг: 2 0 = 2 0 ==>[0]Общее количество пройденных шагов = 2.
- Найдите MEX с изюминкой: Вам нужно найти элемент MEX в массиве. (MEX массива относится к наименьшему отсутствующему неотрицательному целому массиву)
Суть в том, что вам также дается значение «x», и вы можете выполнять неограниченные операции с каждым элементом массива, добавляя или вычитая элементы на «x». - Вопрос, основанный на наборах и матрицах (извините, не помню этот вопрос)
- Определение индексов массива. Это действительно очень интересный вопрос. Таким образом, ввод состоял из запросов «q», и каждый запрос имеет два значения «L» и «R», которые представляют собой сумму от индекса «L» до позиции индекса «R». Вам нужно вернуть все индексы массива, которые можно определить с помощью этих запросов.
Пример: запросы = [1, 2], [1, 3], [2, 2]
1. Теперь, используя запросы 1 и 2, я могу определить значение, присутствующее в индексе 3. Я могу удалить результат запроса 1 из запроса 2, результат даст нам значение, присутствующее в индексе 3.
2. И в третьем запросе мы можем определить значение, присутствующее в индексе 2 (оно явно указано в запросе)
Так что мой ответ будет ( 3,2 ).
Раунды интервью
Я был включен в шорт-лист для дальнейших раундов интервью (офлайн), которые были структурированы следующим образом: раунд кодирования / DSA + раунд системного дизайна + раунд HR.
Раунд кодирования/DSA: после небольшого введения и обсуждения вопросов, которые я решил в процессе составления списка, мне было задано два вопроса по кодированию на основе DSA. Оба вопроса были основаны на массиве. Интервьюер был довольно дружелюбен, и мы подробно обсудили каждый подход.
- Найдите элемент большинства. Что ж, это была довольно стандартная задача, и я быстро дал решение временной сложности O(N) и решение пространственной сложности O(N). Затем интервьюер попросил меня написать код. Затем мы обсудили еще 2-3 подхода к этому и, наконец, пришли к решению с постоянным пространством.
- Следующий больший элемент: Это тоже был стандартный вопрос, но вам нужно было найти следующий больший элемент в циклическом порядке. Так что решить это с помощью стека было невозможно. Но я смог легко добиться наиболее оптимизированного подхода, а затем закодировал его.
Советы : высказывайтесь во время решения! сообщите интервьюеру о своем подходе, своем мыслительном процессе и о том, что вы думаете о контрольных примерах, и вы также можете составить свои собственные контрольные примеры и обсудить подход. Объясните пробный прогон достаточно четко, с должным потоком понимания.
Раунд системного проектирования: интервьюер был очень дружелюбен и упомянул, что больше, чем мои знания о системном дизайне, их интересовал мой мыслительный процесс. Интервью началось с темы, связанной с моим проектом. Этот раунд будет вращаться в основном вокруг вашего резюме и проектов. Будьте готовы построить дизайн на какую-то тему, связанную с вашими проектами. Затем мы еще немного поговорили о кэше и других методах хранения. Преимущества его использования, какой из них будет быстрым, как вы будете обновлять и т. д. Затем было еще несколько вопросов, связанных с компанией и вариантами ее использования, а также с тем, как мы будем решать, если столкнемся с проблемой.
Советы : Не говорите в этом раунде без необходимости. Если вы говорите что-то, чего не знаете, то дальнейшие вопросы будут продолжением вашего текущего ответа. Это оставит вас пустыми и произведет плохое впечатление.
Даже думать нестандартно! там нет ни одного правильного ответа… но их много. Вам просто нужно объяснить свой дизайн и доказать свой ответ.
Раунд HR: Если вы дойдете до раунда HR, вы почти выбраны. Интервьюер был довольно хорошим и заставил меня чувствовать себя комфортно. После просмотра моего резюме мы начали обсуждение. Обсуждение обычно вращается вокруг вашей жизни и важных событий в ней, а также того, что вы узнали из них и т. Д. Некоторые из вопросов были такими: как мои друзья описали бы меня, чем я горжусь, что я хотел бы изменить если бы я мог сделать это в 10-м классе, как бы я оценил свой раунд кодирования и раунд дизайна системы и почему, каковы были бы мои сильные и слабые стороны и что я делаю, чтобы преодолеть их, где я вижу себя через пять лет, и намного больше!
Это был довольно расслабляющий раунд, и это было больше похоже на беседу, чем на интервью.
Вердикт: выбран
Советы:
- Задавайте вопросы интервьюеру после каждого раунда. Спросите что-нибудь о компании, что покажет ваше любопытство к ней.
- Постарайтесь решить как можно больше вопросов в раунде кодирования шорт-листа. (даже если некоторые тестовые случаи проходят)
- Не беспокойтесь и будьте последовательны, даже если ваше собеседование продлится с 1 до 2 часов.