it Завдання 5 логічних завдань, які дають junior-розробникам
5 логічних завдань, які дають junior-розробникам

5 логічних завдань, які дають junior-розробникам

167
30 травня 2026 в 11:45

Перед тобою 5 логічних завдань, які часто дають junior розробникам на співбесідах. Деякі виглядають простими, але можуть легко заплутати.

На співбесідах програмістів часто перевіряють не лише знання мови програмування, а й уміння логічно мислити. Особливо це стосується junior-розробників.


Багато компаній спеціально ставлять прості на перший погляд задачі, щоб подивитися, як людина міркує, чи вміє помічати деталі та шукати рішення.


Задача №1 — Що виведе код?

numbers = [1, 2, 3]
copy = numbers

copy.append(4)

print(numbers)


Питання: що з’явиться в консолі?


Рішення

У консолі з’явиться:


[1, 2, 3, 4]


Змінна copy не створила новий список. Вона просто отримала посилання на той самий об’єкт у пам’яті.


Тому зміна через copy змінила і numbers.


Задача №2 — Скільки разів виконається цикл?

for(let i = 0; i < 5; i--) {
	console.log(i);
}


Питання: скільки разів виконається цикл?


Рішення

Цикл ніколи не зупиниться.


Змінна i починається з 0, а умова:


i < 5


завжди залишається істинною, тому що i зменшується:


0, -1, -2, -3...


Це класичний приклад неуважності на співбесідах.


Задача №3 — Чому функція повертає false?

console.log([] == false);


Питання: чому результатом буде true?


Рішення

JavaScript намагається привести значення до одного типу.


Порожній масив перетворюється на порожній рядок:


"" == false


Після цього обидва значення приводяться до числа:


0 == 0


І результатом стає true.


Саме тому в JavaScript зазвичай рекомендують використовувати строге порівняння:


=== 


Задача №4 — Знайди помилку в умові

age = 20

if age >= 18 or age <= 60:
	print("Доступ дозволено")


Питання: у чому проблема умови?


Рішення

Умова написана неправильно, тому що оператор or робить її майже завжди істинною.


Наприклад:


Якщо age = 10:


10 <= 60


Вже true.


Якщо age = 100:


100 >= 18


Теж true.


Правильніше було б використовувати:


if age >= 18 and age <= 60:


Задача №5 — Логічна задача

У тебе є 8 однакових на вигляд кульок. Одна з них важча за інші.


У тебе є ваги без гир.


Питання: як знайти важку кульку всього за 2 зважування?


Рішення

Розділимо кульки на 3 групи:


3 + 3 + 2


Перше зважування:

  • Порівнюємо групи по 3 кульки.
  • Якщо одна сторона важча — важка кулька знаходиться там.
  • Якщо вага однакова — важка кулька в групі з 2 кульок, що залишилася.


Друге зважування:

  • Беремо підозрілу групу та порівнюємо дві кульки між собою.
  • Більш важка і буде відповіддю.

Більше цікавих новин

Коментарі
Додати коментар

Поки що коментарів немає