Рубрики

[TopTalent.in] Нитин Гангахар о многих преимуществах программирования соревнований

У Нитина Гангара есть длинный список достижений в его названии, и удивительное предложение размещения, возможно, лучшей компанией в мире (нет призов за догадку — это Google) — только одно из них. Кроме того, он участвовал в некоторых действительно интересных исследованиях в Университете Британской Колумбии, и в настоящее время он является научным сотрудником в известном Ченнайском математическом институте (CMI). Мы, в TopTalent.in , поговорили с Нитином Гангахаром, и вот некоторые эксклюзивные кусочки знаний из нашего разговора!

Команда TopTalent.in: Мы бы не стали преувеличивать, когда говорим, что программирование стало важной вещью в вашей жизни. Как и когда вы начали программировать? Можете ли вы перечислить некоторые ресурсы для начинающих?

Нитин: Я лично начал программировать, когда учился в школе. Python был моим первым официальным языком, хотя до этого я видел код на других языках. Многое зависит от того, когда вы начинаете находить это забавным — не делайте этого, если поначалу это не кажется забавным Средняя школа — хорошее время, чтобы начать учиться, если вам интересно. Многие из моих друзей не знали о программировании, пока они не поступили на второй курс в университете, и они намного лучше программистов, чем я. Таким образом, это не имеет большого значения, когда вы начинаете с этого пути.

Ниже приведены некоторые полезные сайты для начала:

  • topcoder.com — для решения интересной задачи
  • cplusplus.com — для справки по c ++
  • gamedev.net — для разработки игр

В этом контексте я также хотел бы упомянуть эту действительно вдохновляющую статью, одну из моих личных фаворитов — « Учись программировать за 10 лет » Питера Норвига.

Team TopTalent.in: важно ли знать несколько языков, таких как C / C ++ / Java / Python / Perl или знать концепции решения проблем?

Нитин: Знание большего количества языков, работающих на разных парадигмах, всегда очень помогает. Эрик С. Рэймонд был героем моего детства, и он однажды упомянул в этой статье «Как стать хакером» (http://www.catb.org/esr/faqs/hacker-howto.html). изучить все пять из Python, C / C ++, Java, Perl и LISP. Помимо того, что они являются наиболее важными хакерскими языками, они представляют очень разные подходы к программированию, и каждый из них научит вас ценным способам.

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

Команда TopTalent.in: Что такое соревновательное программирование? Можете назвать некоторые, в которых вы принимали участие

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

Мои товарищи по команде и я стремились поехать на Всемирный финал ACM-ICPC (Международный конкурс студенческого программирования), который является одним из соревнований, которые близки ко всем людям, принимающим участие в соревнованиях по программированию на университетском уровне. На школьном уровне у нас есть IOI (Международная олимпиада по информатике). TopCoder — это веб-сайт, который открыт для всех возрастных групп, и на нем работают как профессионалы, так и студенты. Кроме того, есть Sphere Online Judge и Project Euler, которые владеют хорошей коллекцией задач.

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

Команда TopTalent.in: Каковы преимущества программирования в командах? Вы советуете исследовательскую группу для этого?

Нитин: Командное программирование помогает вам многому научиться. Мои товарищи по команде — Рави и Ману — научили меня многому за последние 2 года. У Ману всегда был другой стиль мышления, который помог мне и Рави многому научиться, особенно в разработке разных подходов к решению проблем для разных типов проблем. Рави научил меня, как преобразовать неизвестную проблему в менее известные проблемы и как применить обучение, полученное в других местах, к новой проблеме. Командное программирование всегда помогает вам думать о проблеме иначе, чем при одиночном подходе.

Было бы здорово увидеть больше команд ICPC из индийских университетов. Мы создали группу Google для наших студентов, чтобы они могли делиться и учиться. В наши дни это прилично активно, но есть огромные возможности для улучшения. Исследовательские комиссии могут немного отойти от основных целей, так как люди захотят действовать по-другому. По моему мнению, небольшие и целенаправленные команды были бы лучше по сравнению с учебными группами.

Команда TopTalent.in: Какие шаги должны предпринять студенты кампуса в улучшении сцены кодирования в колледже?

Нитин: Формирование команд было бы хорошим первым шагом. Местные соревнования — еще одна отличная инициатива. IIIT-Хайдарабад действительно активно участвовал в организации местных соревнований, и количество команд в региональных турнирах ICPC оттуда с каждым годом увеличивается. Это действительно потрясающе видеть, как они растут. Интернет-группа для студентов университета была бы еще одним хорошим началом.

Команда TopTalent.in: Какие у вас советы по созданию идеального резюме на 1 страницу?

Нитин: Это может звучать банально, но лучший способ придумать идеальное резюме на 1 страницу — это усердно работать в старшие годы и активно заниматься тем, что тебе нравится. Чаще всего это может стать просто обыденным и скучным, но тогда обучение и мастерство должны подтолкнуть вас к продолжению. Если вы можете сделать это с упреждением и работать на достаточное количество конкурсов / проектов, вы, возможно, не выиграете много призов и тонны вкусностей, но в итоге вы бы узнали достаточно, чтобы заполнить одну страницу в резюме.

Эта статья поддерживается TopTalent.in — высококлассным порталом вакансий для студентов и выпускников колледжей Premier в Индии. Зарегистрируйтесь сейчас для бесплатного эксклюзивного доступа к высококлассным рабочим местам в Индии и за рубежом. Получить в контакте с т подолом через facebook , твиттер или LinkedIn . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью и отправить ее по почте на contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks и помогайте другим Geeks

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

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

[TopTalent.in] Нитин Гангахар о многих преимуществах программирования соревнований

0.00 (0%) 0 votes