Как я учил django
Ускоренный курс Django
Введение
Наша цель
Мы делаем веб-сайт, на котором вы можете загрузить изображение с названием, датой и описанием. Просто.
Так что же такое Джанго?
Django /JANG-oh/ — Тип инструмента (веб-фреймворк), наиболее известный тем, что помогает людям быстро создавать аккуратные веб-сайты с минимумом ошибок.
Создание чего-либо в Django следует по этой схеме:
Django делает более сложные (и действительно забавные) вещи, но если вы только начинаете, это все, что вам нужно знать на данный момент.
Настройка нашего проекта
ВНИМАНИЕ: Пользователи Windows
По умолчанию в Windows нет командной строки Unix, что является предварительным условием для этого ускоренного курса. Октябрьское обновление для Windows 10 2018 предлагает подсистемы Linux, такие как Ubuntu. Пожалуйста, установите и настройте подсистему Linux для использования командной строки Unix.
Мы собираемся использовать терминал вашего компьютера для настройки среды Python и Django. Давайте сделаем проект в папке Documents нашего компьютера, поэтому введите эти команды
Затем мы войдем в папку нашего проекта, включим нашу новую среду Python и установим Django.
Теперь, когда Django установлен, мы получили несколько новых команд. Давайте начнем с создания проекта в Django, миграции нашей базы данных разработки и, наконец, первого запуска нашего локального сервера разработки, чтобы убедиться, что мы все сделали правильно.
Чтобы увидеть сервер разработки в действии, перейдите по адресу 127.0.0.1:8000 в своем браузере. Должна появиться стартовая страница Django:
База данных
Затем возьмите свой любимый текстовый редактор или IDE на Python, потому что мы собираемся углубиться в Django. Мы собираемся начать с создания приложения Django, в котором мы будем писать все наши модели для этого проекта.
Чтобы наш основной проект распознал это приложение, нам нужно сообщить ему о существовании нашего приложения базы данных, добавив его в INSTALLED_APPS в django_cc/settings.py следующим образом:
Поддержка медиафайлов
Давайте добавим в конец settings.py следующее, чтобы Django знал, где хранить медиа-файлы, такие как загружаемые нами изображения:
Нам нужно будет сделать то же самое для нашей папки шаблонов, обновив DIRS для обработки [os.path.join (BASE_DIR, ‘templates’)] вместо значения по умолчанию [] :
Отлично, теперь наш проект настроен, и мы можем начать с написания наших моделей.
Написание наших моделей
Чтобы завершить наши модели, скажем Django отсортировать их от самых новых к самым старым:
Перенос наших новых моделей
Завершите наши модели следующими двумя командами, которые, по сути, сообщают Django, что мы внесли некоторые изменения и что они должны быть применены к нашей базе данных:
Поздравляю! Наша база данных полностью настроена для наших сообщений. Однако есть одна проблема. Мы не можем редактировать их прямо сейчас. Давайте настроим панель администратора Django, чтобы вы могли делать несколько сообщений.
Панель управления администратора
Внутри нашего приложения базы данных перейдите в admin.py и добавьте следующее:
Затем мы создадим суперпользователя, чтобы мы могли войти в панель администратора. Введите следующую команду и следуйте подсказкам. Вам нужно только заполнить подсказки для имени пользователя и пароля.
После завершения перейдите к 127.0.0.1:8000/admin и войдите в систему с учетными данными, которые вы только что написали. Вы должны увидеть эту страницу:
Отсюда вы можете добавлять сообщения в свой проект Django. Мы официально закончили с нашими моделями. Далее мы создадим наше представление, чтобы Django мог обслуживать наши сообщения.
Логика представлений
В urls.py нам нужно будет добавить новый путь, чтобы Django знал, когда этот URL запрашивается для вызова нашего представления:
Наша основная логика представления завершена, теперь нам нужно создать шаблон индекса для отображения наших сообщений.
Шаблоны со стилем
При посещении 127.0.0.1:8000 должен появиться список всех сообщений, которые мы добавили в панель управления:
Теперь у нас есть веб-сайт, на котором отображается то, что мы добавляем в нашу панель управления в карточках Bulma. Аккуратно.
Завершение
Самый полный видеокурс по Django от установки до проекта
Язык Python можно также использовать для написания сайтов. Вот занимательный видеокурс по Django на примере создания интернет-магазина.
Вас интересует фреймворк Django? Тогда вы по адресу. Оставим библиотеки, модули и трюки позади. Разберем Django по косточкам 😉
Установка Python и Django на Windows
Эта лекция является вступительной в видеокурс по Django, в ней будет рассматриваться установка необходимого софта для работы с Python и Django. Автор показывает: процесс установки Python, настройки всех переменных, установки Django через pip, а также установку IDE PyCharm и его тестовый запуск.
Структура проекта, urls, views, как создать html-страницу
Чтобы начать разрабатывать свой первый проект, нужно хорошенько разобраться со структурой IDE. После структуры в ролике пойдет речь об очень важной теме: как фреймворк Django взаимодействует с пользователем, о стилях и переменных.
Модель, Django-админка, сохранение данных в БД
Данный урок будет посвящен созданию блоков функционала, разнесенного по разным файлам. Такой подход облегчит разработку и скорость работы проекта. Второй крупной темой видео будет работа с базой, инициализация и «общение» с таблицами.
Настройка админки в Django + немного о моделях
В этой лекции автор расскажет о кастомизации админки и отображении записей. Попутно разъясняется синтаксис языка Python, процесс создания элементов страницы, изменения имени модели, а также проводится траблшутинг.
Верстка страницы, HTML и Bootstrap
В этом ролике создается веб-станица на примере готового шаблона. Для понимания всего происходящего пригодятся знания основ верстки, а также сильно облегчит жизнь опыт работы с элементами Bootstrap.
Добавление Django models
На прошлых уроках была создана страница на Bootstrap, а теперь пришло время заняться логикой. Будет создана структура БД, и автор уделит значительное внимание связям между таблицами и моделями Django.
Переопределение метода save
Данный урок научит создавать логику для просчета общей стоимости товара в заказе, исходя из количества, а также просчет, исходя из стоимости товаров при помощи метода save и сигнала post_save.
Выбор шаблона для интернет-магазина
Автор выбирает шаблон для будущего магазина, подробно разбирает каждый из них на предмет плюсов и минусов и рассматривает основные элементы UI.
Работы с шаблоном
На прошлом уроке был выбран и разобран по кирпичикам шаблон, а на этом уроке будет рассматриваться наследование в шаблонах, подключение внешних HTML-файлов. Кроме того, вы научитесь использовать циклы, для получения данных из каждой записи в массиве.
Продолжение работ и рефакторинг шаблона
Допиливание и переделка кода происходит на протяжении всего видеокурса, а в этом ролике происходит создание и добавление страницы товара. Автор показывает, как по id из url можно работать с товаром.
Добавление товара в корзину (часть 1)
В этом ролике вы узнаете, как создать корзину при помощи jQuery и Ajax для интернет-магазина на Django. Поймете, как все динамические инструменты взаимодействуют с движком и между собой.
Добавление товара в корзину (часть 2)
Этот урок продолжает видеокурс по Django framework, в котором будет происходить работа с Ajax по сохранению информации о товаре в БД. Будет создана модель для корзины и доработано взаимодействие фронтенда и бекенда.
Django, Ajax, context processors
Context processor – важная тема, поэтому сейчас вы научитесь создавать свой процессор для переменных, доступных со всех страниц. В лекции это показано на примере товаров в корзине.
Удаление товаров из корзины
Это последнее видео из серии про Ajax и jQuery, в котором вы узнаете, как происходит удаление товаров из корзины.
Создание страницы чекаута
В этом видео автор показывает, как можно создать фронтенд формы для чекаута выбранного товара. Также будут рассмотрены формы Django и то, как в них можно динамически подгружать информацию.
Бекенд страницы чекаута
На прошлом уроке был создан фронтенд, а здесь создается бекенд страницы чекаута для интернет-магазина. Вы научитесь пересохранять данные из модели «Товары» в корзине в модель «Товары» в заказе.
Запуск Django на Ubuntu
Этот видеокурс по Django посвящен запуску проекта на сервере в интернете. В качестве ОС была выбрана Ubuntu. Весь процесс подробно описан от регистрации до запуска.
Видеокурс по Django: заключение
Заключительная лекция курса и последняя часть по работе с удаленным сервером с рабочим проектом. Автор рассказывает, как запустить Django на сервере при помощи связки nginx + gunicorn.
Эффективный Django. Часть 1
Оглавление
Введение ⇧
«Связный» код — это код, который сосредоточен на выполнении одной вещи, только одной единственной вещи. Это значит, что когда вы пишете функцию или метод — написанный вами код должен делать что-то одно и делать это хорошо.
Это непосредственно относится к написанию тестируемого кода: код, который делает много вещей, достаточно часто является чересчур сложным для тестирования. Когда я ловлю себя на мысли: «Хорошо, этот кусок кода слишком сложен, чтобы писать для него тесты — это просто не стоит потраченных усилий» — вот сигнал к тому, чтобы вернутся назад и сосредоточиться на упрощении. Тестируемый код — такой код, который позволяет просто писать для него тесты; код, в котором легко найти проблемы.
И наконец, мы хотим писать масштабируемый код. Это означает не просто масштабировать его в терминах исполнения, но так же увеличивать в терминах команды и командного понимания. Хорошо протестированные приложения проще для понимания другими (и проще для изменения ими), что подразумевает большую возможность улучшить ваше приложение, путем добавления новых инженеров.
Моя цель — убедить вас в важности этих принципов, и предоставить примеры того, как следуя им, построить более стойкое Django-приложение. Я собираюсь последовательно пройти через процесс построения приложения для управления контактами, рассказывая про решения и стратегию тестирования, которые я использую.
Эти документы являются сочетанием заметок и примеров подготовленных для PyCon 2012, PyOhio 2012, и PyCon 2013, а также для web-разработки Eventbrite. Я все еще работаю над объединением их в один документ, но надеюсь вы найдете их полезными.
Примеры кода для этого руководства доступны на github’е. Отзывы, предложения и вопросы можете присылать на nathan@yergler.net.
Этот документ доступен на сайте, а также в форматах PDF и EPub.
Видео этого руководства с PyCon можно посмотреть на YouTube.
Глава 1. Приступая к работе ⇧
1.1. Ваша среда разработки
Изоляция означает, что вы не сможете случайно воспользоватся инструментами или пакетами установленными вне вашего окружения. Это особенно важно, когда подобное происходит с чем-то, похожим на пакеты Python с расширениями написанными на C: если вы используете что-то установленное на системном уровне и не знаете об этом, то при развертывании или распространении своего кода вы можете обнаружить, что он работает не так как предполагалось. Инструменты наподобие virtualenv могут помочь создать нечто похожее на изолированную среду.
Ваша среда предопределена, если вы уверены в том, на какую версию ваших зависимостей вы полагаетесь и сможете ли вы наверняка воспроизвести системное окружение.
1.1.1. Изоляция
1.1.2. Предопределенность
1.1.3. Сходство
1.2. Настройка вашего окружения
1.2.1. Создание чистого рабочего пространства
Примечание переводчика:
Для начала создадим каталог ( tutorial ), в котором будем работать:
В каталоге venv будет находится наше виртуальное окружение, а в каталоге project — Django-проект
1.2.2. Создание файла зависимостей
Создайте файл requirements.txt в директории tutorial с единственной строкой (зависимостью) в нем:
Примечание переводчика:
В случае, если вы хотите использовать последнюю версию Django (1.7 — на момент написания перевода) — вместо строки Django==1.6.7 оставьте просто Django — pip установит последнюю доступную версию.
1.2.3. Установка зависимостей
А теперь мы можем использовать pip для установки зависимостей:
1.3. Начало проекта Django
Когда здание находится в процессе постройки, строительные леса часто используются для поддержания структуры до того как строительство будет завершено. Строительные леса могут быть временными или они могут служить частью фундамента здания, но несмотря на это, они представляют некоторую поддержку когда вы только начинаете работу.
Django, как и многие web-фреймворки, представляет скаффолдинг для вашей разработки. Это происходит при помощи принятия решений и предоставления отправной точки для вашего кода, что позволяет вам сосредоточится на проблеме, которую вы пытаетесь решить, а не на том, как разобрать HTTP-запрос. Django предоставляет скаффолдинг как для работы с HTTP, так и для работы с файловой системой.
1.3.1. Создание проекта
Созданный проект имеет следующую структуру
1.3.2. Скаффолдинг проекта
1.3.3. Создание приложения
Созданное приложение имеет следующую структуру:
Примечание переводчика:
На текущий момент наша директория
/tutorial/ содержит файл зависимостей ( requirements.txt ), директорию с виртуальным окружением ( venv/ ), один проект ( project/addressbook ), одно приложение ( project/contacts ) и имеет следующее содержание:
Глава 2. Используем модель ⇧
2.1. Конфигурирование базы данных
Для использования SQLite нам нужно указать движок ( ENGINE ) и имя базы ( NAME ). SQLite интерпертирует имя базы как имя файла для базы данных:
2.2. Создание модели
Модели Django отображают (грубо говоря) таблицы базы данных, и предоставляют место для инкапсулирования бизнес-логики. Все модели являются наследниками базового класса Model и содержат поля определений. Давайте создадим простую модель Contacts для нашего приложения в файле contacts/models.py :
После того, как вы создали модель, необходимо дополнить вашу базу данных новыми таблицами. Команда Django syncdb смотрит установленные модели и создает (если нужно) таблицы для них:
Примечание переводчика:
Django предложит создать суперпользователя для андминки, которая включена в этой версии по умолчанию. Воспользуйтесь его предложением.
Примечание переводчика:
Если вы используете Django версии 1.7 и выше — вывод будет следующий:
Однако нашей таблицы с контактами нигде не видно. Причина этого состоит в том, что нам нужно еще указать проекту использовать приложение.
После этого запустите syncdb снова:
Примечание переводчика:
Для Django версии 1.7 и выше вам нужно будет запустить сначала команду makemigrations — для создания миграций на основе изменений в моделях, а после этого выполнить команду migrate — для того чтобы применить созданные миграции.
Примечание переводчика:
Вывод для Django 1.7 и выше:
Заметьте, что Django создает таблицу с именем contacts_contact : по умолчанию Dj ango дает таблицам имена используя комбинацию имени приложения и имени модели. Вы можете изменить это с помощью опций модели Meta.
2.3. Взаимодействие с моделью
Теперь, когда модель синхронизирована с базой данных мы можем взаимодействовать с нею используя интерактивную оболочку:
Здесь использовалось несколько новых штук. Во-первых, команда manage.py shell запускает для нас интерактивную оболочку Python’а с правильно установленными путями для Django. Если вы попробуете запустить интерпретатор Python и просто импортировать ваше приложения, будет выброшено исключение, потому что Django не знает, какие настройки использовать, и не может отобразить экземпляры модели на базу данных.
2.4. Написание тестов
Вы можете запустить тесты для вашего приложения используя команду manage.py test :
Если вы запустите это, то увидите что выполнилось около 420 тестов. Это удивляет, так как мы написали только один. Произошло это потому, что по умолчанию Django запускает тесты для всех установленных приложений. Когда вы добавляли приложение contacts в наш проект, то могли увидеть, что там по умолчанию были добавлены несколько встроенных приложений Django. Дополнительные 419 тестов были взяты оттуда.
Примечание переводчика:
В нашем случае (при использовании версии Django 1.6.7) предыдущий абзац несколько устарел: запустится только один тест — тот который мы создали. Вывод команды будет такой как указано ниже.
Если же вы захотите запустить тесты для определенного приложения — укажите имя приложения в команде:
2.5. Резюме
Примечание переводчика:
Для того чтобы протестировать наше, пока еще пустое, приложение нужно выполнить следующую команду:
Это запустит встроенный сервер, функционал которого любезно предоставляет нам Django. В параметрах после runserver указывается ip-адрес и порт, который будет слушаться работающим сервер. В нашем случае сервер будет принимать запросы от всех ip-адресов при обращении на 8080 порт.
Как я изучал(изучаю фреймворк Django). Личный опыт.
Что нужно знать (необходимый МИНИМУМ) относительно Python:
-Ввод и вывод данных
-Функции и рекурсия
-Работа с модулями и функциями (создание, импортирование, вызов. )
-Основы регулярных выражений
В настоящее время, актуальной версией является Django 2.0. Но я советую начать изучение с версии 1.11. Почему именно так:
1. По Django 2.0 мало различных материалов на русском языке. Для 1.11 материалов достаточно.
2. Django 2.0 и 1.11 очень похожи, но в 2.0 сделали упрощённый синтаксис маршрутизации URL. Из-за этого могут возникнуть сложности на начальном этапе, если пытаться обучаться по материалам основанным на 1.11 версии.
3. Большинство готовых приложений и расширений до сих пор поддерживают только 1.11 версию и не поддерживают 2.
4. Расширенная поддержка версии 1.11LTS заканчивается в 2020 году, а 2.2LTS пока не видно.
Итак, расскажу как изучал я. Может быть кому-нибудь покажется полезной данная информация.
1. Проходим туториал на Django-girls.
Шаг за шагом копипастим и пытаемся понять что вообще происходит.
-Основы работы в консоли Linux
-Создание и работа в виртуальном окружении Python.
-Основы основ Django (urls, модели, шаблоны, views)
Альтернативный вариант (более короткий):
Версия 1.9 а не 1.11, но в этом нет ничего страшного.
2. Цикл лекций «Web-технологии. Разработка на DJANGO» от Mail.ru
Если не интересны основы-основ про web-разработку (уже знаете или задача быстро освоить Django), тогда начинаем смотреть с «9. Web-технологии. MVC фреймворки | Технострим» и дальше.
-Архитектуре и принципам взаимодействия компонентов, основам Django
3. Книга «Django: практика создания Web-сайтов на Python» Владимир Александрович Дронов:
ссылка: сами кУпите или найдёте.
Читаем главы с 1 по 7. Главу 2 опционально можете пропустить, если знакомы с основами Python.
-Пониманию основ MVC
-Через примеры кода начнет приходить понимание, как все работает.
-Через копипасту проекта в общем виде начали понимать как все устроено и работает
-Через лекции MAIL.ru узнали как работают web-приложения, как выглядит архитектура типичного web-приложения(взаимодействие бекенда-фронтэнда, работа протоколов, общая архитектура), узнали место Django в этой архитектуре
-Через книгу более детально познакомились с паттерном проектирования MVC (что такое модель, контроллер, представление), через примеры кода начали понимать как это может работать.
II. ПРОДОЛЖЕНИЕ НАЧАЛА(продолжаем «копипастить»):
1. Ищем курс «iTBursa Python&Django». Продажу курса уже закрыли (скорее всего видимо потому, что курс попал в открытый доступ). В курсе есть основы Python и Django. Плюсом идут основы: html/css, bootstrap web, http, databases, linux, shell, git/github, nginx, deployment.
Продолжаем копипастить уже по этому курсу, но теперь самостоятельно выполняем «Контрольные задания»(или не выполняем). В принципе этот курс мог бы заменить все вышеперечисленное. Но так как каждый человек воспринимает информацию по разному, ИМХО лучше усвоится информация, полученная из разных (по типу и виду подачи информации) источников.
Дополнительно: курс itvdn-Django от Антона Мазуна
2. Продолжаем читать и перечитывать Дронова
3. Изучаем официальную документацию или перевод документации 1.9(djbook.ru)
-На этом этапе уже должно быть освоено достаточное количество материалов для написания своего собственного приложения.
II. КОНЦА НЕ ВИДНО(создаём свой собственный проект):
Собственно если все делали правильно, на этом этапе должны быть все необходимые знания для реализации собственного проекта. По сути, можно сосредоточиться только на Джанго, а фронтэнд слепить из кусков Bootstrap.
Теперь отправляемся в свободное плавание на просторы интернета. Теперь уже сами ищем статьи, видео, гайды, бестпрактис. Продолжаем читать Дронова и переходим на актуальную версию Django 2.x
Дополнительно можно начать читать:
-Django подробное руководство. Адриан Головатый. Джейкоб Каплан-Мосс. Книга очень старая (2010), многое изменилось, но общие принципы остались те же.
-Tango with Django. Многие советуют эту книгу.
-Web Development with Django cookbook
Извиняюсь за возможные орфографические, и в особенности, за пунктуационные ошибки.
Программирование на python
233 поста 7.8K подписчиков
Правила сообщества
Публиковать могут пользователи с любым рейтингом. Однако!
• уважение к читателям и авторам
• простота и информативность повествования
• тег python2 или python3, если актуально
• код публиковать в виде цитаты, либо ссылкой на специализированный сайт
• допускать оскорбления и провокации
• распространять вредоносное ПО
• просить решить вашу полноценную задачу за вас
Хоспаде, понаписал то. По мне так все надо свести исключительно к двум пунктам.
1) Изучаем азы питона
Уроки с майл.ру, упомянутые в тексте поста есть также на Степике. Но по мне, так для начинающего сложноватая подача материала.
Кроме того, прямо сейчас идет два курса на openedu по джанге. Там вроде для более начинающих)
@moderator, почему я не могу отредактировать теги у этого поста? (Не отображается карандаш при наведении курсора на теги)
P.S.
Страницу перезагружал, даже через Ctrl+F5.
Хочется добавить теги «Django», «Framework»
на mkdev можно найти много менторов, не только по Django, но и по Python
Все слишком сложно. RoR зашел намного легче, месяц и алга. А вы тут на полгода не меньше расписали) еше ж работу надо успевать делать
ЗАХОДИТЕ ВСЕ К НАМ НА КАНАЛ В ТЕЛЕГРАММ. Называется python_noobs t.me/python_noobs там много пикабушников, много полезных ссылок, курсов, книг. Мы вместе программируем и изучаем python!
Небольшой туториал(а может и нет)о том как можно пробиться в IT нишу(опыт junior Django backend разработчика)
Я джун, хочу рассказать что делал, учил, как двигался дабы устроиться на работу.
Может быть мой опыт будет вам полезен, если вы пытаетесь найти работу или только учитесь / начинаете учиться.
Если есть дополнения: книги, youtube, курсы и т.д. ставьте вызов меня и дополнение, и если я разберусь как тут дополнять, то буду по чуть-чуть расширять пост вашими комментариями с пометкой *комментарий пользователя и ваш ник
Это не таблетка которая работает 100%, а исключительно мой опыт. На всё ушло полтора года(1 год учёбы + пол года поиск работы).
Пишу пост, так как часто отвечаю на вопросы в тг и в последнее время участилось здесь. Отвечаю потому что в свое время мне никто не помогал и этого очень не хватало на пути становления.
Не любитель писать(поймете по моей орфографии) поэтому скажем так это первый мой и последний пост скорее всего здесь.
Не знаю можно оставлять ссылки или это будет считаться рекламой, так что где-то они будут, где-то нет. Но на всякий случай пост НЕ в рекламных целях.
Немного о себе:
Для того чтобы представить полноценную картину. Мне 27 лет, работал в Альфа-банке и ушел из-за того, что не могу навязывать людям продукты. Прогорел бизнес в 24 года(ателье). Устроился работать в макдоналдс в ночную смену(так называемый «ночник»- что-то типа уборщицы и посудомойки), проработал год и понял что хватит плыть по течении и надо брать жизнь в руки.
Высшего образования не имею(Ушел с 5 курса ‘Эконом безопасности’), в дальнейшем не восстанавливался, так как хотел доказать себе, что обладание дипломом, а не знаниями это уже прошлый век, но это отступление.
Собственно информация ради которой был создан пост:
Курсы:
Купил курс Skillbox( https://skillbox.ru/course/profession-python/)-лично моё мнение, денег своих не стоит, разве что у меня был отличный куратор, на этом плюсы заканчиваются.
Купил курс на Udemy( https://www.udemy.com/course/django-31-junior-django-develop. курс понравился, очень много интересного от туда подчерпнул.
Окунулся в пиратство(Сайт с робингудом так сказать раздающий лес):
Там в поисковике:
— udemy-Разработка-telegram-ботов-на-python-2020
— Полный курс по веб разработке с нуля на Python + Django (2020)
— udemy-angela-yu-100-days-of-code-Полный-учебный-курс-python-pro-на-2021-год
— Ну собсна сама документация( https://docs.djangoproject.com/en)-не читать доки это кащунство:) так как всегда самая актуальная и полная инфа именно в них
— A Byte of Python
— Изучаем Python
— Test‑Driven Development with Python
— Two Scoops of Django
— Django. Разработка веб-приложений на Python
— Книга Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура
— Алгоритмы. Руководство по разработке
— Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
На поиск работы ушло около полугода. Запаситесь терпением и будьте настойчивы, рынок около-джунами переполнен, а в мидлах-сеньорах в дефиците, вот такая вот штука.
Отшивать будут часто, много. Искал работу по РФ с возможностью переезда куда угодно, хоть за границу, хоть куда.
Типичные вопросы:
— Рассказать несколько алгоритмов
— Решить логическую задачку (у меня была часто задачка ‘Задача с девятью шарами’ в гугле можно найти спокойно)
— Рассказать про структуры данных
— Ревью моего кода (или их кода) с человеком( почему так, почему сяк) проговаривая в слух мою логику
— Тестовая задачка ( задачи достаточно легкие, смог решить задачу на Golang не зная этого языка)
Типичные отказы:
— Мало / Нет опыта разработки в команде
— Рассматриваем кандидатов только из своего города
— Мы уже наняли
— Без диплома не рассматриваем
— Бесплатная стажировка(тут уже отказывался я)
Схема такая: ищу почту или телефон HR и отправляю лично ему или звоню и прошу почту куда отправить, так как ‘отклики’ на сайте считаю вообще не эффективными
Мой github/gitlab:
Примечание! Код там ужасен, знаю, проектов там почти нет(а рабочие проекты все запривачены), но как руки дойдут я перепишу свой ужас и
— https://github.com/AntonButyrin
— https://gitlab.com/butyrinhome
Моё резюме(часто отмечали на собесах резюме в положительную сторону, но по хорошему надо еще eng версию сделать):
— https://docs.google.com/document/d/1esMP3WEGhH3n27ptDVWlb4Xr.
На данный момент уже требуется еще front часть от меня (css, js, ajax), так как планируется перевести на зп по выше в фулл-стак разраба, но на начальном этапе требовался исключительно back(sql, django,drf, unix(просто умение поставить сервер),docker) всё на базовом уровне
Составить резюме, набраться определенного багажа знаний, иметь гитхаб и gist гитхаб ну и просто пробивать себе путь, так как дорогу осилит идущий:)