💳 Trustee Plus — твоя персональна картка європейського банку: 3 хвилини і 10 євро 👉

Мануал для джуна. Что должен знать, уметь и учить Junior Python Developer: разбор от практика и преподавателя IT-школы

Мы продолжаем рубрику для начинающих айтишников, которые ищут работу. Сегодняшний мануал — для тех, кто мечтает покорить IT. О том, что нужно знать, чему учиться, чтобы занять позицию Python Software engineer, рассказывает Иван Рамик, Software engineer & Coach в mate academy.

Оставить комментарий
Мануал для джуна. Что должен знать, уметь и учить Junior Python Developer: разбор от практика и преподавателя IT-школы

Мы продолжаем рубрику для начинающих айтишников, которые ищут работу. Сегодняшний мануал — для тех, кто мечтает покорить IT. О том, что нужно знать, чему учиться, чтобы занять позицию Python Software engineer, рассказывает Иван Рамик, Software engineer & Coach в mate academy.

Чем отличился рынок труда для джунов в 2023 году?

Увеличилось количество вакансий по аналитике данных и ML, поэтому вариативность позиций для Python-разработчика расширилась. Но для этих направлений нужно дополнительно учить numpy, pandas, matplotlib, методы обработки и визуализации данных, базовую математику.

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

На какие вакансии можно смотреть со знанием Python

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

  • Web development — ​​знание Python, БД, веб-фреймворков (Django, FastAPI, Flask).
  • Data analytics — знание Python, SQL, инструментов для визуализации (Looker, Power BI, Tableau).
  • Software Engineer in Test — знание Python и теории тестирования.

Чего ждать на собеседовании для Web development

Теоретические вопросы

Python Core:

  • Чем отличаются mutable и immutable объекты? Приведи примеры коллекций каждого вида.
  • Расскажи, как работает словарь под капотом и его преимущества.
  • Какая разница между поверхностными и глубокими копиями?
  • Какая разница между Iterator, Iterable и Generator?
  • Объясни, что такое декоратор и приведи распространенные примеры его использования.
  • Что такое descriptor и property и какие проблемы они решают?
  • Что такое Exception, для чего их использовать? Как создать свой Exception?
  • Расскажи о PEP8 и почему он важен?
  • Как работает Garbage Collector и что такое reference counting?
  • Инструменты работы с файлами в Python.
  • Какие библиотеки для тестирования ты знаешь и какие возможности они предоставляют.

Классы и ООП:

  • Различие между классом и объектом.
  • Что такое специальные (магические) методы и как они используются?
  • Что такое отвлеченные классы, зачем их использовать?
  • Что такое перегрузка операторов?
  • Какая разница между public, private и protected модификаторами доступа?
  • Дай определение ООП, чем ООП отличается от процедурного программирования?
  • Перечисли принципы ООП и раскрой содержание каждого из них.
  • Приведи принципы SOLID.

Многопоточность:

  • Какие проблемы решает многопоточность, когда ее следует использовать?
  • В чем разница между процессом и потоком?
  • Что такое GIL? Зачем он нужен?
  • Приведи библиотеки для работы с многопоточным и многопроцессным кодом.
  • Что такое задачи IO-bound и CPU-bound? Какие подходы есть для ускорения задач этих типов?
  • Расскажи о библиотеке asyncio и принципе работы event loop.

Базы данных:

  • Какая разница между реляционными и нереляционными базами данных? Приведи примеры БД обеих категорий.
  • Какие виды связей между реляциями в БД?
  • Какие виды джойнов существуют в SQL? В чем между ними разница?
  • Как работает group by? Что такое агрегатные функции?
  • Что такое параметризация в SQL?
  • Что такое индексы в БД и какую проблему решают?
  • Что такое транзакции, перечисли характеристики ACID.
  • Как устроены ORM? Расскажи о возможностях ORM, какая тебе знакома?
  • Что такое миграции?

Django:

  • Что такое Django?
  • Объясни архитектуру фреймворка.
  • Как устроена структура Django проекта.
  • Что такое views? Когда использовать function-based, а когда class-based?
  • Что такое модели и темплейты в Django?
  • Что такое Django REST Framework?
  • Что такое сериализатор, сериализация и десериализация?
  • Как устроен ViewSet?
  • Какова цель методов get_queryset и get_serializer_class в ViewSet?
  • Что такое JWT токены?

Практические задачи

В качестве практических задач обычно предлагаются алгоритмические задачи, примеры которых можно найти на leetcode или codewars. Решая такие задачи следует обращать внимание на алгоритмическую сложность полученного решения и стараться достичь оптимальной сложности, используя различные подходы и структуры данных (dict, set).

Что может быть в тестовом

На позицию веб-девелопера

Обычно тестовое заключается в разработке API или вебсайта на одном из популярных фреймворков — Django, FastAPI или Flask. Часто нужно уметь:

  • настроить работу бэкенда с Postgres или другой БД (иногда нереляционной);
  • общаться с посторонним API;
  • использовать Celery для параллельных вычислений;
  • завернуть приложение в Docker.

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

На позицию дата-аналитика

Частым примером является написание сервисов, извлекающих данные из API, БД или веб-сайта (путем скрепинга) и генерирующих отчеты lkz визуализации в дешборде (Looker, Power BI, Tableau).

Дополнительные темы, которые полезно рассмотреть

  • Веб-протоколы: TCP/IP, UDP, HTTP, HTTPS, web sockets.
  • Операционная система, Docker.
  • Клауд (AWS, GCP).
  • CI/CD.
  • Алгоритмы и структура данных.
  • Для аналитиков данных: numpy, pandas, matplotlib, инструмент визуализации (для начала хватит одного из Looker, Power BI и Tableau).

«Быть ​​лучшим джуном на рынке»

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

Для этого необходимо:

  1. Честно учиться — не просто овладевать технологиями, а разбираться, что лежит в основе, как они работают под капотом. Глубоко изучить язык программирования, работу баз данных, архитектуру веб-приложений.
  2. Развивать soft skills — очень важно уметь качественно общаться в команде.
  3. Работать над проектами — создавать собственные, приобщаться к волонтерским, объединяться в группы с единомышленниками. У нас на курсах обязательная часть — участие в групповых проектах, которые хорошо развивают hard&soft навыки и делают резюме интереснее.
  4. Прокачивать английский язык — большинство качественных ресурсов создаются именно на нем, он необходим для качественного изучения технологий и сложных технических тем.
Мануал для джуна. Что должно знать уметь и учить Junior QA: разбор от практика и преподавателя IT-школы
Мануал для джуна. Что должно знать, уметь и учить Junior QA: разбор от практика и преподавателя IT-школы
По теме
Мануал для джуна. Что должно знать, уметь и учить Junior QA: разбор от практика и преподавателя IT-школы
Мануал для джуна. Что необходимо знать уметь и понимать для покорения Java
Мануал для джуна. Что необходимо знать, уметь и понимать для покорения Java
По теме
Мануал для джуна. Что необходимо знать, уметь и понимать для покорения Java
Читайте также
Запускай код прямо в браузере: лучшие онлайн-компиляторы для C++, PHP, Python, Java, C#, Go и не только
Запускай код прямо в браузере: лучшие онлайн-компиляторы для C++, PHP, Python, Java, C#, Go и не только
Запускай код прямо в браузере: лучшие онлайн-компиляторы для C++, PHP, Python, Java, C#, Go и не только
Не всегда есть доступ к любимой IDE или время на ее запуск. Но когда нужно быстро проверить какой-то простой функционал или воплотить новую идею, пригодится онлайн-компилятор.
1 комментарий
Мануал для джуна. Python Developer: вопросы на собеседовании, практические задания и советы для начинающих
Мануал для джуна. Python Developer: вопросы на собеседовании, практические задания и советы для начинающих
Мануал для джуна. Python Developer: вопросы на собеседовании, практические задания и советы для начинающих
Джунов, которые ищут работу, проходят кучу собеседований и получают отказы вместо оффера, во время войны стало больше. А все потому, что к собеседованиям необходимо тщательно готовиться. dev.ua продолжает серию материалов о том, что нужно знать джунам для прохождения собеседования и получения вожделенного оффера от первого работодателя. Александр Ковтунов, Python Software engineer компании Ajax Systems, который также проводит собеседования для junior- и middle-специалистов, рассказал о профессии Python Developer и дал советы, как начинающим присоединиться к профессии.
112 отзывов на вакансии, $100 за тестовое и работа мечты. История модели из Луцка, которая объездила полмира, из-за пандемии изменила планы и теперь учит IT других
112 отзывов на вакансии, $100 за тестовое и работа мечты. История модели из Луцка, которая объездила полмира, из-за пандемии изменила планы и теперь учит IT других
112 отзывов на вакансии, $100 за тестовое и работа мечты. История модели из Луцка, которая объездила полмира, из-за пандемии изменила планы и теперь учит IT других
Надя Адамович — в прошлом успешная модель. Но из-за пандемии сорвалась контракт на работу в Китай, поэтому Надежда вынуждена была работать таргетологом, сушисткой, а потом решила пойти в IT. Сейчас девушка — UI/UX Designer, заочно учится на факультете международно-экономических отношений в Луцком политехническом институте и работает ментором в Mate academy. Рассказываем ее вдохновляющую историю.
1 комментарий
Хочу стать программистом. С чего начать и как выбрать между Java Script, PHP, Python и другими
Хочу стать программистом. С чего начать и как выбрать между Java Script, PHP, Python и другими
Хочу стать программистом. С чего начать и как выбрать между Java Script, PHP, Python и другими
Диана Смеликова, операционный директор Wezom Academy, в своем блоге на DOU объяснила, с чего начать изучать программирование и каким языкам стоит отдать предпочтение на начальном этапе. Вот 5 важных советов от нее. 

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментариев пока нет.