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