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