@Denis_Ramus
Студент

Какие темы изучить для прохождения отбора на Python?

Доброго времени суток!
Я студент третьего курса очень не престижной специальности колледжа по специальности: "Информационные системы". Знания давали паршивые, что в математике(ее вообще не было xD). Что в базах данных, что в компьютерных сетях, да в том же программировании был Pascal. И не говорите мне что он залаживает базу. Базу залаживают такие науки как математика, физика и другие фундаментальные науки. Pascal лишь устаревшая технология.
Собственно зачем я обращаюсь? Я давно уже занимаюсь программированием, но изучал только языки. Мои знания не превышают знаний которых дают на курсах. А то и то хуже.
Мой стек технологий:
HTML/CSS на уровне верстки макетов с помощью Flexbox
JavaScript (НЕНАВИЖУ) /Node.js
Python
Java(Был забыт мной нафиг)

Задача стоит пройти отбор по программированию на языке Python.
Я думаю мне потребуются:
знания алгоритмов и структур данных,
повторение школьного курса математики,
введение в дискретную математику,
много материала по практическому применению Python(Кроме Checkio.org)
Введение в базы данных
Понимание архитектуры RESTful
На все это у меня есть пару недель.(Поверьте я псих, и не такое могу)
Главное это материал по: задачам по программированию (в общем и с применением Python) и математика, какие знания математики мне потребуются? Школьную программу могу повторить что еще?
Какие материалы посоветуете? На Видеокурсы времени нет! Нужна текстовая информация!
Из некоторого материала который я собираюсь использовать, это: checkio.org, Python 3 (Дронов, Прохоренок), Грокаем Алгоритмы, Шэнь - программирование и теоремы, Хахаев - практикум по алгоритмизации по Python

Что вы посоветуете мне? Особенно интересует тема математики!

Спасибо.
  • Вопрос задан
  • 1941 просмотр
Пригласить эксперта
Ответы на вопрос 4
irestone
@irestone
Junior Web Developer
Во-первых: "На все это у меня есть пару недель.(Поверьте я псих, и не такое могу)" - нет, не можешь. За пару недель можно изучить некоторые технологии, но научиться правильно думать нельзя.
Во-вторых: "На Видеокурсы времени нет! Нужна текстовая информация!" - видео усваивается лучше. Но, в целом, нужно комбинировать все возможные ресурсы.
В-третьих: "JavaScript (НЕНАВИЖУ)" - нет смысла ненавидеть молоток. Это очень наивная позиция. Выбери задачу и используй то, что нужно.
В-четвертых: Объем математики определяется целью: занимаешься машинным обучением, искусственным интеллектом и прочим дата сайенс или пишешь физический движок, например, - понадобится серьезная математика. В остальных случая хватит школьного курса, и то средней школы.

Непосредственно подготовка:
Cracking the Coding Interview
Elements of Programming Interviews in Python
Из этих книг тебе станет ясно, что нужно знать, чтобы пройти собеседование на работу.

Тренируй problem solving скилл на специальных сервисах. Популярные: https://leetcode.com, https://www.hackerrank.com, https://practice.geeksforgeeks.org
Нужно не просто решать задачи, а учиться это делать правильно, походу изучая алгоритмы, структуры данных и анализ сложности. Грокаем алгоритмы - хороший выбор. Будет отлично, если найдешь друга, с которым можно будет тренировать witeboard'ы, когда один берет на себя роль интервьюера и задает другому задачу. Это важно. Так вы сможете разобраться, где и почему вы застреваете и научитесь правильно выстраивать мыслительный процесс при решении задач. По большому счету, это твой основной навык как программиста, именно его и будут проверять в первую очередь при собеседовании на работу. По крайней мере, должны. Если спрашивают только конкретные технологии, то тебе стоит задуматься, стоит ли у них работать. (Подсказка: нет)

Изучай ООП и Паттерны проектирования.
Все доступно и с примерами.
Видео по одной популярной книге, которую тоже можешь начать читать.

Изучай инструменты (языки, фреймворки и пр) под конкретную сферу. Не надо изучать все подряд, учи то, что нужно для того, чем ты хочешь заниматься, конкретный стек технологий. Помни про принцип Парето.
Например, вот хорошие ресурсы по питону:
https://www.amazon.com/dp/1593279280/
https://www.amazon.com/dp/1593275994/
https://www.youtube.com/watch?v=8DvywoWv6fI

Наконец, ты должен понимать, что нетехнические, т.н. софт-скиллы не менее (а в случае с джуном часто более) важны. Я не зря предлагал ресурсы на английском - этот язык разработчику знать важнее, чем любой язык программирования. Не знаешь, с чего начать? Посмотри "Полиглот. Выучим английский за 16 часов!", начни пользоваться https://lingualeo.com (там есть и тренировки и курсы)

Окружи себя инфосферой: ютуб, твиттер, телеграм и пр.
Мне, например, нравятся эти ребята:
https://www.youtube.com/channel/UCVbz7l0COUdLupcY4...
https://www.youtube.com/user/HexletUniversity
https://www.youtube.com/channel/UC4xKdmAXFh4ACyhpi...
Они помогут тебе начать думать в правильном направлении.

Удачи!
Ответ написан
1) На какую должность ты хочешь поступить. Ибо Python:

разработка под веб django/flask
разработка под веб tornado/aiohttp (отличается от первого)
разработка тестов в QA
разработка devops спеков
machine learning

Каждое из этих направлений требует отдельные знания.

2) Открой требования к вакансии, что хочешь - и иди пункт за пукнтом по требованиям. Изи.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
не говорите мне что он залаживает базу
Хорошую базу, ничем не залажаешь, а плохую и лажать не надо.
Ответ написан
tema_sun
@tema_sun
Расслабиться и готовиться к поступлению через год. Этот материал невозможно усвоить за такой срок не потому, что вы какой-то не такой. А потому, что полученные днём знания уйдут из краткосрочной памяти в долговременную только после отдыха и после многочисленных повторений. Если вы прочитаете 15 книжек за две недели - вы не усвоите материал ни из одной. Если вы хомо сапиенс, то вы чисто физиологически не сможете этого сделать. Мозг так не работает.

p.s. "Закладывает", бро, "закладывает". Корни -лаг-, -лож-, все дела.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы