Ура! Результаты моего собеседования в TCS Digital опубликованы, и я, к счастью, сделал это. Поскольку я давно хотел работать в области искусственного интеллекта, я не думаю, что существует лучшая платформа, чем TCS Digital, для обучения тому, как это сделать в профессиональном мире, для таких новичков, как мы.
В этом блоге я поделюсь своей подготовительной стратегией, ресурсами, которые я использовал, и даже своей базой кода для прохождения всех этапов и их взлома один за другим.
Предполагаемая аудитория. Эта статья предназначена для студентов, изучающих инженерные дисциплины, которые в настоящее время учатся на последнем курсе (независимо от направления). Однако, если вы находитесь на одном из ранних лет, эта статья все равно поможет вам рано начать, что на самом деле является большим преимуществом.
Цифровые технологии
Во-первых, вы должны знать, что это за технологии, так как вы будете работать с ними, если вас выберут. Информация об этих технологиях поможет вам пройти более поздние этапы процедуры приема на работу.
Однако углубленное изучение этих технологий не является целью данной статьи. Вместо этого я упомяну несколько ключевых слов ниже и дам ссылки на них для справки. Не стесняйтесь проверять и другие ресурсы, чтобы узнать о них.
Ключевые термины, о которых вам следует знать: Искусственный интеллект, Машинное обучение, Глубокое обучение, Обработка естественного языка, Облачные вычисления, Компьютерное зрение, Блокчейн, « Виртуальная реальность".
Необязательно знать обо всех этих технологиях попутно; Я этого не сделал. Однако вы должны иметь некоторое представление обо всех из них и иметь опыт работы хотя бы с одним из них; а под опытом я имею в виду проекты.
Наконец, вы можете прочитать, что TCS говорит об этих технологиях на их собственном веб-сайте TCS Interactive.
Этапы процесса найма
Есть несколько способов попасть в TCS Digital; Я буду упоминать шаги, которые я предпринял в процессе, и подробно расскажу о каждом из них.
Имейте в виду, что для доступа к TCS Digital вам сначала нужно получить TCS Ninja (или Универсальные кодеры). Это можно сделать через онлайн-конкурс кодирования CodeVita (как я объяснил ниже) или через национальный квалификационный тест (NQT) для Ninja. Я не собираюсь описывать аспекты NQT, но вы можете прочитать об этом здесь.
Этапы в процессе:
- CodeVita
- Интервью для ниндзя
- Онлайн-тест для цифровых технологий
- Интервью для Digital
Ниже я разверну все эти шаги один за другим.
Этап №1: CodeVita.
TCS ежегодно проводит собственный конкурс кодеров под названием CodeVita. Он состоит из задач алгоритмического кодирования, как и большинство стандартных конкурсов кодирования.
Если вы студент последнего курса и вам удастся получить «хороший» рейтинг в этом конкурсе, вы сразу получите право на собеседование, без необходимости сдавать какой-либо тест на пригодность (вот почему я предпочитаю этот шаг). Если нет, вам придется пройти NQT и пройти этот тест.
Под «хорошим» рангом я подразумеваю ранги ниже 3000 на всякий случай, хотя в некоторых случаях вы все равно можете пройти квалификацию, если вы ниже 4500. На всякий случай убедитесь, что вам удалось решить как минимум 2 задачи из набора задач.
Кроме того, тщательно выбирайте язык, на котором вы решаете проблему; Вам могут задать вопросы на этом же языке во время интервью. Предпочтительный язык для конкурентного программирования - C ++.
Ресурсы для CodeVita.
- Прошлые вопросы TCS CodeVita
- Полный справочник по соревновательному программированию
- Практика CodeChef
- C ++ для программистов (курс)
- Учебник C ++ STL
Этап # 2: Интервью для ниндзя
После того, как вы получите хорошее место в CodeVita, вас, вероятно, вызовут на собеседование. Постарайтесь изо всех сил пройти это собеседование, так как оно даст вам работу «универсального кодировщика», так что даже если вы не перейдете на цифровой формат, у вас все равно будет работа.
Вопросы в этом собеседовании будут разными, в зависимости от вашего резюме и того, как вы ведете обсуждение в комнате для собеседований.
Ваше резюме в формате TCS будет состоять из различных разделов, которые, скорее всего, будут определять ход собеседования. Позвольте мне остановиться на некоторых из них в частности.
Важные разделы в резюме.
- Проведенные тренинги / проекты. Несомненно, это один из самых важных разделов вашего резюме. Убедитесь, что у вас есть как минимум два технических проекта. Будьте внимательны с ними, а также с технологиями, которые вы для них использовали. Например, если вы упомянули банковскую систему, написанную вами на Django, вы должны знать, как работает ваш проект, общую структуру Django, программирование на Python, HTML / CSS и JavaScript.
- Предметы интереса. Излишне говорить, что хорошо разбирайтесь во всех упомянутых предметах. Не просто перечисляйте все предметы, которые вы уже изучали; вместо этого упомяните только те, в которых вы больше всего уверены. (Совет для студентов, изучающих информатику: независимо от предметов, которые вы упоминаете, подготовьте ООП на Java, СУБД и отработайте SQL-запросы.)
- Языки программирования. Упомяните C и Java и покончите с ними обоими. Вы также можете упомянуть другой объектно-ориентированный язык вместо Java (например, C ++ или Python), если вы в них более уверены. Щелкните эту ссылку, чтобы просмотреть ресурсы на этих языках.
- Хобби. Поверьте, этот раздел имеет значение. Часто задают вопросы о хобби, поэтому упомяните только те хобби, которыми вы действительно увлечены.
И снова, взломав это интервью, вы получите работу в категории «Generic Coders» с CTC в размере 3,36 индийских рупий LPA. Чтобы устроиться на работу в категории Digital, вам необходимо пройти следующие два шага. Если вы не добьетесь успеха, у вас все равно останется работа ниндзя.
Этап № 3: Онлайн-тест для цифровых технологий
Если вам удастся взломать приведенное выше интервью, поздравляем! Это означает две вещи:
- Вы получили работу в категории «Стандартные кодеры», также известной как TCS Ninja. Ваша эффективность на этом и следующем этапах не повлияет на это предложение о работе.
- Вы подходите для участия в TCS Digital, и здесь все становится не так просто.
Не хочу вас пугать, но и врать не собираюсь. Это сложный тест. Однако хорошо, что при достаточной практике вы определенно сможете взломать его.
Во-первых, позвольте мне упомянуть разделы в этом тесте. Это английский / вербальные способности, количественные способности, латеральное мышление, ловкость, логика программирования и продвинутое программирование.
Вы можете ознакомиться с этими разделами и попрактиковаться в их работе по официальной фиктивной ссылке здесь.
Вкратце, на следующем рисунке показан порядок и время, указанное для этих разделов.
Важное примечание. Это изображение было взято из имитационной ссылки выше. Фактический экзамен может показать некоторые отклонения от этого резюме. Например, на моем экзамене раздел Advanced Coding состоял из двух вопросов по программированию вместо одного (вы можете узнать о них подробнее в разделе Advanced Coding ниже). Важно внимательно прочитать инструкцию перед тем, как приступить к тесту.
Давайте теперь пройдемся по этим разделам один за другим.
1. английский
Этот раздел будет состоять из десяти вопросов, которые следует решить за пятнадцать минут. В фиктивной ссылке вопросы основаны на таких темах, как глаголы, предлоги, определение ошибки в предложении, определение правильной последовательности предложения и т. Д. Он также содержит вопросы синонимов и антонимов сложных слов.
Вы проверяете ресурсы, доступные в Wordpundit, для улучшения своего словарного запаса.
Однако в реальном тесте все вопросы относились к пониманию отрывков. Кроме того, все отрывки были о цифровых технологиях. Вот почему в начале этой статьи я дал ссылки на некоторые из этих технологий. Прочтите их все и узнайте о них, чтобы не чувствовать себя несвоевременно во время экзамена.
Помимо знакомства с технологиями, вы всегда можете улучшить свое понимание английского, прочитав . Выберите роман любимого писателя и читайте по две-три главы в день, в зависимости от длины каждой главы. Популярные писатели-фантасты - это Дж. Р. Р. Толкин, Джордж Р. Р. Мартин, Брэндон Сандерсон, Дэн Браун, Стивен Кинг, Дж. К. Роулинг, Агата Кристи и многие, многие другие!
Ресурсы для англоязычного раздела.
2. Количественные способности
Этот раздел будет содержать самые сложные вопросы о способностях: 12 вопросов, которые нужно решить в течение получаса. Задачи будут взяты из математики средней школы и потребуют твердого понимания концепций и способности думать для решения в ограниченное время. Все это можно воспитать на практике.
Наиболее важные темы для подготовки:
- перестановки и комбинации,
- элементарные и комбинаторные разбиения,
- теория вероятности,
- корни многочленов,
- среднее, медиана, режим,
- скорость, время, расстояние,
- школьная геометрия,
- измерение,
- тригонометрия,
- алгоритмическое мышление.
В настоящее время нет официальных учебных материалов, предназначенных исключительно для целей этого раздела. То, что вы можете сделать, это практикуется из любого материала, который попадется вам в руки, некоторые из которых я перечислю ниже.
Раздел "Ресурсы для количественных исследований"
- Быстрая объективная арифметика (книга)
- Количественные способности к конкурсным экзаменам (книга)
- Перестановки и комбинации (плейлист YouTube)
- Практические вопросы
3. Боковое мышление
В понедельник шестеро друзей отправились в поход. Во вторник Джон, Джек и Джеймс приготовили грибы. Пришла среда, и они ели грибы. Четверг нашел их всех мертвыми. Как так получилось, что выжил ровно один друг?
Ответ: четверг - это имя друга, у которого не было грибов, и он выжил.
Вы угадали: этот раздел будет состоять из головоломок.
Когда вы начинаете этот раздел, отбросьте любое горизонтальное, вертикальное или даже логическое мышление и сделайте это максимально горизонтально! Посмотрите это видео на YouTube, которое разъясняет разницу между ними.
Будьте готовы решить ребус, подготовить все возможные слова со смыслом из данного слова, найти это недостающее звено, определить правильный образец - в общем, любую головоломку, которую вы только можете придумать.
Просмотрите образцы вопросов, содержащихся в фиктивной ссылке. Стандарт вопросов в реальном тесте будет примерно таким же. Будет много времени (полчаса на 7 вопросов), поэтому попробуйте все вопросы.
Раздел "Ресурсы для бокового мышления"
- "Головоломки"
- Боковое мышление (книга)
4. Ловкость
Этот раздел будет содержать два вопроса, которые нужно решить за 25 минут.
В фиктивной ссылке первый вопрос - это простая программа на основе API на Java, которую необходимо решить в данном редакторе. В этом случае вам нужно прочитать вопрос, чтобы знать, что он задает, и реализовать программу, используя инструменты, которые они вам предоставляют.
Однако в реальном тесте этот вопрос был заменен новым языком, который они создали, который имел дело с обработкой математической структуры, множеств и ставил задачи для решения на указанном языке. Естественно, вам нужно будет быстро изучить языковые правила, понять их и решить программу в их редакторе.
Второй вопрос касался исчерпывающего понимания математической концепции / будущей технологии. В макетной ссылке отрывок посвящен Компьютерному зрению, а в моем тесте - Теории игр. От вас требовалось тщательно проанализировать отрывок и сделать из него выводы о применении указанной теории / технологии.
Опять же, что касается второго вопроса, вам необходимо быть в курсе последних и перспективных технологий в цифровом мире.
Раздел Resource for Agility
5. Логика программирования
Если вы студент CSE, вы уже должны быть знакомы с темами в этом разделе.
Рекурсия, массивы, стеки, очереди, связанные списки, деревья, деревья двоичного поиска, двоичные кучи, графики.
Короче говоря, вы должны знать структуры данных и их реализации. Наряду с ними вы должны знать стандартные алгоритмы и их пространственно-временную сложность. У вас будет 20 минут, чтобы ответить на 7 вопросов.
Раздел "Ресурсы для программирования логики"
- Алгоритмы и структуры данных (плейлист YouTube)
- Практика структур данных
- Алгоритмы практики
6. Расширенное кодирование
Судя по названию, этот раздел представляет собой часовой цикл кодирования.
В фиктивной ссылке этот раздел состоял из одного вопроса, но в реальном тесте нам было предложено решить две программы за одно и то же время. Однако эти две программы были относительно проще, чем та, которая указана в фиктивной ссылке.
Разрешенные языки: C, C ++, Java, Python 2.7, Perl. Этот набор языков может измениться со временем.
Если вам задали один вопрос, он, вероятно, будет того же стандарта, что и вопросы первого раунда CodeVita, поэтому еще раз проверьте раздел CodeVita для этого раздела.
Кроме того, вы можете взглянуть на этот репозиторий Github. Он содержит все программы, которые я решил за две недели, которые у меня были для этого раунда.
Интегрированная среда разработки. Помимо обычного текстового редактора, нам также была предоставлена Eclipse Oxygen IDE для помощи в написании кода. Я настоятельно рекомендую вам установить указанную IDE и ознакомиться с тем, как она работает.
Этап # 4: Интервью для Digital
Оценка вашей успеваемости в онлайн-тесте может занять несколько дней. Тем не менее, вам следует начать подготовку к этому собеседованию сразу после теста.
У вас будет огромное преимущество на собеседовании, если вы будете работать над проектами с использованием новых технологий. Для меня это был классификатор изображений, написанный с нуля для распознавания рукописных цифр. (Вы можете найти этот проект здесь.) Использовались технологии Deep Learning и Neural Networks.
Хотя у меня было еще 2 проекта по тем же критериям, один из которых был Решателем Судоку, который использовал базовые концепции ИИ для решения головоломки Судоку, а другой - распознавателем образов кошек, интервьюер настоял на том, чтобы рассказать о вышеупомянутом проекте.
Вдобавок у меня за плечами было еще несколько проектов, о которых я хотел бы рассказать в интервью. Одним из них было банковское приложение, написанное на Django, и мы потратили немало времени на его обсуждение.
Итак, вот что я должен сказать: изучайте предметы, которые вы упомянули в разделе «Интересующие вас темы» резюме, но сосредоточьтесь на создании и изучении этих проектов. Кроме того, вы должны быть в состоянии объяснить каждую концепцию, которую вы использовали при реализации проекта.
Например, если вы включаете какой-либо проект DL, убедитесь, что вы знаете важные концепции, такие как градиентный спуск, нейронные сети, мелкие сети против глубоких сетей, функции активации, которые вы использовали для разных уровней, прямое распространение против обратного распространения и т. Д. на.
Если у вас уже есть куча проектов указанного выше типа, все готово. С умом выбирайте проекты, которые вы собираетесь включить, и убедитесь, что вы сможете все об этом рассказать в комнате для собеседований.
Ресурсы для интервью
- Если вы только начинаете работать с машинным обучением, ознакомьтесь с курсом Udacity по указанной теме. Этот курс не только объяснит необходимые фундаментальные концепции, но и предоставит практические мини-проекты для применения вашего обучения к реальным наборам данных.
- Если вы хотите закрепить свои представления о машинном обучении, я рекомендую этот курс на Coursera.
- Если вы начинаете с глубокого обучения, я настоятельно рекомендую начать с онлайн-книги Майкла Нильсона. Первые две главы служат введением в тему, наряду с проектом классификатора изображений, о котором я говорил ранее.
- Вы можете дополнить свое изучение DL, пройдя эту серию курсов DL на Coursera, читая вышеупомянутую книгу. Как вариант, если вам не хватает времени, вы можете пройти курс Udacity Глубокое обучение.
- Наконец, вы можете начать работу с ИИ, начав с Курса ИИ Калифорнийского университета в Беркли на edX.
Примечание. Необязательно проходить все эти курсы за то ограниченное время, которое у вас есть. В моем случае я уже прошел первый курс из серии, упомянутой в пункте (4), поэтому я все это пересмотрел. Кроме того, я завершил первые две главы книги, упомянутые в пункте (2), вместе с данным в нем проектом, и эти две главы руководили большей частью интервью. Помимо них, я также прошел части курса, упомянутые в пункте (1), и части курса DL Udacity, упомянутые в пункте (4), и начал с курса ИИ в пункте (5), все из которых были чрезвычайно полезны. полезно знать. Итак, вам следует соответственно разделить свое время, посмотреть, какие курсы вам больше всего подходят, которые можно пройти за отведенное время, и пройти их.
Конечные заметки
Спасибо, что прочитали эту статью полностью. Искренне надеюсь, что он был вам полезен. Если у вас есть какие-либо вопросы, или если вы хотите просветить меня по поводу какой-то ошибки, которую я мог сделать, или если у вас есть что еще сказать об этой статье, не стесняйтесь оставлять комментарии ниже.
Наконец, попасть в TCS Digital нелегко, но, безусловно, полезно. Учись усердно, учись с умом и удачи!