Чек-лист самопроверки
Разработчику
Аналитику
Тестировщику
Архитектору
Инженеру
Чек-лист самопроверки
- Что такое код с точки зрения программирования?
- В чём разница между алгоритмическим языком и языком программирования?
- Что такое блок кода и как он обозначается в разных языках?
- Какие две основные стратегии выполнения кода существуют?
- В чём принципиальное отличие компиляции от интерпретации?
- Что такое AOT-компиляция и где она применяется?
- Что такое JIT-компиляция и как она работает?
- Что такое байт-код и для чего он используется?
- Что такое трансляция и чем она отличается от компиляции?
- Что такое транспиляция? Приведите пример.
- Что такое машинный код и для кого он предназначен?
- Что такое исходный код и для кого он предназначен?
- Что такое конкретное синтаксическое дерево (КСД)?
- Что такое абстрактное синтаксическое дерево (АСД)?
- Что такое синтаксис языка программирования?
- Что такое ключевые слова и почему их нельзя использовать как имена переменных?
- Какие символы являются критически важными для синтаксиса и почему?
- В чём разница между оператором, операндом и операцией?
- Что такое переменная и как она связана с памятью компьютера?
- Что такое тип данных и зачем он нужен?
- Что такое область видимости переменной?
- В чём разница между глобальной и локальной областью видимости?
- Что такое передача по значению и передача по ссылке?
- Какие категории языков программирования существуют по способу выполнения?
- Что такое IDE и какие задачи она решает?
- В чём разница между императивным и декларативным стилем программирования?
- Что такое язык разметки и для чего он используется?
- Что такое язык запросов и приведите пример.
- Для чего нужны комментарии в коде?
- Как оформляются однострочные и многострочные комментарии в Python, JavaScript и C#?
- Что такое стиль кода и зачем он нужен?
- Почему важна человеко-читаемость кода?
- Какие рекомендации существуют по длине строки кода?
- Как правильно организовывать содержимое файла с исходным кодом?
- Что такое правило понижения (The Step-down Rule)?
- Как правильно расставлять пробелы вокруг операторов?
- Какие принципы лежат в основе хорошего именования?
- В чём разница между комментарием и самодокументирующимся кодом?
- Что такое маркерные комментарии (
TODO,FIXME) и как их правильно использовать? - Что такое вертикальная и горизонтальная плотность кода?
- Что такое цикл и для чего он используется?
- Какие три компонента обязательны для любого цикла?
- В чём разница между циклом с предусловием и циклом с постусловием?
- Что такое инвариант цикла?
- Что такое оператор и какие бывают его арности?
- Что такое приоритет и ассоциативность операторов?
- В чём разница между
==и===в JavaScript? - Что такое опциональная цепочка (
?.) и для чего она используется? - Что такое значение
nullи чем оно отличается от0,""илиfalse? - Какие современные подходы используются для безопасной работы с отсутствующими значениями (на примере Kotlin, C#, Rust)?