CouponDunia Интервью Опыт
Недавно я получил предложение от CouponDunia, вот мой опыт собеседования:
Было четыре раунда.
Раунд 1: Тест на кодирование на HackerRank.
Три вопроса за 90 минут.
Раунд 2: телефонное интервью
- Допустим, у вас есть 25 лошадей, и вы хотите выбрать 3 самых быстрых из этих 25. В каждой гонке одновременно могут бежать только 5 лошадей, потому что всего 5 треков. Какое минимальное количество скачек необходимо, чтобы найти 3 самых быстрых лошадей без использования секундомера? (http://www.programmerinterview.com/index.php/puzzles/25-horses-3-fastest-5-races-puzzle)
- Реализуйте очередь с помощью двух стеков.
- Дана таблица «ученик» со столбцами Имя и Оценки. Вам нужно написать SQL-запрос, чтобы получить 2-е место в таблице. Также напишите запрос, чтобы найти n-ю высшую оценку, где n может быть любым числом.
- Что осталось присоединиться. Приведите пример.
- Что такое магические функции и автозагрузка в PHP?
- Что такое SQL-инъекция?
- Учитывая три массива, отсортированных в неубывающем порядке, выведите все общие элементы в этих массивах.
Примеры:
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 - Разница между программой, процессом и потоками.
- Как вы будете отображать самые популярные купоны на сайте CouponDunia? Какого подхода вы будете придерживаться?
Раунд 3: Задание (проект Java)
Представьте, что у нас есть таблица очереди электронной почты в нашей базе данных, где каждая строка представляет электронное письмо, которое необходимо отправить. Имя таблицы: EmailQueue Столбцы: id, from_email_address, to_email_address, subject, body (вы также можете добавлять столбцы по своему желанию, но как минимум эти столбцы должны быть в нем). Напишите программу Java, которая будет читать из этой таблицы и отправлять электронные письма через SMTP-сервер (а не локальную почту unix). Для отправки SMTP вы можете использовать уже существующую библиотеку по вашему выбору, если хотите. Пожалуйста, примите во внимание следующее:
- Скорость имеет первостепенное значение. Представьте, что нам нужно отправить 1 миллион писем. Ваш код не должен последовательно отправлять одно электронное письмо за другим.
- Ваше решение должно масштабироваться. Другими словами, если мы определим, что самая быстрая, которую мы можем отправлять электронные письма с одного сервера, составляет 300 писем в секунду, я смогу запустить ту же программу Java на другом сервере и иметь возможность отправлять еще 300 писем в секунду.
- Ваш код должен быть осторожен, чтобы гарантировать, что одно и то же электронное письмо невозможно отправить дважды (особенно при запуске нескольких процессов программы).
- Не беспокойтесь о том, сможет ли SMTP-сервер справиться с нагрузкой. Может.
- Заказ рассылки не обязательно важен. Другими словами, даже если я называю это «очередью», не важно гарантировать, что электронные письма отправляются в том порядке, в котором они поставлены в очередь.
- Подробно комментируйте свой код.
- Еще раз, скорость - главная забота. Так что не забудьте подумать о том, какие могут быть медленные точки в процессе отправки электронной почты, и постарайтесь минимизировать эти болевые точки.
- Пришлите мне инструкции о том, как скомпилировать / запустить / протестировать ваш код вместе с самим кодом. Также инструкции sql для меня, чтобы создать таблицу, с которой вы работаете, и инструкции sql, чтобы вставить несколько тестовых писем.
Раунд 4: Skype-интервью
- Расскажите о себе.
- О моих проектах (подробно).
- Что такое AJAX? Подробно объясните работу AJAX.
- Учитывая массив, выведите следующий больший элемент (NGE) для каждого элемента. Если не больше, то выведите -1. Они попросили меня написать полный код.
- Есть словарь с несколькими словами длиной по 3 и даны начальное и конечное слово. Вы можете перейти от одного слова к другому, изменив только одну цифру. Как от кошки, можно дотянуться до шляпы, летучей мыши или шапки. Какое минимальное количество шагов нужно сделать, чтобы добраться до финишного слова от стартового слова.
- В отеле есть гостиница на 100 номеров, в которой предусмотрена регистрация заезда и выезда разных гостей. Вы не хотите использовать все комнаты. Таким образом, вам необходимо произвести обустройство в минимальном количестве комнат. Какое это минимальное количество?
- Объясните систему автозаполнения (например, поисковое предложение Google). У вас есть таблица базы данных и поле поиска. По мере ввода в поле поиска должны отображаться предложения из этой таблицы базы данных. Как ты это сделаешь? Объясните подробно.
Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью и отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по приемлемой для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию . Если вы готовы, проверьте свои навыки с помощью серий тестов TCS, Wipro, Amazon и Microsoft.