Как пройти собеседование на Python-разработчика: что важно знать и уметь

Оленка Пилипчак

Python — язык общего назначения, поэтому его можно использовать не только в web-разработке, но и при обработке больших данных. Он стабильно занимает весомую нишу в сферах Data Engineering и Data Science. Порог входа в Python считается низким, поскольку синтаксис отличается простотой и лаконичностью, что привлекает начинающих программистов.

«Готов ли я к интервью?» Неверно! «Вопрос в том, готово ли интервью ко мне?»

В команде NIX собеседования по направлению Python проходят по двум специализациям — Web и Data Engineering. В этой статье Team Lead of Python Department Алексей Новиков и Group Lead of Python Department Евгения Богомаз расскажут, что поможет успешно пройти собеседование на позицию Python-разработчика. Им слово.

На что мы обращаем внимание в резюме в первую очередь

Junior

Ключевые моменты, которые нас интересуют в резюме, зависят от позиции, на которую мы рассматриваем соискателя. Логично, что у джуниора не будет длинного послужного списка с массой интересных и сложных проектов. Поэтому в резюме начинающих разработчиков обращаем внимание на образование кандидата, учится ли он сейчас и на каком курсе или уже закончил вуз.

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

Также из резюме на позицию Junior важно понимать, какими знаниями обладает человек, какие ресурсы использует для обучения. Если есть наработки в VCS (GitHub, GitLab etc), обязательно смотрим на код и во время собеседования уточняем у соискателя, почему он использовал тот или иной подход. 

Не поленитесь добавить в резюме пару строк о себе. Это очень помогает узнать цели и стремления человека, его увлечения.

Ведь мы же понимаем, что позиция джуниора подразумевает активное развитие навыков в первые месяцы работы, что влечет за собой постоянную коммуникацию. Невозможно построить эффективное общение, не узнав человека.

Middle/Senior

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

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

Далее смотрим, работает ли соискатель сейчас или покинул предыдущий проект. Так мы понимаем, когда рассчитывать на выход кандидата к нам, если он успешно пройдет собеседование.

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

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

Что важно знать из теории?

Позиция разработчика на Python, как и на любом другом языке программирования для бэкенда, предполагает:

  • уверенные знания самого языка;
  • понимание клиент-серверной архитектуры;
  • знание протокола HTTP;
  • умение работать с системой контроля версий;
  • наличие навыков работы с SQL;
  • понимание принципов проектирования баз данных.

Наша задача на собеседовании не завалить человека, а сориентировать его — в чем он уже силен и какие знания и навыки сразу сможет использовать в проекте, а чему мы поможем научиться. Всего знать нельзя.

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

Кроме теории, мы даем задачки, которые можно решить устно, без написания кода, просто проговорить план решения. Зачастую в этих тасках предусмотрено несколько вариантов, и нам всегда интересно наблюдать, какое решение выберет кандидат. На этом этапе хорошо видно, насколько он владеет базой. Это наши «фирменные» задачи, которые не нагуглишь 🙂

Подготовка к собеседованию: о чем часто забывают соискатели

Сегодня у многих на слуху профессии Data Engineer и Data Scientist, в которых Python используется для обработки больших данных, а также в машинном обучении.

Когда кажется, что все по плечу

Быть такими специалистами «стильно, модно, молодежно», но порой соискатели не представляют, с чем буду иметь дело и каким базовым стеком технологий им нужно обладать.

Наш совет: не поленитесь заранее почитать о позиции, на которую претендуете.

Проектирование структуры реляционной базы данных — одна из наиболее распространенных тем, которую начинающие Python-разработчики мало изучают. При подготовке к собеседованиям многие уделяют внимание синтаксису СУБД, запросам. Но в разговоре с соискателями оказывается, что они не до конца понимают, какие нужны таблицы для построения эффективного хранилища данных, какие связи между ними нужно создать, какие ограничения установить.

Довольно часто встречаем ребят, у которых есть опыт взаимодействия с базами данных, исключительно с использованием ORM. Но этих знаний обычно недостаточно в реальных проектах, где нужно строить сложные запросы и оптимизировать работу базы данных. А в нашем деле умение правильно спроектировать БД крайне важно.

Нехватка определенных знаний — не приговор

Волшебного вопроса, по которому сразу становится ясно, отказать человеку или позвать на повторное собеседование, у нас нет. Это «восьмое» чувство, помогающее нам определить, насколько соискатель показал себя, каким видит свое профессиональное развитие в будущем и настроен ли он на сотрудничество именно с нами.

Второй шанс мы даем очень часто. Каждый получает фидбек после собеседования (в конце разговора или спустя несколько дней). Мы стараемся похвалить за то, что получилось, и подсвечиваем моменты, которые стоит выучить или подтянуть. Иногда результаты подготовки превосходят наши ожидания. Например, пришел к нам однажды соискатель на позицию Data Engineer. На тот момент у него не хватало знаний, и мы предложили ему подучиться и вернуться уже более подготовленным. В таких случаях мы всегда делимся материалами для самообучения, которые подготовили наши эксперты.

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

Как показывает практика, далеко не всегда техническая составляющая скиллов является решающей. Важную роль играет потенциал, который виден (или не виден) у соискателя.

Если кандидат умеет логически мыслить и находить правильное решение задачи, обладает аналитическим складом ума — это дает ему весомое преимущество среди других претендентов на вакансию.

Пусть даже он не имеет глубоких познаний в технологиях. Опыт — дело наживное, а вот научить человека логически мыслить — намного сложнее.

И напоследок — несколько аргументов в пользу изучения Python

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

Хотите освоить базовую теорию по направлению Python? Мы собрали для вас полезные материалы, которые помогут подготовиться к собеседованию. Ловите!

Полезные ссылки о Python и его экосистеме

Книги

  • Марк Лутц «Изучаем Python» — «библия Python разработчика. Читается на всех этапах изучения Python.
  • Python Tricks: The Book — очень классная маленькая книжка рассказывает о разных фишках питона.
  • Grokking Algorithms — книжка о алгоритмах, в простых словах, но примеры на питоне.
  • Django Admin Cookbook – книга познакомит с основами работы с Джанго Админкой..
  • Django Book – книга в электронном виде с примерам

Курсы

Интересно почитать

Дайджесты

Полезные ссылки о базах данных

Книги

Online Tutorial

GIT+LINUX

  • Pro Git — а большего и не нужно, дальше только практика.
  • Основы Linux от основателя Gentoo в 4 частях.

Немного об Apache Spark

Если вы хотите освоить не только азы Python, но и окунуться с головой в Big Data & Data Engineering, то мы предлагаем вам познакомиться с Apache Spark — одним из основных инструментов для обработки и анализа больших данных.

Официальная документация

Нет ничего лучше, чем официальная документация, откуда ты получишь представление об основных компонентах Spark, узнаешь, что такое распределенные вычисления, какие структуры данных использует Spark, а также поймешь значения таких определений, как: Lazy Evaluation, Fault Tolerance, Catalyst Optimizer, UDF, Transformations, Actions, Wide & Narrow Operations, Partitions, Shuffle, Broadcast и многое другое:

Книги

Курсы и видео

Интересно почитать

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023