Pubmatic Interview Experience для инженера-программиста (на кампусе) 2023 г.
8 августа 2022 года компания Pubmatic посетила мой кампус, чтобы принять на работу инженера-программиста.
Профессиональные требования:
- Отличные навыки решения проблем и аналитические способности.
- Знание концепций операционных систем.
- Возможность кодирования с использованием любого языка программирования, а именно. С, Ява, Скала.
- Хорошее понимание структур данных и алгоритмов.
- Знание SQL и баз данных.
- Хорошее базовое понимание программной инженерии.
- Умение правильно излагать мысли.
Хакерранг тест:
- 15 вопросов, 90 минут
- 2 вопроса по кодированию, 15 MCQ
Кодирование 1 — самая короткая подстрока: для заданной строки, состоящей из повторяющихся строчных букв, найдите кратчайшую подстроку, удаление которой приведет к строке, состоящей только из уникальных символов.
Example: s = xabcadefaga
Кодирование 2 — максимальное количество очков: учитывая последовательность целых чисел, найдите такую перетасовку этой последовательности, чтобы в новой последовательности было столько элементов, которые больше, чем элементы в исходной последовательности с их соответствующими индексами.
Example: 1 1 2 2 3 6 new seq: 2 2 3 6 1 1
Вопросы MCQ касались основ CS, таких как ОС, сети и C++.
33 студента были отобраны из 500+.
Техническое интервью 1: Интервью длилось 1.30 часа. Всего 4 вопроса.
- Скрапинг: как вы очищаете данные и какие подходы используются для разных веб-сайтов?
- Скрапинг: для очистки веб-сайта, содержащего подкатегории, такие как электронная коммерция, что предпочтительнее — DFS или BFS.
- Кодирование 1: https://www.geeksforgeeks.org/find-index-first-1-infinite-sorted-array-0s-1s/
- Кодирование 2: https://www.geeksforgeeks.org/inorder-successor-in-binary-search-tree/
Интервьюер дал свободу выбора языка программирования. Я использовал Питон. Примерно через 4-5 часов HR прислал мне письмо для второго собеседования.
Техническое интервью 2: Это интервью было с менеджером. Он сказал мне, что они используют C в команде, и мне придется использовать C только в этом интервью. Перед началом собеседования он просмотрел свое резюме. У меня было более 10 месяцев опыта работы с наукой о данных и Python, поэтому он предложил порекомендовать меня команде, использующей Python. Я сказал, что попробую с C, но если не получится, то вы можете порекомендовать меня.
Поскольку Pubmatic работает в очень больших масштабах, а производительность очень важна, они больше фокусируются на логике, чем на использовании библиотек или даже встроенных функций. Поэтому он попросил не использовать какие-либо библиотеки, такие как функции String.h, и реализовывать их при необходимости.
Кодировка 1: https://www.geeksforgeeks.org/program-to-validate-an-ip-address/
После этого было несколько основных вопросов по Linux.
Это интервью длилось 1 час.
Примерно через час отдел кадров назначил еще одно интервью. На этот раз это было второе техническое интервью 2, вероятно, после рекомендации команде Python.
2-й раунд (Техническое интервью 2): Это интервью было легкой прогулкой для меня, потому что оно было на Python. Он также задал мне несколько вопросов по SQL.
- SQL-запрос: учитывая две таблицы «Сотрудник» и «Зарплата», найдите имя сотрудника со второй по величине зарплатой.
- Код 1: Реализуйте связанный список. Вставьте в него значения от 2 до 5. Распечатайте это. Переверни это.
- Код 2: Дана строка, состоящая из слов, перевернуть последовательность слов без использования метода split() . Кроме того, игнорируйте множественные пробелы.
Example: "this is a word" -> "word a is this"
Это интервью также длилось около часа.
Этот процесс длился 2 дня. Было отобрано 9 студентов.