Что нужно знать и уметь, чтобы попасть на стажировку в IT-компанию

Если вы только начинаете свой путь в IT, то набить руку и развить необходимые навыки вам поможет стажировка. Однако, чтобы получить приглашение на долгожданную практику в IT-компании, одного желания недостаточно.

 

Разработчик и преподаватель тренинг-центра EPAM Антон Пудиков рассказал, какие знания ожидаются от стажёров, привёл примеры вопросов, которые могут задать на собеседовании перед стажировкой, и поделился списком полезной литературы для самоподготовки.

 

специалист epam антон пудиков стажировка в it компании

 


 

 

Для каждого направления входные требования к кандидатам будут отличаться. Но есть ряд требований, с которыми вы в любом случае столкнётесь при поступлении на стажировку в IT-компанию, так как они обязательны практически для всех направлений. Начнём с тех, которые требуются практически всегда и для всех, и продолжим более специфичными.

 

Методологии разработки

 

Навык командной работы – абсолютный маст-хэв, который в будущем потребуется вам на любом направлении. Поэтому стажёрам важно понимать, что такое гибкие методологии разработки проектов, которые сегодня лидируют в IT. Нужно знать основные принципы Agile-методологии, пусть даже пока она кажется вам очень расплывчатой и абстрактной, и изучить конкретные примеры её реализации, например, часто используемые Scrum и Kanban.

 

Круто, если кандидат, приходя на стажировку или тренинг, уже понимает, как работать с Trello, Jira и другими таск-менеджерами. Они дают хорошее представление о том, как работать с задачами: что такое статус задачи, что значит, если задача находится в In Progress, какие последствия это несёт и т.п.

 

примеры вопросов на собеседовании стажировка в it компании

 

Version Control Systems и Git Flow 

 

Git Flow и Version Control Systems в целом – это чуть более специфичная тема, но всё-таки потребуется абсолютно всем, так как сегодня никто уже не хранит проекты на флешке и не передаёт их по почте. Хорошо, если вы понимаете, что такое VCS, знаете команды Git Flow или любой другой системы, на которой вам довелось поработать, например, Mercurial, а также можете на примере какой-либо конкретной реализации рассказать, как в целом работают VCS

 

И аналитик, и тестировщик должны знать как минимум базовые программы, чтобы быть в состоянии посмотреть, выключить и запустить проект. К тому же необходимо понимать, как работать с репозиторием, как работают ветки в Git, почему на одном проекте ветки заводятся под каждую задачу, а на другом – нет, в чём разница между master и dev ветками, что такое Pull Request и т.п. Эти знания – важная часть каждодневной работы любого IT-специалиста, и, скорее всего, на техническом интервью вас об этом спросят.

 

примеры вопросов на собеседовании стажировка в it компании

 

Клиент-серверное взаимодействие

 

Почти на всех программах обучения в тренинг-центре EPAM изучают хотя бы азы этой темы. Будет хорошо копнуть глубже – в сторону Cloud-вычислений и технологий, понять, как работают протоколы, например, http или https, что такое веб-сервисы, микросервисы, микросервисная архитектура и что они дают на конкретном проекте. 

 

В самом начале можно и не лезть так глубоко в технику, но желательно всё же разобраться, что такое «клиент — сервер», структура «запрос – ответ», протокол, уметь определять формат и передачу данных. 

 

примеры вопросов на собеседовании стажировка в it компании

 *Вопрос повышенной сложности 

 

Basic Computer Science

 

Если вы выбрали техническую специальность (DevOps, разработка, тестирование), вам необходимо изучить Basic Computer Science  – основы компьютерной грамотности. Важно  знать, как работает «железо», как устроена оперативная память и чем она отличается от HDD, что такое кэш и RAID-массивы, почему не всегда чем больше ядер в процессоре, тем лучше, а серверы, оказывается, принципиально отличаются от десктопных компьютеров. 

 

Обо всём этом, возможно, и не спросят на техническом интервью, но эти знания пригодятся в вашей ежедневной работе. Раз за разом потребуется решать, какой сервер вам нужен, потянет ли он что-то ещё, кэшируются ли данные и нужно ли вам новое «железо». Если во всём этом ориентироваться, то работать в IT гораздо комфортнее.

 

примеры вопросов на собеседовании стажировка в it компании

 

Базы данных

 

Если вы выбрали любую техническую специальность, а особенно Data Science и Data-аналитику, вам нужны знания о базах данных. Новички в IT часто думают, что Data Science-специалисты лишь анализируют какие-то таблички и графики, но это далеко не всегда так, и они работают с базами данных. Их задача – выцепить из них какие-то закономерности и алгоритмы, чтобы эту информацию в последующем могли использовать специалисты из других областей для решения своих задач.  

 

Желательно знать, что базы данных бывают SQL и NoSQL (реляционные и нереляционные). Сейчас IT-специалисты используют оба типа, и кандидату полезно было бы понимать, какая база данных лучше подходит для конкретного случая, уметь привести примеры и SQL (Oracle, Microsoft SQL) и NoSQL (MongoDB, PostgreSQL) баз данных, а также знать, что каждая из них умеет и какова её ключевая особенность. 

 

Хорошо также понимать, что данные далеко не всегда хранятся в базах и часто требуется сохранить информацию в каком-то простом текстовом формате, например, JSON или XML. Про эти форматы важно знать, так как именно они делают возможным обмен данными между клиентом и сервером, между удалёнными машинами и т.п.

 

примеры вопросов на собеседовании стажировка в it компании

 

Операционные системы

 

Среди современных программистов бытует мнение, что сегодня не особо-то и нужно знать, как вообще устроены операционные системы. Такое мнение возникает из-за того, что нынешние инструменты разработки (.NET, MS Visual Studio, Java и Java Virtual Machine) позволяют не работать напрямую с памятью или «железом» и не производить какие-то неуправляемые вызовы у API операционных систем. Ничего этого от нас не требуется – система делает всё сама, а мы как высокоуровневые программисты просто пишем команду. 

 

Но на самом деле это ловушка, в которую попадают очень многие начинающие разработчики. Рано или поздно вы столкнётесь с неугодным для себя результатом или с рядом ошибок, к которым не были готовы, просто потому что не знаете, как работает ваша операционная система.  

 

Вы должны понимать, что операционные системы бывают разные. Скорее всего, вы работаете на Windows, Mac, а кто-то и на Linux. Я советую установить незнакомую для вас операционную систему на виртуальную машину или использовать её в качестве второй на своём компьютере. Попробуйте поиграться с разными системами, поймите разницу между ними, установите сходства и вообще разберитесь, как каждая устроена, и тогда вы поймёте, как работают операционные системы в целом.

 

примеры вопросов на собеседовании стажировка в it компании

  

Литература: