Skip to content

Latest commit

 

History

History
20 lines (14 loc) · 5.42 KB

self-test-of readiness-to start-roadmap.md

File metadata and controls

20 lines (14 loc) · 5.42 KB

Самотестирование перед началом прохождения карты развития по Solidity

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

Тест реализован в полушуточной форме, где каждый пункт требует ответа: да или нет на не всегда серьезные высказывания. 🙃

Начнем:

  1. Тебе интересно узнать, что такое блокчейн Ethereum, финансовые протоколы, смарт-контракты и как с помощью них фиксировать любые договоренности. Хочешь разрабатывать по-настоящему децентрализованные приложения. Горишь идеей разбираться в финансовой и экономической составляющих приложений. То есть у тебя достаточно мотивации и времени, чтобы этим заниматься.
  2. У тебя есть коммерческий опыт разработки на других языках программирования (JavaScript, TypeScript, Python, С или C++) больше одного года. Есть понимание типизированных языков программирования. При помощи обычного цикла for можешь организовать работу любого алгоритма. Легко можешь реализовать массив данных, связный список, стек, очереди и другие структуры данных. Доводилось работать с деревьями и графами.
  3. Знаешь принципы ООП, SOLID, знаком с паттернами проектирования. Можешь мыслить абстракциями. Отличаешь агрегацию от композиции. Легко напишешь класс, который наследуется от других классов, реализуя заданный интерфейс. Ты не думаешь, что фабрика 🏭 может быть только обувной, а стратегия игровой.
  4. Не забыл школьную математику и информатику. Можешь делать простые математические операции от умножения и деления до извлечения корня, возведения в степень. Сдвиг влево или сдвиг вправо на несколько бит тебя не повергает в ужас. Не составляет сложности в уме перевести число из десятичной в шестнадцатеричную систему, шучу, можно использовать подручные инструменты 🔨.
  5. Понимаешь основы криптографии или готов в них разбираться. Знаешь отличие между хешированием и шифрованием. Согласен с нами, что SHA-2 не набор шипящих звуков Каа из Маугли.
  6. Хоть раз в жизни задумывался о том, чтобы попробовать методологию TDD. Отличаешь unit-тесты от интеграционных. Всегда стремишься к 100% покрытия кода.
  7. SELECT, GET, DELETE, JOIN, POST, PUT, CREATE. Можешь легко определить, что из этого используется для SQL, а что для REST API. И более того тебе доводилось работать с этим, хотя бы в каком-то виде.
  8. Ты с трепетом и аккуратностью готов относиться к коду, будешь его документировать и рефакторить, тестировать, проверять на безопасность, а потом снова рефакторить и тестировать и так по кругу. Это важная составляющая разработки, которой можно пренебрегать в других языках, но не в разработке смарт-контрактов на Solidity.

Если на семь пунктов из восьми ты отвечаешь положительно, если большинство терминов тебе знакомо и откликаются, то это значит, что ты готов к тому, чтобы начать проходить нашу программу обучения.

Имей ввиду, что тест не является чем-то категоричным и он не должен навсегда отбить твое желание погружаться в Solidity разработку. Тест всего лишь показывает тот минимальный набор знаний в программировании для того, чтобы начать. 🚀