Pubmatic Interview Experience для инженера-программиста (на кампусе) 2023 г.

Опубликовано: 14 Января, 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 вопроса.

  1. Скрапинг: как вы очищаете данные и какие подходы используются для разных веб-сайтов?
  2. Скрапинг: для очистки веб-сайта, содержащего подкатегории, такие как электронная коммерция, что предпочтительнее — DFS или BFS.
  3. Кодирование 1: https://www.geeksforgeeks.org/find-index-first-1-infinite-sorted-array-0s-1s/
  4. Кодирование 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.

  1. SQL-запрос: учитывая две таблицы «Сотрудник» и «Зарплата», найдите имя сотрудника со второй по величине зарплатой.
  2. Код 1: Реализуйте связанный список. Вставьте в него значения от 2 до 5. Распечатайте это. Переверни это.
  3. Код 2: Дана строка, состоящая из слов, перевернуть последовательность слов без использования метода split() . Кроме того, игнорируйте множественные пробелы.
Example: "this is a word" -> "word a is this" 

Это интервью также длилось около часа.

Этот процесс длился 2 дня. Было отобрано 9 студентов.