Найти тему

Python. Теорию выучил! Что дальше?

Прочитав книги которые наметил для изучение Python и прослушав лекции Тимофея Хирьянова и В.М. Гуровица. Решил проверить себя и попробовать пройти курс «Создание Web-сервисов на Python» сайта coursera, на сайте есть возможность прослушать курс бесплатно без получения сертификата. На первой же неделе я понял, что я еще не готов к прохождению таких курсов, мне очень сильно не хватает навыков решения задачек и решил пока приостановить изучение курса и поискать курсы для начинающих.

Полазив по интернету я обнаружил курсы Яндекса «Аналитик данных» и «Python-разработчик». Первые части курса бесплатные, их то я и прошел по два раза каждый. По результатам, решил продолжит наращивать практику решения задачек. Попробовав несколько курсов, в том числе платных, я понял, что желательно чтобы курс был написан педагогом, курсы написанные программистами ОООООчень сложны для понимания начинающего программиста.

Курсы я нашел на stepik.org:

1. Основы программирования на языке Python в примерах и задачах.(ДВФУ). Отличный курс, сделанный профессиональными педагогами.

2. Программирование на Python. (Института биоинформатики).

3. Введение в ООП для Python разработчиков. (Stepik Academy)

Эти курсы я прошел и рекомендую начинающим программистам. Сейчас прохожу курс «Python: основы и применение» (Института биоинформатики) тоже хороший курс.

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

1. Умение работать с распределенной системой управления версиями Git. Бесплатный курс «Git. Базовый курс» я нашел на GeekBrains.

2. Умение работать с базами данных. Курсы я нашел на stepik.org «Интерактивный тренажер по SQL» (ДВФУ), «Введение в базы данных»

3. Как я понял знания HTML и CSS то же лишними не будут. Курс который я собираюсь пройти по этой теме «Веб-разработка для начинающих: HTML и CSS»

4. А по тестированию буду проходить курс «Автоматизация тестирования с помощью Selenium и Python».

Эти курсы пока в планах.

Для «набития руки» в решение задач есть хороший сайт www.codewars.com. На почту приходят задания для решения, по результатам которого, присваивается очередное «звание». На сколько я знаю результаты с этого сайта учитываются при собеседовании в Яндексе.

Кстати вот одна из вакансий Яндекса, асессора-разработчика (ссылка действительна на 28.07.2021) с перечисленными требованиями. Если бы на данный момент я умел бы работать с базами данных, попробовал бы получить эту работу.

На мой взгляд вполне решаемые задания.

Задание 1:

Опишите словами (без кода и псевдокода) алгоритм программы, которая выполняет задачу:

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

Опишите словами (без кода и псевдокода) алгоритм оптимизированной программы, которая выполняет задачу:

Ввод: сортированный массив из уникальных элементов, конкретный элемент из этого массива.
Вывод: индекс элемента в массиве

Задание 2

Напишите регулярное выражение, чтобы выбирались целые или дробные числа от 0 до 99, содержащие не более 2 символов после точки

Задание 3

Опишите недостатки каждого из представленных решений задачи на языке Python

Оцените вычислительную сложность каждого из решений (О большое каждого из решений)

Опишите алгоритм решения, оптимального по скорости вычислений

Задача:

a, b - [], отсортированы по возрастанию. Вернуть c - содержит только те элементы из a, которые есть в b. Решение должно быть вычислительно эффективным.

Решения:

Вариант 1:

def get_intersection(a, b):

a = set(a)

b = set(b)

c = sorted(list(a&b))

return c

Вариант 2:

def get_list_difference(a, b):

l = []

for i in a:

if i in b:

l.append(i)

return l

Задание 4

Напишите SQL запрос, который выбирает все записи из таблицы "Cities", где значение поля "City" начинается с "M".

Продолжаю учиться.

По ссылкам можно почитать мои конспекты:

Книги и курсы по Python
Книги и курсы по Python год спустя.
Встроенные функции (Built-in)
Методы словаря (Dict methods)
Методы списков (List methods)
Строковые методы (String Methods)
Библиотека os
Спецификаторы
Итерируемый тип данных
Инструкции continue, break и pass
Цикл for … in
Цикл while
Условная инструкция if
Индексация
Переменные
Встроенные функции print() и input()
Оператор присваивания
Основные типы данных
Коротко о языке
Наука
7 млн интересуются