Infinera Interview Experience | Набор 2 (для разработчиков маршрутизации / синналинга уровня 3)

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

Я проходил собеседование в Infinera на должность разработчика маршрутизации / сигнализации уровня 3.

ВСЕГО ПРОЦЕССА:

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

Предыстория: я работал с таймерами и IPv6. Следовательно, большинство технических вопросов относились к моему резюме. Почти все вопросы были очень простыми и на них легко было ответить. Помимо резюме, они ожидали только многопоточности, программирования сокетов и знания C ++.

РАУНД 1: НАПИСАНО:

В письменном раунде было 30 вопросов. Вопросы были сгруппированы в простые и сложные разделы. В разделе Easy была поставлена одна оценка за каждый вопрос. Жесткий раздел 3 балла за вопрос. Без отрицательной маркировки.

У нас было несколько головоломок .

1. Какой угол между минутной и часовой стрелками при времени 03.15?

2. Тот яд в 1000 бутылок, который можно найти за один час на сайте http://geeksquiz.com/puzzle-19-poison-and-rat/.

3. Вы должны измерить от 1 кг до 40 кг. Какое наименьшее количество весов вам следует использовать?

4. Мужчина поднимается в гору за 12 часов с 06:00 до 18:00, с переменной скоростью и отдыхая в разных точках. Он отдыхает на ночь и снова начинает спуск с переменной скоростью и отдыхает в разных точках. Ему потребовалось 12 часов, с 6 утра до 6 вечера следующего дня, чтобы спуститься под гору. Какова вероятность того, что он был в одном и том же месте в одно и то же время дня во время своего подъема и спуска?

Затем у нас возникли вопросы, связанные с векторами, конструкторами копирования, обработкой исключений и перегрузкой в C ++. Большинство технических вопросов были

Формат «Найдите вывод следующего фрагмента кода». Я помню лишь некоторые из них:

5. каков результат (0x0A0A0A0A >> 1)

6. Какая функция сокета возвращает идентификатор мертвого дочернего процесса?

7.

      
   int i, j, k, c;
   для (я = 1; я <31; я ++)
      для (j = 1; j <31; j ++)
          для (k = 1; k <31; k ++)
                если ((i + j + k)% 3 == 0)
                     c ++;
    printf ("% d", c);

8.

     
   int я = 7;
   int * p = & я;
   если (вилка ())
   {* p = * p + 10; printf ("% d", i); }
   еще {ждать (); printf ("% d", i); }

Затем возникли некоторые вопросы, связанные с сетью. На все было легко ответить. Итак, я помню только этих двоих.

9. Что такое класс многоадресного адреса в IPv4?

10. Что делает ARP?

Затем начался Первый технический раунд с «Расскажи мне о себе». Это было обсуждение на белой доске. Тогда следующие вопросы:

1. Что такое Secure Neighbor Discovery? Как это работает?

2. Подробно объясните, как пакет из внешнего источника выполняет ARP и достигает соответствующего хоста.

3. Как работает DHCP?

4. Что такое raw socket?

5. Каковы различные области применения IPv6 и объясните, где они используются.

6. Напишите архитектуру клиент-серверного сокета TCP и объясните ее. (Я это нарисовал)

7. Что такое маленький и большой порядок байтов. Приведите примеры машин с прямым и обратным порядком байтов. Почему все согласились с прямым порядком байтов в сети?

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

Затем он попросил программу найти размер структуры без использования оператора sizeof (). Снова пришлось писать для него полную программу. Я написал это как функцию, интервьюер сказал, что ожидал, что это будет написано как макрос, но принял мой ответ.

Затем другая программа для реализации моей собственной версии memcopy с использованием указателей void. Я сделал ошибки, напрямую обращаясь к указателю void. Интервьюер был достаточно любезен, чтобы направить меня, указав на мои ошибки.

Потом был Второй технический раунд . Снова начал с моего проектного опыта. Интервьюер говорил очень мягко и подсказывал всякий раз, когда я пытался что-то рассказать. Кроме того, он дал достаточно времени, чтобы подумать и ответить.

8. Как реализовать таймер в коде на C?

9. Кто управляет таймерами? Ядро или пользователь?

10. Какое максимальное количество таймеров может иметь процесс?

11. Что такое разреженный режим PIM? Объясните подробно.

12. Какая польза от места встречи? В чем его функция?

13. Что такое мьютекс и семафор? В чем разница между ними?

14. Что такое многопоточность?

15. Написали ли вы какие-нибудь инструменты для написания сценариев?

16. Что такое дерево? Почему используется эта структура данных? Приложения.

17. Сравните дерево и связанный список.

Затем Третий технический раунд был очень коротким, и это было похоже на раунд быстрой стрельбы, чтобы оценить вашу техническую силу.

18. Что такое маршрутизация? Приведите несколько примеров протокола маршрутизации.

19. Что такое STL? Дайте мне несколько применений этого.

20. Что такое таймер? Как вы это реализуете?

21. Как измеряется один такт часов в ядре?

22. В чем разница между IPv4 и IPv6?

23. Дайте мне несколько приложений сырого сокета.

24. Что нового в DHCP6, чего не было в DHCP.

25. Разница между TCP и UDP.

26. Что такое динамическое кастинг?

27. Когда выделяется память из стека и кучи?

28. Как Valgrind обнаруживает утечки памяти? Расскажите по поводу внутренней работы Valgrind.

Наконец он спросил: «Вы работяга?» Я был шокирован этим вопросом, так как раньше я его не слышал.

Затем, наконец, управленческий раунд . Это также было похоже на продолжение технического раунда.

29. Как IPv6 разрешает адрес? Это разрешено в пространстве ядра или пользователя?

30. Что такое таблица маршрутизации? Какую структуру данных вы будете использовать для этого?

31. Расскажите мне о вашем взаимопонимании с вашим TL. Как вы взаимодействуете со своим техническим руководителем?

32. Каковы ваши амбиции? Каким вы видите себя через 5,10,15 лет?

33. Вы попали в софт посвежее. Каковы были ваши ожидания по сравнению с реальностью? Вы в чем-то разочарованы?

34. Сколько строк кода вы написали за свою карьеру?

35. Какие у вас были амбиции, когда вы учились в школе?

36. Почему вы занимались инженерией?

37. Возвращался ли к вам какой-либо из ваших кодов / исправлений как неисправных / с проблемами?

Затем, наконец, у меня был HR-раунд. Это было очень коротко.

38. Почему вы хотите сменить работу?

39. Как долго вы искали смену работы?

40. Есть ли у вас планы на получение высшего образования?

41. Каков ваш ожидаемый CTC?

42. Есть ли у вас отзывы в нашей компании?

Те, кто присутствовал вместе со мной, также сказали, что у них есть вопросы только из их резюме и относящиеся к их профилям. Вот некоторые из их вопросов:

1. Как найти и устранить петли в связанных списках?

2. При заданном n какова вероятность того, что n является простым числом-близнецом?

3. Что такое указатели на функции? Применение указателей на функции.

4. Механизмы планирования в Linux. Как это бывает?

5. Как работает RTOS? И связанные с этим вопросы.

6. Напишите программу для переворота слов во входном предложении.

7. Другая программа для печати предложения в обратном порядке со словами без изменений после удаления пробелов.

ЗАКЛЮЧЕНИЕ:
Наконец процесс собеседования закончился. Это началось в 10 утра и продолжалось до 16 часов. Со всеми интервьюерами было очень легко общаться и они были дружелюбны. Они предоставили чай / печенье / бутылку воды в течение дня, а также накормили всех нас обедом. Они также предоставили бумагу и ручку для тестов, но собеседования были в основном для меня доской. Офис находился на дороге MG, и его было легко найти через Google Maps.

Во всех раундах я просил интервьюера высказать свое мнение и рассказать об их ожиданиях. Они были доступными и приветливо ответили. Я задавал им вопросы в конце интервью, чтобы пообщаться с ними. Я спросил их, не допускал ли я ошибок во время интервью, и попытался извлечь у них урок. Это было мое первое собеседование, и это не было для меня очень страшным процессом.

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

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