Рубрики

Bharti SoftBank (Hike) Интервью Опыт | Набор 2

Раунд 1 (Письменный тест)
Продолжительность — 90 минут

Раздел 1 (Технические задачи)
— 25 mcq в основном сосредоточены на c, c ++, os, структурах данных, алгоритмах

Раздел 2 (2 вопроса кодирования)
— Код должен был быть написан на бумаге

Вопрос 1: При заданной строке слов возвращаются все слова, чей обратный символ присутствует в строке как ((word1, reverseword1), (word2, reverseword2))

eg .
Input -   
Sachin tendulkar is the best   tseb    eth  nihcaS  

Output  - 
{ ( best ,   tseb )  , ( the  ,  eth) , (Sachin  ,  nihcaS) }  

Вопрос 2: Нахождение только меньшего числа, образованного с использованием того же количества цифр.
Выведите -1, если это невозможно.

eg 
input  -  371 
output  -  317

input  -  456   
output  -  -1 

Ройунд 2 (Интервью)
Первый раунд интервью был основан на базовых структурах данных

1. Интервьюер попросил меня написать код для второго максимального элемента массива . Затем был обсужден третий и третий по величине элемент массива.

2. Понятия, связанные с бинарным деревом поиска, использованием и сравнением сложности.

3. На вопрос о хешировании, коллизиях, реализации для хеширования.

Раунд 3 (Интервью)
Вопрос 1: Попросили написать код для обхода порядка уровней в двоичном дереве. Вопрос был дополнительно изменен, чтобы сделать обход по спирали. Оба должны были быть выполнены в O (N) времени сложности.

Затем он задал мне головоломку

http://www.programmerinterview.com/index.php/puzzles/3-ants-on-a-triangle-riddle/

Тогда была небольшая дискуссия о моих проектах.

Затем он начал задавать вопросы об операционной системе
— взаимное исключение и семафоры.
— Напишите код для проблемы производителя с использованием семафоров.
После того, как я написал некоторый псевдокод, проблема была усложнена добавлением дополнительных ограничений.

Интервьюер хотел проверить мое понимание семафоров и задал несколько хитрых и запутанных вопросов.

Раунд 4 (Интервью)

Вопрос 1: Напишите код для получения максимального и второго максимального элемента стека. Данная функция должна быть в сложности O (1).

Я дал решение, используя 2 дополнительных стека

Затем он сделал это более интересным, расширив вопрос, чтобы найти k-е наибольшее число из стека в любой момент времени O (1). Стек поддерживает функции push, pop, peek и kthmaximum.
Он очень внимательно относился к ограничению O (1).
Я дал много решений, но он хотел, чтобы я достиг решения O (1).
Наконец, я дал ему решение, которое использовало дополнительную кучу и двоичное дерево поиска и смогло получить O (1) временную сложность.

Вопрос 2: Учитывая биотонический массив (сначала числа увеличиваются, а затем уменьшаются), напишите код для поиска данного числа . Временная сложность O (логн)

Вопрос был дополнительно изменен, чтобы написать код для 4 случаев поиска —
1 массив может быть отсортирован по возрастанию
2 Массив можно отсортировать по убыванию
3 Массив может сначала увеличиваться, а затем уменьшаться
4 Массив может сначала уменьшаться, а затем увеличиваться

Идея состояла в том, чтобы сначала обнаружить, в каком случае это было, а затем искать соответственно
Временная сложность O (логн)

Вопрос был дополнительно изменен для обработки дубликатов. В случае дубликатов мой алгоритм стал O (n)

5 тур (телефонное интервью)
Этот раунд был телефонным интервью с техническим директором компании.

Сначала он спросил меня об индексации базы данных. Какая ? Зачем использовать индексацию? как это реализовано?
Я дал ему полное объяснение
Это очень хорошее объяснение
http://www.programmerinterview.com/index.php/database-sql/what-is-an-index/

Он начал с небольшой дискуссии о моих проектах и исследовательской работе.

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

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

Вопрос: Учитывая список учеников и их оценки, напишите функцию, которая будет печатать всех учеников с отметками в заданном диапазоне l, r.

eg  .     
           Akshay   30
           Atul     25  
           Angay    20
           Sahil    10
Then if  input is  l = 12 and r = 26  
Output  -  Angay, Atul 

Я дал решение, индексируя оценки списком ссылок студентов, создавая массив списков ссылок.

Затем он изменил вопросы, добавив оценки с плавающей запятой, также были разрешены.

Я дал ему решение, используя карту (c ++), основанную на ключевой паре оценок и списке студентов.

Но он попросил оптимизировать сложность времени
Затем я дал модификацию моего первого решения и добавил концепцию блоков и бинарного поиска.

В конце он задал мне несколько часовых вопросов.

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

Все практические проблемы для похода !

Напишите свой опыт интервью или отправьте его по электронной почте на адрес contrib@geeksforgeeks.org

Рекомендуемые посты:

Bharti SoftBank (Hike) Интервью Опыт | Набор 2

0.00 (0%) 0 votes