MakeMyTrip Интервью для Senior Software Engg.

Опубликовано: 4 Января, 2022

1 тур:

  1. Подробно о текущем проекте компании. Мы использовали Kafka для некоторых функций. Обсуждение на Кафке.
  2. Неизменяемые классы.
  3. Обсуждение хэш-карты. Почему размер хэш-карты по умолчанию равен 16, а почему не 14 или 15.
  4. Обсуждение возможностей Java 8. Зачем использовать стримы, в чем преимущество.
  5. Распечатать левое изображение двоичного дерева. Я применил рекурсивный подход к поддержанию уровней. Интервьюер остался доволен подходом и реализацией.

Раунд 2:

  1. Обсуждение текущего проекта. Моя роль в проекте.
  2. Обсуждение микросервисов.
  3. Реализуйте HashMap. Сначала я начал с реализации метода put. После реализации «положить» он попросил меня показать, что я сделал. Он обсудил различные факторы, которые я учел при реализации этого метода, а именно. равно, хэш-код, поиск ведра, обработка коллизий и т. д. Он остался доволен кодом и попросил меня сделать этот метод потокобезопасным. Я не работал над многопоточностью ни в одном из моих проектов, поэтому немного возился здесь. Я использовал синхронизированный блок в нескольких местах и заранее сказал ему, что никогда раньше не работал над многопоточностью, просто знаю теоретические концепции.
  4. Разработка программного обеспечения для тестирования AB. Допустим, у вас есть одна кнопка в пользовательском интерфейсе. В зависимости от входящего запроса эта кнопка может быть красного, зеленого или синего цвета. Каждый цвет имеет связанный с ним вес, скажем, красный (50%), зеленый (30%), синий (20%). Теперь у вас есть входящие веб-запросы, поэтому распределение ваших запросов должно быть таким: для 50% кнопки веб-запроса цвет кнопки должен быть красным, для 30% кнопки веб-запросов цвет кнопки должен быть зеленым, а для 20% - синим. Вы не знаете общее количество веб-запросов. Я дал 2-3 подхода к интервьюеру, но он не выглядел очень довольным.

Этот раунд длится около 2-2,5 часов. Хорошо, что интервьюер дал мне время подумать и закодировать оба вопроса.

3 тур:

Этот раунд принимает технический директор.

Первоначально несколько вопросов касались текущего проекта и того, сколько вы внесли в свой проект.

  1. Он спросил меня о моей роли в текущих проектах.
  2. Какие все новаторские идеи вы реализовали в проекте.
  3. Любые изменения архитектуры, предложенные вами в проекте.
  4. Самая большая проблема, которую вы решили в своем проекте, а затем обсуждение подхода, который я использовал для решения проблемы задержки в моей текущей организации с использованием Redis и Kafka.

Хотя эти вопросы выглядят нормально, но их ответы подробно говорят о ваших знаниях о текущем проекте, о том, насколько вы новаторски и гибко относитесь к технологиям и о своем желании принимать новые вызовы. Не игнорируйте эти вопросы и хорошо их подготовьте.

Затем он попросил разработать сокращенный URL (битовые ссылки)

Он ожидал, что это должен быть готовый к производству дизайн, поэтому я должен думать каждую минуту о деталях.

Я сказал ему свой подход и apis я разоблачу.

Он сказал мне написать метод с подписями и типами возврата, которые я буду использовать. (Прямо из контроллера Spring, все методы, которые я буду вызывать, чтобы завершить поток.)

Мы обсуждали методы и их подписи, он, кажется, доволен.

Затем он попросил меня разработать для этого схему базы данных.

Обсудил схему, которую я разработал, использование базы данных sql или nosql для этого варианта использования, кеширование и балансировку нагрузки.

Этот раунд длился 1,5 часа.

После этого раунда HR сообщил мне, что я был выбран.

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