CarWale Interview Experience (в кампусе, 2022 г.)
Первый раунд: это было на Hackerrank. Нам дали 4 вопроса кодирования, которые были случайными для всех.
Некоторые из вопросов, которые я получил, заключаются в следующем:
Приоритеты соответствия: система содержит очередь всех текущих проблем вместе с их приоритетами. Приоритеты варьируются от 1 до 99. Создайте алгоритм, который будет переназначать приоритеты так, чтобы значение максимального назначенного приоритета было минимальным, сохраняя относительные приоритеты между всеми задачами одинаковыми.
Пример:
priorities = [1, 4, 8, 4] There are three priority levels: 1, 4, and 8. The array of elements are reassigned to priorities [1, 2, 3, 2]. Their relative priorities are maintained while the value of the maximum priority is minimized.
Учитывая приоритеты проблем, верните список, содержащий переназначенные значения приоритета без изменения порядка.
Система имен устройств: создавайте уникальные имена устройств. Если имя устройства уже существует в системе, в конце имени добавляется целое число, чтобы сделать его уникальным. Добавляемое целое число начинается с 1 и увеличивается на 1 при каждом новом запросе существующего имени устройства. Получив список запросов имени устройства, обработайте все запросы и верните массив соответствующих уникальных имен устройств.
Пример:
devicenames = ["switch", "tv", "switch", watch", "switch","tv"]
Отвечать:
return uniqueDevicenames = ["switch", "tv", "switch1", "watch", "switch2", "tv1"]
Идеальные пары: пара целых чисел (x, y) является идеальной, если выполняются оба следующих условия:
min(|x-y|,|x+y|) <=min(|x|,|y|) max(|x-y|,|x+y|) >=max(|x|,|y|)
Для заданного массива arr длины n найдите количество совершенных пар arr[i], arr[j], где 0 i < j < n.
Обход сетки: в этом вопросе кодер должен был найти минимальное количество переходов от начальной точки к конечной.
Я смог решить 2 задачи полностью и 1 проблему частично.
Второй раунд: Это был раунд технического собеседования, который проводился офлайн в нашем кампусе. Интервьюер задал следующие вопросы:
Продолжительность: 1 час
- Расскажи мне о себе
- Как вы оцениваете себя в структурах данных по шкале от 1 до 10.
- Обсуждение языков программирования (c++, java, python)
После этого интервьюер задал 2 кодирующих вопроса:
- Найдите знаменитость — График (среда GFG — https://practice.geeksforgeeks.org/problems/the-celebrity-problem) Найдите человека из n числа людей, которых все знают, но он не знает никого, учитывая соотношение между 2 номера.
- Binary-tree-cameras Binary Tree (Leetcode Hard — https://leetcode.com/problems/binary-tree-cameras/) Найдите минимальное количество камер, необходимое для покрытия всех узлов бинарного дерева, при наличии 1 камеры в любой момент времени. node отслеживает только своего 1-го дочернего или 1-го родителя.
Сначала я объяснил подход грубой силы, а затем интервьюер попросил меня еще больше оптимизировать подход.
- Обсуждение проектов, какие технологии использовались? Почему? что такое ларавель? разные технологии?
- У вас есть какие-либо вопросы ко мне?
Советы: собеседование будет назначено на следующий день после теста на кодирование. Так что подготовьтесь к собеседованию заранее. В нашем случае мы сдали тест в 14:00, результаты были объявлены около 23:00, а в 2:00 нас попросили быть готовыми ровно в 8:30 утра следующего дня.
Меня не выбрали для дальнейших раундов. Но это был приятный опыт, так как это было мое первое офлайн-личное интервью.