Подготовка к Python сертификации PCAP
Рассказ о том, как проходит путь по подготовке к сертификации PCAP. И мысли на тему того, кому сертификация может быть полезна.
14К открытий15К показов
В этой статье я расскажу, как проходит мой путь по подготовке к сертификации PCAP. Поделюсь своими мыслями на тему того, кому это может быть полезно. Каково проходить сертификацию спустя 3 года разработки на языке. Какие материалы использовать и на что обращать внимание. Я рассчитываю, что этот пост будет предворять статью о том, как я успешно сдал этот тест и что я из него извлёк ?
Об экзамене
PCAP — это сертификация, которая показывает, что у разработчика есть экспертное представление об основных концепциях программирования и способен оперировать языком Python. А также понимает его синтаксис — в том числе синтаксический сахар — способен обрабатывать исключения, работать с датой и временем и понимает суть ООП и его место в Python.
Для кого сертификация PCAP
В первую очередь сертификация PCAP необходима для того, чтобы пройти сертификацию PCPP1 и PCPP2 профессионального уровней. Но это понятно: цель ради цели.
Вторая причина — это карьерное достижение. Молодой разработчик, приходя на собеседование, смело может заявить, что знает Python. Этот факт могут подтверждать учебные и собственные проекты. Интервьюер также может, задавая вопросы, понять, понимает ли соискатель, чем отличается tuple
от list
, что такое инстанс класса, как работает наследование или какой тип исключения вернёт int("avada cedavra")
.
Но всегда есть ненулевая вероятность, что непонимание определённых базовых концепций останется за рамками собеседования. С моей точки зрения, видя соискателя с сертификацией, я бы был более уверен в том, что она знает ответы на вопросы, которые не были поставлены в ходе интервью.
Третья причина — это систематизация. Не каждый начинает работать с Python как с первым языком и не каждый изучает первый язык во всех его нюансах. Сертификация помогает систематизировать знания, которые вы уже имеете, даже если вы не первый год работаете с Python. Язык Python имеет свойство быть крайне дружелюбным к юзеру, и многие вещи разработчики пропускают на автомате, потому что код всегда можно отдебажить методом проб и ошибок, не всегда узнавая, а еще реже запоминая причину этой ошибки.
Как проходила подготовка к сертификации PCAP
Сама сертификация находится на сайте Python Institute. Там можно ознакомиться с темами теста. а также узнать, какие цели он преследует и как можно зарегистрироваться на сдачу. Тест, о котором мы говорим здесь — средний уровень. У него нет входных требований.
Давайте перечислим основные темы и под каждой я прокоментирую, что было не очевидно сходу, на что пришлось потратить время, чтобы наверстать.
Типы данных, переменные, базовые операторы, работа с вводом выводом
С этими вещами, я думаю, все питонисты знакомы. Освежить тут стоит дополнительные аргументы sep
и end
функции print
. А также вспомнить как работает присвоение следующего вида x, y, z = y, z, x
.
Булевы значения, условные операторы, циклы, списки, побитовые операции
Здесь однозначно стоит обратить внимание на побитовые операции, если вы не наверняка не знаете поведения выражений по типу 10 << 1
, или 3 ^ 4
. Стоит вспомнить, что у цикла for
и while
в Python есть блок else
, и для чего его применяют, перейдёт ли в него выполнение если внутри цикла были continue
и break.
Функции, кортежи, словари
Здесь не требуется знаний о том, что есть *args
, **kwargs
при использовании функций, но необходимо отличать позиционные аргументы от доступных по ключу (keyword arguments).
Модули, пакеты и PIP
В этой части необходимо понять, что модули содержаться внутри пакетов, отдельные файлы могут выступать как модули. И узнать, для чего нужен __init__.py
файл в корнях директорий с модулями.
Строки, методы списков и исключения
Здесь нужно обратить внимание на обработку исключений. Стоит знать какие классы являются родительскими по отношению к другим исключениям (то есть представлять дерево исключений Python). Понимать, когда исполняется else
, finally
, и что except
без параметров может быть только последним
Объектно-ориентированное программирование
По моему опыту, это был самый неизведанный блок. Во-первых, instance attributes и class attributes. Во-вторых, как получать доступ к dunder атрибутам внутри и во вне определения класса (атрибуты с двойным подчеркиванием). В-третьих, method resolution order, когда возникают ошибки при множественном наследовании.
Разное
В разное входит многое, что нужно повторить: генераторы как класс и как функция, с какими модификаторами можно открывать файлы (‘w’, ‘r’, ‘a’, etc.), как читать бинарные файлы и писать в буфер, а также работа с datetime
и calendar
. Также сюда можно отнести closure, функции, возвращаемые из других функций с контекстом.
Выше описал темы и на что обратить внимание. Для ответа на вопросы «Как подготовится?» и «Откуда взять материал?» я могу посоветовать следующее:
- Во-первых, документация Python (simple, but not easy). Ища страничку по теме в доках Python, можно получить исчерпывающую информацию. Однозначно могу сказать, что про exceptions в документации написано лучше всего.
- Во-вторых, это платформа edube.org. На ней вы можете найти курс прямо под эту сертификацию и если вы его успешно завершите, то вам дадут скидку на сдачу экзамена.
- И в-третьих, это stack overflow (obviously), практически под каждую тему этой сертификации можно найти пару развернутых ответов.
Мои ощущения от подготовки
Я обладаю довольно скромным опытом разработки. Это не десятки лет, но программирую я довольно давно, и моя работа с этим связана непосредственно. С Python я начал работать с 2017 года. В то время для меня стало открытием, насколько гибкий этот язык — и почему-то интуитивно понятный. До этого я глубоко был погружен сначала C/C++ при обучении на ВМК МГУ, а затем в MatLab.
Могу сказать наверняка, что в процессе сертификации я открыл для себя ответы на. многие вопросы повисшие в воздухе. И начал понимать тонкости работы с классами, исключениями и closure.
Рекомендую своим коллегам-питонистам и читателям этой статьи пройти сертификацию.
14К открытий15К показов