Files
CppDeveloperRoadmap/Russian/Grades/PreJunior.md
2023-01-31 21:57:43 +01:00

6.4 KiB
Raw Blame History

Pre-Junior C++

Кто это?

Это человек, который освоил синтаксис языка и способен написать несложную программу без использования сторонних библиотек. Программа способна выполнять различные действия, например:

  • выполняет арифметические вычисления
  • взаимодействует с файлами: чтение и запись
  • ожидает ввод данных с клавиатуры
  • выводит результаты работы и иные данные в консольное окно
  • и т.д.

Что ожидается по умению написания кода?

  • Способность создать и собрать небольшой рабочий проект на C++ при помощи одной из IDE: Visual Studio, Qt Creator и т.д.
  • Умение пользоваться отладчиком при помощи IDE
  • Понимание процесса компиляции и сборки программы на C++
  • Способность написать приложение, содержащее арифметические или логические операции/алгоритмы, условия и циклы
  • Умение написать приложение по работе со стандартным потоком ввода/вывода;
  • Умение работать с указателями и ссылками
  • Понимание отличия между видами памяти: стек и куча
  • Базовое понимание ООП в рамках C++: наследование, полиморфизм, инкапсуляция

Что ожидается по общим навыкам?

  • Желание учиться и впитывать новые знания
  • Желание разбираться в возникающих проблемах
  • Умение составить запрос на русском языке, чтобы найти ответ на проблему в поисковике или соответствующей литературе

Рекомендации и советы

Про обучение

  • Не существует "серебряной пули", которая поможет вам выучить C++ за день/неделю/месяц. Будьте готовы к продолжительной самостоятельной работе по изучению материала, прежде чем сможете пройти собеседование, и получить свой первый оффер.
  • Если чувствуете, что не понимаете какую-то тему, поищите альтернативные источники.
  • Практика и только практика даст вам возможность освоить C++! Без регулярного написания кода, большая часть того, что вы прочитаете или услышите - забудется.
  • Не пытайтесь писать идеальный код. Ваша основная задача - написание РАБОЧЕГО кода, который делает ровно то, что от вас требуется. Вы должны научиться "общаться" с компьютером. Аналогично изучению иностранных языков: сначала вы говорите много и небрежно, но со временем ваш навык оттачивается, начинаете лучше чувствовать грамматику, увеличиваете свой словарный запас и т.д.
  • Не хватайтесь сразу за большую задачу, например: "написать свою игру". Скорее всего вам не хватит знаний и опыта на первых порах, чтобы осилить задачу в одиночку. Такого рода путь быстро демотивирует, что в итоге может привести к разочарованию, и вы забросите свое обучение. Идите по пути "от простого к сложному", постепенно придумывая себе все более сложные задачи.
  • На первых порах не стоит концентрироваться на таких ресурсах, как Leetcode или CodeWars. Цель этих площадок - отработать навыки применения классических алгоритмов и структур данных. Эти платформы спроектированы таким образом, чтобы максимально отгородить вас от нюансов языков программирования. На первых порах это не принесет вам особой пользы, лучше сконцентрируйтесь на самом языке и его возможностях.

Про английский язык

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

На предыдущую страницу | На главную страницу