CouponDunia Интервью Опыт

Опубликовано: 16 Сентября, 2021

Недавно я получил предложение от CouponDunia, вот мой опыт собеседования:

Было четыре раунда.

Раунд 1: Тест на кодирование на HackerRank.

Три вопроса за 90 минут.

Раунд 2: телефонное интервью

  1. Допустим, у вас есть 25 лошадей, и вы хотите выбрать 3 самых быстрых из этих 25. В каждой гонке одновременно могут бежать только 5 лошадей, потому что всего 5 треков. Какое минимальное количество скачек необходимо, чтобы найти 3 самых быстрых лошадей без использования секундомера? (http://www.programmerinterview.com/index.php/puzzles/25-horses-3-fastest-5-races-puzzle)
  2. Реализуйте очередь с помощью двух стеков.
  3. Дана таблица «ученик» со столбцами Имя и Оценки. Вам нужно написать SQL-запрос, чтобы получить 2-е место в таблице. Также напишите запрос, чтобы найти n-ю высшую оценку, где n может быть любым числом.
  4. Что осталось присоединиться. Приведите пример.
  5. Что такое магические функции и автозагрузка в PHP?
  6. Что такое SQL-инъекция?
  7. Учитывая три массива, отсортированных в неубывающем порядке, выведите все общие элементы в этих массивах.
    Примеры:
    ar1 [] = {1, 5, 10, 20, 40, 80}
    ar2 [] = {6, 7, 20, 80, 100}
    ar3 [] = {3, 4, 15, 20, 30, 70, 80, 120}
    Выход: 20, 80
    ar1 [] = {1, 5, 5}
    ar2 [] = {3, 4, 5, 5, 10}
    ar3 [] = {5, 5, 10, 20}
    Выход: 5, 5
  8. Разница между программой, процессом и потоками.
  9. Как вы будете отображать самые популярные купоны на сайте CouponDunia? Какого подхода вы будете придерживаться?

Раунд 3: Задание (проект Java)
Представьте, что у нас есть таблица очереди электронной почты в нашей базе данных, где каждая строка представляет электронное письмо, которое необходимо отправить. Имя таблицы: EmailQueue Столбцы: id, from_email_address, to_email_address, subject, body (вы также можете добавлять столбцы по своему желанию, но как минимум эти столбцы должны быть в нем). Напишите программу Java, которая будет читать из этой таблицы и отправлять электронные письма через SMTP-сервер (а не локальную почту unix). Для отправки SMTP вы можете использовать уже существующую библиотеку по вашему выбору, если хотите. Пожалуйста, примите во внимание следующее:

  1. Скорость имеет первостепенное значение. Представьте, что нам нужно отправить 1 миллион писем. Ваш код не должен последовательно отправлять одно электронное письмо за другим.
  2. Ваше решение должно масштабироваться. Другими словами, если мы определим, что самая быстрая, которую мы можем отправлять электронные письма с одного сервера, составляет 300 писем в секунду, я смогу запустить ту же программу Java на другом сервере и иметь возможность отправлять еще 300 писем в секунду.
  3. Ваш код должен быть осторожен, чтобы гарантировать, что одно и то же электронное письмо невозможно отправить дважды (особенно при запуске нескольких процессов программы).
  4. Не беспокойтесь о том, сможет ли SMTP-сервер справиться с нагрузкой. Может.
  5. Заказ рассылки не обязательно важен. Другими словами, даже если я называю это «очередью», не важно гарантировать, что электронные письма отправляются в том порядке, в котором они поставлены в очередь.
  6. Подробно комментируйте свой код.
  7. Еще раз, скорость - главная забота. Так что не забудьте подумать о том, какие могут быть медленные точки в процессе отправки электронной почты, и постарайтесь минимизировать эти болевые точки.
  8. Пришлите мне инструкции о том, как скомпилировать / запустить / протестировать ваш код вместе с самим кодом. Также инструкции sql для меня, чтобы создать таблицу, с которой вы работаете, и инструкции sql, чтобы вставить несколько тестовых писем.

Раунд 4: Skype-интервью

  1. Расскажите о себе.
  2. О моих проектах (подробно).
  3. Что такое AJAX? Подробно объясните работу AJAX.
  4. Учитывая массив, выведите следующий больший элемент (NGE) для каждого элемента. Если не больше, то выведите -1. Они попросили меня написать полный код.
  5. Есть словарь с несколькими словами длиной по 3 и даны начальное и конечное слово. Вы можете перейти от одного слова к другому, изменив только одну цифру. Как от кошки, можно дотянуться до шляпы, летучей мыши или шапки. Какое минимальное количество шагов нужно сделать, чтобы добраться до финишного слова от стартового слова.
  6. В отеле есть гостиница на 100 номеров, в которой предусмотрена регистрация заезда и выезда разных гостей. Вы не хотите использовать все комнаты. Таким образом, вам необходимо произвести обустройство в минимальном количестве комнат. Какое это минимальное количество?
  7. Объясните систему автозаполнения (например, поисковое предложение Google). У вас есть таблица базы данных и поле поиска. По мере ввода в поле поиска должны отображаться предложения из этой таблицы базы данных. Как ты это сделаешь? Объясните подробно.

Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью и отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию . Если вы готовы, проверьте свои навыки с помощью серий тестов TCS, Wipro, Amazon и Microsoft.