Перейти к основному содержимому

Тест на готовность к программированию

Всем

Я бы не заморачивался с «тестами на готовность» вместо нормальной базы — сначала компьютерная грамотность, сеть, файлы. Но если вы уже здесь, давайте честно проверим, тянет ли вас к коду.

Ниже — интерактивный опрос: 15 вопросов в пяти блоках, мгновенная обратная связь и итог с рекомендациями по разделам энциклопедии.

Play ITЗагрузка интерактивного демо…


Проверка «на глаз»: больно ли читать код?

Перед опросом — необязательное, но показательное упражнение. Больно ли вам читать такой фрагмент?

const createProcessor = (config = { timeout: 1000, retries: 3 }) => {
const cache = new WeakMap();
const pending = new Map();

return (endpoint) => async (...args) => {
const { threshold = 0.5, transform = (v) => v } = args[0] || {};
const key = JSON.stringify({ endpoint, args: [...args] });

if (pending.has(key)) {
return pending.get(key);
}

const executor = async (attempt = 1) => {
try {
const result = await new Promise((res, rej) => {
const timer = setTimeout(() => rej(new Error('Timeout')), config.timeout);

fetch(endpoint, { method: 'POST', body: JSON.stringify(args) })
.then(r => r.json())
.then(data => {
clearTimeout(timer);
if (data.confidence < threshold) {
rej(new Error(`Low confidence: ${data.confidence}`));
} else {
res(transform(data.payload));
}
})
.catch(rej);
});

cache.set({ endpoint, args }, result);
return result;

} catch (err) {
if (attempt < config.retries) {
const delay = 2 ** attempt * 100;
await new Promise(r => setTimeout(r, delay));
return executor(attempt + 1);
}
throw err;
} finally {
pending.delete(key);
}
};

const promise = executor();
pending.set(key, promise);
return promise;
};
};

На курсах для новичков чаще пишут так:

let test = "Привет"
let word = "Мир"
console.log(test+word)

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

Как проходить опрос

В блоках 2–4 важнее логика и умение объяснить шаги, чем заучивание синтаксиса. Блок 1 проверяет, что вы не боитесь терминала. После каждого ответа — разбор; в конце — результат по блокам и ссылки на главы.

После теста

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

БлокСмыслВопросов в опросе
1Терминал, файлы, «как живёт процесс»3
2Переменные, ветвления, циклы, функции3
3Git, IDE, отладка3
4Структуры данных и OOP — обзор3
5Языки — куда копать дальше3

Ориентир: 65%+ и уверенные блоки 2–4 — можно идти в Код и разработка. Слабый блок 1 — сначала Терминал.


Практика руками (по желанию)

Опрос проверяет понимание. Дополнительно можно выполнить на своём ПК:

Терминал. Создайте hello.txt с текстом Hello, world! через терминал и проверьте содержимое (cat / type).

Git. git init → файл readme.md с # Стартgit addgit commit -m "Старт". Разбор — лабораторная шпаргалка Git.

Код. Функция greet(name)Привет, {name}!; цикл 1..10; if age >= 18 для порога голосования.

Подробные эталоны — в обратной связи опроса и в главах по Git и основам кода.