Вступление
Привет! Я Джоти Агравал, студент третьего курса бакалавриата, изучающий компьютерные науки и инженерию в IIT Kharagpur. Летом 2020 года мне предложили стажировку в Google через камеру размещения в кампусе. В тот же день мне также предложили стажировку в Nutanix. Я вошел в шорт-лист интервью в Uber, Tower Research, Quadeye, Microsoft и Goldman Sachs . В настоящее время мой CGPA - 9.01.
Подготовка
Я никогда не готовился к стажировке целенаправленно. Фактически, я заинтересовался конкурентным кодированием во 2-м и 3-м семестрах. Особенно в третьем семестре я был полностью сосредоточен на программировании на соревнованиях (больше, чем когда-либо). На летних каникулах после первого курса я практиковался в основном на Hackerrank и CodeChef по некоторым базовым темам. В третьем семестре я задавал вопросы с разных сайтов, таких как Hackerearth и Spoj. Я изучил некоторые продвинутые структуры данных из различных статей о Codeforces и Hackerearth, таких как Segment Tree. В то время я больше практиковался в деревьях сегментов, двоичном поиске и математике для ACM-ICPC. Также мне помог курс Алгоритмы-1. Я уже смотрел видео Курс Навина Гарга по структуре данных и алгоритмам от NPTEL во время летних каникул 1 года. Даже сегодня, когда мне нужно пересмотреть базовые структуры данных и алгоритмы, я предпочитаю наблюдать за этим оттуда.
Я предлагаю вместо того, чтобы пробовать множество разных веб-сайтов и просить людей открывать все больше и больше веб-сайтов, постарайтесь придерживаться одного или двух сайтов. Обычно люди задают одни и те же простые вопросы на многих сайтах и думают, что они много практиковались. Лучше выходите за рамки своих границ и каждый раз задавайте несколько сложных вопросов. Не переключайтесь на другой сайт, если на каком-то веб-сайте, за которым вы следите, вы обнаружите затруднения.
Когда я немного овладел Соревновательным программированием, я начал задавать вопросы, отсортированные по структурам данных из CodeChef Prepare.
Я полагаю, что у него есть хороший набор вопросов для изучения каждой структуры данных, и большинство из них от SPOJ.
Но кое-что, что, как мне кажется, я сделал неправильно, заключается в следующем:
- Раньше я оставлял много вопросов нерешенными, если получал подход.
- На тот момент я никогда серьезно не бросал вызов.
- Самая большая ошибка, которую я совершил, заключалась в том, что я оставил CP после ICPC, то есть в 4-м семестре, и попытался найти свой интерес, изучая разные вещи, такие как ML, DL и т.д. чем любая другая девушка в вашем кампусе) в данный момент, потому что именно в это время вы можете получить возможность пройти стажировку вне кампуса в Google (программа STEP), и серьезно вы пожалеете о ее потере. Кроме того, если вы потеряете практическое программирование (даже если вы много знаете), и есть люди, которые в это время проходят курс алгоритмов и лабораторные работы, то у них будет преимущество перед вами, потому что Google задает простые вопросы в этой программе. Кроме того, они берут ваше интервью по телефону, поэтому, если вы столкнетесь с какой-либо проблемой с четкостью голоса, без колебаний сообщите им.
Но позже, получив этот опыт, я вернулся в CP летом 2019 года. Но, как я уже сказал, даже тогда я не был так вовлечен в CP, как раньше, потому что я также выполнял проект под руководством профессора. На этот раз я завершил InterviewBit и ответил на несколько вопросов от Leetcode после завершения InterviewBit. Благодаря этим веб-сайтам я освоил Cplusplus, научился пользоваться библиотеками и некоторыми встроенными функциями. Я также часто задавал несколько вопросов от SPOJ, CodeChef и Codeforces между ними, потому что вопросы по InterviewBit немного просты, и вы теряете интерес к их постоянному выполнению. Они просто улучшают вашу реализацию, а не навыки мышления. В последние несколько дней перед Днем 1 я просто пересмотрел некоторые концепции и поддерживал контакт с программированием, проводя несколько коротких конкурсов на Codeforces.
Опыт собеседования
Мое собеседование в Google проводилось с 9:00 в день 1, но я должен был явиться на место встречи в 5:00 для исследования Tower Research. И поскольку я оставил Google выше башни в моем списке предпочтений, они назначили мое собеседование с башней на 8 часов утра, поэтому я не мог этого дать. С 9 утра начался мой первый раунд поиска в Google, который длился 45 минут и проводился онлайн. Они задали один вопрос по двоичному поиску и один по DP, что было довольно легко. К 10 часам утра Quadeye закончил свой выбор и скоро должен был закончиться, поэтому мне сказали дать хотя бы короткое интервью Quadeye в течение получаса, потому что мой второй раунд для google был назначен на 11 часов утра. Во втором раунде снова было два вопроса: один был легким, а второй по Graphs (DFS) был хорош.
После Google я выбрал Uber, и мне пришлось сидеть там около 2,5 часов, пока я давал там 2 раунда собеседования. В первом раунде они поставили мне задачу по стекам, и мне просто нужно было описать им свое решение. Вопрос заключался в том, что «вам дана сетка из нулей и единиц, и вам нужно найти площадь прямоугольника из всех единиц максимального размера?» ». Во втором раунде они заставили меня реализовать некоторые функции для ведения рейтингового списка задач, в которых могут меняться очки, новые команды могут участвовать в любой момент времени, мне нужно сохранить их информацию, такую как имя, страна, адрес электронной почты и т. Д. Кроме того, они могут запрашивать команды по их стране, рангу и т. Д. Я использовал карты и наборы для реализации и сделал это, но я полагаю, они судят о вас по тому, как вы выполняете.
После этого я перешел на Nutanix. К тому времени я был совершенно измотан из-за стольких интервью, без сна, без еды. Было два вопроса. Один был связан с DP и свойствами XOR, а другой - с возвратом, что изначально не было очевидным. Это было чем-то похоже на Bfs в графиках. Поскольку я смог решить их оба довольно быстро, они перешли на раунд HR. В раунде HR меня просто спросили о моих предпочтениях, которые я сохранил, и я понятия не имел, что они еще не знают об этом. Я сказал им, что поставил Google и Uber выше Nutanix. Они также спросили, получу ли я и Google, и Nutanix, какой из них я предпочитаю, и я сказал им, что даже если я получу Google, мне нужно время подумать, выбрать между Google и Nutanix, потому что работа, которую выполняет Nutanix, более интересна, поэтому, если вы найди меня достаточно хорошим, мне нужно время, чтобы подумать. И после завершения моего собеседования они окончательно определили своих кандидатов.
Итак, в конце первого дня у меня не было предложений, но к 18:00 я получил предложение от Google, а позже Nutanix также продлил для меня предложение стажировки.