Какие знания нужны для Python Junior-а?
Составляю план на год. Начал изучать Python.
Что ещё понадобиться, что бы удаленно работать без запинки уже.
Python — ясное дело. А с чем он тесно связан и без чего точно не обойтись Python-программисту?
- Вопрос задан более трёх лет назад
- 92568 просмотров
3 комментария
Оценить 3 комментария
Олег Никитин @Scarabei Автор вопроса
Максим Чернятевич: Имеется ввиду компьютеры вообще?
Ну железо собрать/разобрать могу.
А программирование основы только, потому хочу сразу набросать план на год, что изучать.
Максим Чернятевич: Интересно было бы узнать, какие сложности в Python’е ждут в дальнейшем начинающего (при условии, что уже есть большой опыт работы с основными реляционными БД).
Вопрос бы задан больше 3х лет назад, можно поинтересоваться, как дела с обучением?) Что понадобилось или вообще забилось на это гибло дело (программирование). Сам начинаю уже несколько раз заниматься обучением.
Решения вопроса 0
Ответы на вопрос 3
Мне когда-то на подобный вопрос дали развернутый ответ (еще раз спасибо этому человеку). Я не смог найти ссылку на тот форум, но сам ответ у меня был сохранен:
Вот список знаний, которыми должен обладать потенциальный Junior Python developer:
Уметь самообучаться, находить нужную информацию.
Иметь общие представления о том, что такое ОС и зачем она появилась.
Понимать что такое процесс и как он “живёт” в ОС.
Понимать что такое поток.
Понимать что такое сокеты и зачем они нужны.
Иметь представление о том, как устроен стек протоколов TCP/IP.
Понимать что такое Linux.
Уметь работать в sh.
Понимать что такое виртуализация и знать какие бывают типы.
Уметь настраивать виртуальные машины через vagrant или подобные инструменты.
Уметь работать с GIT(создавать ветки, разрешать конфликты, etc)
Понимать что такое ООП, на чём он основан и почему им удобно пользоваться.
Понимать что такое императивный и декларативный стиль.
Понимать что такое MVC
Понимать что такое декоратор(стандартный вопрос на собеседовании) и зачем он нужен.
Понимать что такое замыкание.
Понимать что такое интроскпекция.
Понимать асинхронную концепцию программирования.
Уметь работать с БД(хотя бы CRUD, join)
Уметь работать с nginx(хотя бы проксирование настроить)
(можно просто написать — “прочитать Лутца”, но выделю пару вопросов)
Знать чем отличаются new style классы от old style.
Знать чем отличаются Python2 от Python3
Знать чем отличается str от unicode и почему в программе нужно работать с unicode.
Понимать алгоритм импорта модулей в Python.
Понимать что такое генераторы и итераторы.
Понимать что такое дескрипторы.
Понимать что такое GIL и зачем он нужен.
Понимать что такое WSGI и зачем он появился.
+ Уметь писать тесты, понимать зачем это нужно.
+ Практические и теоритические основы по framework.
+ выполнить норматив по ГТО
+ не пить и не курить.
Так же можешь потренироваться по заданиям Юры Юревича.
Что должен знать junior Python-разработчик, чтобы найти работу

Что сейчас происходит на рынке труда Python-разработчиков
Согласно индексу TIOBE и PYPL , в июне 2023 года Python занимает первое место в списке самых популярных языков программирования. Его используют в очень многих сферах: веб-разработка, машинное обучение, DevOps, тестирование, разработка десктопных приложений, геймдев. И также Python отличается простым синтаксисом.
По данным калькулятора зарплат Хабр Карьеры, заработная плата джуниор Python- разработчика не изменилась в разрезе первого и второго полугодия 2022 года и составила в среднем 70 000 рублей.

Во многом из-за всех перечисленных достоинств Python считается одним из самых перспективных языков для изучения, и мы на Хекслете тоже можем подтвердить высокий интерес к нему.
Однако у такой популярности есть и минусы — сегодня все больше программистов ищут работу именно на Python. Рынок перестал быть «рынком кандидата»: теперь работодатели диктуют правила игры, выбирая лучших, подготовленных специалистов. На одну вакансию джуниор Python-разработчика приходит от 200 до 400 откликов. Такая конкуренция вынуждает кандидатов активно бороться за то, чтобы быть замеченным.
Все эти изменения требуют развития новых компетенций и гибких навыков у кандидатов. В статье расскажем, как Хекслет помогает программистам правильно позиционировать себя на рынке, у каких разработчиков есть более высокие шансы найти работу и как питонистам соответствовать требованиям работодателей.
Получите профессию «Python-разработчик» за 10 месяцев! Python-разработчик занимается разработкой серверной части сайта, которая отвечает за логику и базы данных. Погрузитесь в практику с первого дня на Хекслете. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.
Как Хекслет помогает джуниор-разработчикам повысить шансы на оффер
Еще пару-тройку лет назад от джуна требовали самый минимум — нужно было только знание языка программирования, а также готовность к работе в команде. Сейчас же требования ужесточились, и чтобы им соответствовать, необходимо прокачиваться более серьезно.
Мы на Хекслете даем несколько рекомендаций студентам, которые проходят наши профессии и курсы. Чтобы повысить свои шансы на оффер, им необходимо выполнить следующие шаги:
Получить необходимые хард скиллы, пройдя всю профессию на Хекслете
Разработчики с хорошей технической базой знаний ценились всегда, и особенно — сейчас. Понимая это, наши инженеры-программисты постоянно обновляют и улучшают учебные программы под запросы работодателей.
Поучаствовать в опенсорсе для получения первого продакшен-опыта
Продакшен-опыт — это опыт работы над реальным проектом, которым пользуются люди. Раньше джуниору было легко устроиться на работу без такого опыта, но сейчас он необходим, чтобы заинтересовать работодателя.

Опенсорс — это проекты с открытым исходным кодом, в разработке и развитии которых может принять участие все желающие: как самые начинающие разработчики, так и программисты с опытом. У Хекслета есть множество опенсорс-проектов — полный список мы раскрываем в нашем гайде «Как участвовать в жизни Хекслета».
Пройти программу Карьерного трека
Карьерный трек — это программа, на которой Хекслет помогает написать хорошее сопроводительное письмо, правильно подать свой опыт в резюме. Мы также проводим тестовые интервью с наставниками, чтобы, опять же, студенты могли избавиться от волнений и стресса перед реальными собеседованиями. Кроме того, они получают обратную связь от интервьюера, узнают свои сильные стороны и прорабатывают слабые.
Прорешать как можно больше тестовых заданий
У нас в открытом доступе есть репозиторий с тестовыми от разных компаний, который мы наполняем уже 11 лет. Прорешивание заданий оттуда помогает набить руку и снимает стресс при прохождении реальных тестов на собеседованиях.
Читайте также: Из инженера-электрика и альпиниста — в бэкенд-разработчики. Мой путь в программирование
Ошибки джунов, которые мешают им трудоустроиться
Многие джуниоры сейчас боятся, что их поиск работы затянется надолго или вовсе ни к чему не приведет. К сожалению, такое действительно может произойти. Но только в следующих случаях.
Разработчик не прокачивает хард скиллы после обучения
Первая ошибка кандидатов — окончить профессию и думать, что на этом можно забыть об обучении. На самом деле получать новые навыки нужно каждый день, особенно с учетом текущей ситуации на рынке. IT — это та профессия, в которой никак нельзя переставать учиться. Все меняется, появляются новые технологии, библиотеки, поэтому нужно оставаться в тренде.
Важно также самому мониторить вакансии, следить за требованиями работодателей и быть готовым к непрерывному совершенствованию своих знаний.
У кандидата нет четкого представления, как искать работу
Залог успешного трудоустройства — это целеполагание и мотивация. Сейчас особенно легко потерять нужный настрой на поиск работы. Но важно уметь собраться и сконцентрироваться на том, что поиск работы — это своеобразный проект, который нужно выполнить. Поставить себе цель: найти работу, неважно за один или три месяца, используя все свои профессиональные знания.
Мы на Карьерном треке не только готовим к трудоустройству, но и помогаем ставить цели. Подсказываем, как разбить на этапы проект под названием «Получение своей первой работы в IT». Студенты учатся прокачивать свои хард и софт скиллы и выстраивать стратегию по поиску работы, что в современных реалиях является очень ценным и нужным навыком.
Мы помогаем джуниорам выработать нужный настрой. Предупреждаем, что получить работу сейчас нелегко, но даем для этого все необходимые инструменты — консультации по составлению сопроводительного письма, резюме и портфолио. Помогаем не отступать от своей основной цели — найти работу.
Разработчик бездумно откликается на все вакансии подряд
Как правило, тяжелее всего трудоустроиться кандидатам, которые откликаются на все вакансии подряд, не пишут сопроводительные письма и думают, что возьмут количеством. Это не всегда работает, учитывая нынешнюю ситуацию на рынке: поиск работы таким способом может затянуться, а разработчик, скорее всего, выгорит и опустит руки.
Гораздо успешнее трудоустраиваются люди, которые вчитываются в требования вакансий, выбирают компании и команды своей мечты и анализируют причины отказов. Поэтому важно четко понимать, на какие вакансии стоит и не стоит откликаться, а также как грамотно подать себя при отклике.
Кандидат сам тормозит поиск работы или не выполняет рекомендации по трудоустройству
Поиск работы — это тоже работа. Если человек захотел получить сложный технический навык или профессию, то он должен быть готов к тому, чтобы активно заниматься новым делом. В том числе — и искать работу. Этот процесс должен быть системой, а не стихийными и бездумными откликами на вакансии.
Вся наша работа на Хекслете направлена на то, чтобы человек нашел работу: мы даем все необходимые инструменты для этого. Например, учим писать грамотное и интересное сопроводительное письмо, помогаем создать сильное резюме, даем советы по оформлению профиля на GitHub, LinkedIn, Хабр Карьере. Также мы рекомендуем студентов на стажировки и открытые вакансии в компании-партнеры.
Но несмотря на все это, сам кандидат не должен забывать, что поиск работы — труд обоюдный. Студенту нужно самостоятельно обрабатывать наши рекомендации по резюме и портфолио, искать компании, в которых хочется работать. И только тогда можно будет прийти к своей цели — найти работу.
Несколько советов джуниорам по трудоустройству от Python-разработчика

Сейчас сложность вопросов на собеседованиях, которые задаются джунам, можно приравнять к сложности вопросов мидлам два-три года назад. Работодатели заинтересованы в том, чтобы проводить серьезные отборы и выбирать более квалифицированных сотрудников.
Чтобы противостоять огромной конкуренции, я советую проделать следующие шаги:
- Решайте задачи на логику — они помогут выработать программистское мышление. А еще хорошо проговаривать решение задач вслух — на собеседовании это только в плюс, работодатель проследит за ходом вашей мысли.
- Пишите свои проекты. Даже если они не полностью рабочие, с неполноценной архитектурой — ничего страшного. Главное — показать, что вы работали с тем стеком, который от вас требуют, и что у вас есть тому подтверждение на GitHub.
- Не отказывайтесь от стажировок, даже от неоплачиваемых. Стажировки — это ваш шанс показать свой уровень, запомниться коллегам и произвести хорошее впечатление на работодателя. Недавно один из моих студентов как раз прошел двухнедельную практику, показал на ней хорошие результаты. И в итоге его взяли программистом в штат.
Да, на рынке труда сейчас много кандидатов, которые составляют большую конкуренцию. Придется принять факт, что сейчас нужно делать больше усилий, чем другие. Поиск работы — это обыкновенный конкурс, где ты показываешь, насколько хорош.
Один из моих советов, который я обычно даю студентам — не думайте о том, что как только вы выучите Python, сразу поедете работать у моря на Бали. Помните, что вы должны, а точнее обязаны ежедневно заниматься разработкой, даже если у вас есть отвращение к этому. Чем больше вы будете набивать руку на задачках, тем быстрее вы дойдете до той точки, когда скажете: «Ого, а у меня недурно получается, — или, — Я уже стал намного лучше писать код».
Итог
Вакансии теперь более челленджовые, но главное, что меньше их не становится. Поэтому самое важное сейчас — не опускать руки, набираться продакшен-опыта, изучать рынок и грамотно подавать себя.
Как бы банально это ни звучало — верьте в себя и свои силы. Когда на собеседование приходит уставший человек с потухшими глазами, продать себя ему гораздо сложнее. Если вы получили профессию Python-раработчика, значит вы прошли долгий путь, развили сложный технический навык, наработали портфолио и резюме, где отражен весь ваш труд — гордитесь собой.
Не забывайте про свою цель — оффер. Теперь вы знаете, как именно этот оффер можно получить.
Получите профессию «Python-разработчик» за 10 месяцев! Python-разработчик занимается разработкой серверной части сайта, которая отвечает за логику и базы данных. Погрузитесь в практику с первого дня на Хекслете. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.
Что нужно знать и уметь Junior Python-разработчику, чтобы найти работу
Работать в команде, писать SQL-запросы и знать фреймворки.

Анастасия Валова
Автор статьи
15 ноября 2023 в 9:34
На рынке труда IT растет конкуренция: по статистике hh.ru, в июне 2021 года на одну вакансию приходилось порядка трех резюме, а в августе 2023 — более шести. Рассказали, какие навыки важны для работодателя, что повторить перед собеседованием и почитать начинающему Python-разработчику.
Что сейчас происходит на рынке труда Python-разработчиков
Python-разработчик — востребованная профессия: в начале октября 2023 года на hh.ru больше 5500 вакансий, а на хабре почти 1400. При этом, по расчетам hh.ru, количество вакансий в IТ на 21% больше, а резюме на 7% меньше, чем в августе 2022.
Но и спрос на работу тоже есть: согласно анализу рынка от hh.ru, на одну вакансию разработчика Python больше 26 резюме — это довольно высокий показатель, но не самый высокий среди языков программирования.

Востребованность понятна: исследование хабра показывает, что медианная зарплата за первое полугодие 2023 года у разработчиков Python составила 170 000 ₽, Junior получают в среднем 77 000 ₽. Медианная зарплата — это показатель, при котором половина специалистов получает больше этой суммы, а половина меньше.

Какое образование и технические навыки необходимы
Работодателям не всегда нужно высшее техническое или математическое образование. В вакансиях в основном встречаются такие требования к Python Junior:
- Общая компьютерная грамотность и знание основ информатики, например: как сайты попадают в интернет, что такое двоичная система счисления.
- Базовое понимание REST-API. API — это технология, с помощью которой приложения «общаются» друг с другом. А REST-API — это правила, по которым разработчик программирует приложение разговаривать с другими.
- Опыт работы с фреймворками, самые популярные — Django, Flask. Фреймворк — это готовый набор инструментов для быстрого создания сайтов и приложений.
- Умение писать SQL-запросы: часто встречаются MySQL, PostgreSQL. SQL — это язык на котором пишут запросы в базы данных.
- Навыки работы с инструментами Git — управляет версиями — и Docker — помогает быстрее тестировать приложения и запускать их в любой ОС.
- Понимание принципов объектно-ориентированного программирования (ООП): согласно им программа строится с помощью объектов. Так код поймут все, кто работает над проектом.
- Опыт работы с ОС линукс: работа в консоли, основы администрирования.
- Умение разбираться в чужом коде, чтобы не изобретать уже готовые решения.
- Английский для технической документации.
Сначала решите, где хотите развиваться. Посмотрите вакансии, изучите проекты на GitHub или пройдите ознакомительные курсы с описанием направлений. Например, стать разработчиком в data science без знаний высшей математики будет очень сложно.
Мария Мигаль
HR-директор IT-компании RoboFinance
Онлайн-курс Skypro «Python-разработчик» — отличный вариант для тех, кто решил начать карьеру в IT. Можно освоить навыки, которые нужны для старта в новой профессии. А центр карьеры поможет составить цепляющее резюме и подготовиться к собеседованию. Тем, кто не найдет работу через четыре месяца, Skypro возвращает деньги за обучение.
Какие soft skills пригодятся в первую очередь
С развитыми гибкими навыками выше шанс трудоустроиться, даже если не хватает опыта или знаний. Для разработчика важно:
✅ Планировать работу. Если один сотрудник сорвет сроки, весь проект задержится, поэтому работодатели ценят пунктуальность. Даже если в процессе работы что-то пошло не по плану, важно расставить приоритеты и распределить нагрузку так, чтобы уложиться в дедлайны.
✅ Обучаться и расти. Многие работодатели наймут вас, даже если вы чего-то не знаете, но готовы развиваться. Используйте эту возможность, чтобы перенять опыт коллег.
✅ Самостоятельно находить решения задач. Коллеги оценят, если вы не сразу обратитесь к ним, а сами попробуете разобраться в вопросе: поищете в интернете или посмотрите чужой код.
✅ Работать в команде. При работе над проектом важно общаться друг с другом, понимать замечания и слышать пожелания. Например, коллега не решил задачу и обратился к вам с вопросом — помогите ему в меру возможностей. Успех проекта всегда зависит от всей команды.
Будет преимуществом, если вы докажете soft skills примером из рабочей практики или из жизни.
Важный навык — это настойчивость и целеустремленность. Если сениор забыл дать обратную связь по коду — напомните о себе. Поставили задачу на завтра, а вы не знаете, как её решить — попросите помочь. «Коллега не отвечал на сообщение» — не причина не выполнять проект.
Мария Мигаль
HR-директор IT-компании RoboFinance
Как проверяют опыт работы
Работодатели спрашивают опыт работы в похожих проектах или с конкретными инструментами.
Знания проверяют на технической части собеседования: теоретические вопросы и практические задачи. Важен не только правильный ответ, но и то, как вы рассуждаете. Например, вы не знаете правильный ответ и размышляете вслух. HR оценит, как вы решаете задачу с помощью логики и имеющихся знаний.
Обманывать и приукрашивать — плохая идея: некоторые работодатели просят рекомендации с прошлых мест работы или прозванивают компании из резюме. К тому же те, кто работают в одной профессии долгое время, часто знают друг друга: плохая репутация испортит карьеру. А если удастся провести работодателя на интервью, в реальной работе есть риск не справиться с задачами.
Что повторить перед собеседованием
Задачи в разных компаниях отличаются, но ниже список тем, которые точно стоит повторить.
Python: синтаксис, модули стандартной библиотеки, в некоторых вакансиях требуется знание конкретных библиотек.
Примеры вопросов: Как работают декораторы? В чём отличие list от tuple?
Фреймворк. Самые популярные — Django и Flask. Какой именно используется в проекте — указывают в тексте вакансии.
Пример вопросов по Django: Как в request появляется атрибут user? Что такое дата-миграция?
Базы данных: реляционные (SQL) и нереляционные (NoSQL).
Примеры вопросов: Зачем нужны и как работают индексы? Напишите запрос с GROUP BY.
Алгоритмы, паттерны проектирования.
Примеры вопросов: Как работает бинарный поиск? Что такое паттерны проектирования? Какие вы знаете?
В начале карьеры сосредоточьтесь на основных алгоритмах и структурах данных: сортировка, поиск, стеки и очереди. Это поможет вам освоить базовые принципы и научиться применять их на практике. Например, оптимизировать код, чтобы программы работали быстрее и эффективнее.
Мария Мигаль
HR-директор IT-компании RoboFinance
Администрирование и работа с ОС: linux, nginx.
Примеры вопросов: Как устроен DNS? Как установить nginx на linux?
Работа Git и Docker.
Примеры вопросов: Что делает git cherry pick? Приходилось ли использовать docker/docker-compose?
На курсе Skypro «Python-разработчик» преподают практикующие программисты с большим опытом, которые продолжают работать и сейчас. Они делятся со студентами актуальными знаниями, которые реально применяют в разработке, а не грузят сухой теорией из старых учебников.
Ошибки джунов, которые мешают им трудоустроиться
Большая часть ошибок связана не техническими знаниями, а с навыками поиска работы.
Неполное резюме
Заполните в резюме всё, что покажет вас с выгодной стороны.
☑️ Добавьте нейтральное фото, на котором хорошо видно лицо. Это поможет создать первое впечатление.
☑️ Подчеркните результаты: над какими проектами вы работали и чего добились, даже если это была работа по другой специальности или стажировка. Большинству работодателей важна ориентация на результат.
☑️ Напишите, чем занимаются компании, в которых вы работали — это покажет, что вы знакомы с отраслью.
Нет сопроводительного письма
Если правильно составить сопроводительное письмо, оно выделит вас из других кандидатов и увеличит шансы на собеседование.
«Прошу рассмотреть мою кандидатуру» — плохое сопроводительное письмо. Изучите вакансию, сделайте акцент на том, чем вы будете полезны, какие задачи решите, есть ли у вас релевантный опыт.
Поведение на собеседовании
Перед собеседованием освежите в памяти вакансию и изучите компанию, в которую вас пригласили — это покажет HR вашу заинтересованность, и вы поймете, о чём спросить работодателя.
По тому, как вы проявите себя на собеседовании, HR сделает вывод не только о навыках, но и о soft skills.
✖️ Опоздание испортит первое впечатление, даже если у вас убедительное резюме и сопроводительное письмо. Для онлайн-собеседования заранее проверьте, работают ли наушники, микрофон и программы для связи (скайп, zoom). А при живом собеседовании отведите на дорогу время с запасом: вдруг попадете в пробку или не сразу найдете вход.
Если случилось что-то непредвиденное — обязательно предупредите об опоздании и попросите перенести встречу.
✖️ Внешний вид. Оденьтесь нейтрально и опрятно: не надевайте костюм с галстуком, но откажитесь от шорт, сандалий и спортивной одежды.
✖️ Негатив в сторону предыдущих мест работы, начальства и коллег настораживает. Ситуации бывают разные, но, скорее всего, работодатель сделает вывод, что вы конфликтный человек и не умеете работать в коллективе. Лучше обойдите спорные моменты.
Часто начинающие разработчики негативно отзываются о монотонной работе и хотят с первого дня создавать новые программы. На деле джун не сразу будет писать код продукта: сложные задачи начнут давать, если он успешно справится с большим количеством простых. Реалистичное представление о начале пути поможет не разочароваться в профессии.
Мария Мигаль
HR-директор IT-компании RoboFinance
Что почитать начинающему Python-разработчику
Чтобы освоить профессию, обратитесь к онлайн-курсам с обратной связью от наставников. Но если вас интересует, как стать Junior Python-разработчиком или усовершенствовать навыки самостоятельно, вот список полезных книг и телеграм-каналов.
Что должен знать python junior

- Git.
- Алгоритмы.
- Алгоритмы на графах.
- Рекурсия.
- SQL и базы данных.
- Агрегационные функции.
- Docker.
- Структуры данных.
1. Git

Работая в команде над одним проектом, вы наверняка столкнетесь с Git. Git — это система управления версиями, которая помогает отслеживать историю изменений файлов.
Нужно знать:
- GIT, удаленный и локальный репозитории.
- понятие ветки.
- commit , push , pull .
- merge request , pull request .
- команды merge и rebase .
2. Алгоритмы

Следующий момент связан с алгоритмами. На большом количестве данных, задачи, решенные с помощью алгоритмов, будут выполняться быстрее и съедать меньше вычислительных ресурсов по сравнению с заново изобретенным велосипедом.
Нужно знать:
- Что такое О-нотация, обозначающая сложность алгоритма, который мы оцениваем.
- Что такое алгоритмическая сложность.
- Алгоритмы сортировки: пузырьком, слиянием, выборка.
Заучивать алгоритмы не нужно. Поймите концепции сортировки и научитесь оценивать сложность алгоритма — пригодится на собеседовании.
Рекомендую книгу «Грокаем алгоритмы», где простым и доступным языком знакомят с алгоритмами.
3. Алгоритмы на графах

Нужно знать:
- Поиск в ширину.
- Поиск в глубину.
- Алгоритм Дейкстры.
Допустим, мы пишем простой файловый менеджер, которой проходит по директориям и смотрит, какие файлы в них расположены. Это пример классического поиска в глубину или в ширину, в зависимости от того, в какую сторону решаем задачу. Или пишем скрипт, удаляющий или создающий файлы по какому-то условию — это как раз классическая задача поиска в глубину. Чтобы не изобретать велосипед, выучите алгоритмы.
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
4. Рекурсия

Как сказано в книге «Грокаем алгоритмы»: «Любой цикл можно заменить рекурсией и любую рекурсию можно заменить циклом». Цикл и рекурсия — взаимозаменяемые вещи и нужно понимать, что рекурсию сложнее писать и поддерживать, но бывают ситуации, когда цикл писать также сложно и проще написать функцию, которая вызывает саму себя.
Классический пример применения рекурсии – знакомые нам из предыдущего пункта алгоритмы для обхода графов.
Здесь нужно помнить об ошибке предельной глубины рекурсии и затратах памяти.
5. SQL и базы данных

Нужно знать:
- Реляционную базу данных.
- NOSQL.
- Вы должны знать простые команды на создание, изменение и удаление таблицы.
- Простые выборки по колонкам с условием: select , где вы указываете перечень колонок, из которых вы делаете этот select и пишете условие where.
Когда использовать реляционную БД и NOSQL:
- Если задачи решаются с помощью join между таблицами, то здесь лучше использовать только реляционные БД, либо сразу два вида БД на проекте.
- Если задачи связаны с частым изменением структур данных — NOSQL.
6. Агрегационные функции

Досконально знать их, наверное, не нужно. Достаточно понимать, что такое groupby , count , sum , average и уметь объяснить, как они работают и где они могут пригодиться. Классический пример — посчитать среднее значение в колонке по месяцам. Вы можете использовать агрегационную функцию, сводящую все к одному значению и использовать группировку в рамках месяца.
Следующий момент — join’ы, позволяющие делать стыки таблиц с таблицами, делать оттуда подселекты и получать информацию, которая связывает одну таблицу и другую таблицу, при этом не имея между собой никаких связей через какую-нибудь третью таблицу.
Я не отношу сюда оконные функции, так как это считается высшим пилотажем в SQL. Да и они редко встречаются в моей работе.
7. Docker

Нужно знать:
- Что такое образ, контейнер.
- Сеть докера.
- Тома докера.
- Написание файлов Docker Compose.
Если вы не будете понимать разницу между докером и контейнером, вы не будете понимать, как это все работает на базовом уровне. Образ поднимает отдельный процесс, который является самим контейнером.
Обращаться к контейнерам, вы, скорее всего, будете с помощью внешних запросов и без понимания того, как настраивается сетка для докеров, вам будет тяжело это сделать: вы будете брать какие-то готовые решения и, кроме номера порта, вы вряд ли сможете что-либо изменить.
О томах: если вы хотите, чтобы после удаления контейнера данные не пропадали из базы, смонтируете место на жестком диске, куда данные будут сохраняться.
8. Структуры данных

Нужно знать, что такое:
- Массив и множество.
- Хеш-таблица.
- Стек, дек и очередь.
- Связанный список.
- Графы.
Это основные структуры данных, с которыми нужно быть знакомыми, чтобы понимать, где, например, быстрее происходит поиск.
Общие моменты
Нужно знать:
- Чем отличается интерпретатор от компилятора.
- Что такое программа в целом и из чего она состоит: операнды, выражения, блоки выражений и т. д.
- Что такое IDE и зачем она нужна. Я рекомендую Jupyter Notebook, PyCharm или VScode
- Популярные форматы передачи данных: xml, json и yaml. Вне зависимости от направления, в которое вы пойдете, с ними вы будете сталкиваться постоянно, т. к. практически вся информация по сети гоняется в виде xml и json.
Статья написана в рамках программы Proglib Boost, где «Библиотека программиста» бесплатно помогает IT-блогерам распространять их контент. Отправить заявку на участие можно по ссылке.
Материалы по теме
- ❓ Зачем разработчику знать алгоритмы и структуры данных?
- Big O нотация: что это такое и почему ее обязательно нужно знать каждому программисту
- Как запустить веб-приложение на Nginx в Docker
