Задачи на сообразительность



Иногда на собеседованиях дают "задачку на сообразительность". Перевернуть строку, поделить торт на части, бросить шар из окна и так далее.



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



У сеньоров тоже бывает ступор. Человек несколько лет заботился о микросервисах, проводил сложные интеграции и вникал в запутанные бизнес-требования. Задачи вроде "сколько шариков вытащить из ящика" для него крайне непривычны.



Что мне помогало: решить перед собеседованием несколько подобных задач. Тогда на самом собесе мозг включается быстрее.



Ниже — плейлист для практики



🎵 Программистские



▫️ Развернуть строку: abc → cba



▫️ Развернуть число: 123 → 321



▫️ Для массива чисел и заданного числа найти пары элементов, которые в сумме равны этому числу

Пример: массив [5,7,8,2,12,30,10,16], требуемая сумма — 15

Ответ: 5 и 10, 7 и 8



▫️ Найти в массиве числа, у которых нет дубликата в этом же массиве: [1,2,3,1,2] → 3



▫️ Проверить, является ли строка палиндромом (читается одинаково слева направо и справа налево)



▫️ Проверить, является ли число палиндромом



▫️ Проверить, являются ли строки анаграммами (состоят из одних и тех же букв)



▫️ Проверить, является ли числа анаграммами



▫️ Вывести слова в строке в обратном порядке



▫️ Реализовать игру FizzBuzz. Написать алгоритм, который выводит числа от 1 до N. Если число делится на 3 — выводить fizz, если на 5 — buzz, если на 3 и 5 — fizz buzz



▫️ Посчитать статистику символов в строке

java → j:1, a:2, v:1



▫️ Найти наибольший общий делитель двух чисел



▫️ Написать конвертер систем счисления: обычных чисел в римские, десятеричную систему в двоичную, 8- и 16-ричную



Больше задач ищите на LeetCode, уровень Easy и Medium. Учить решения бесполезно, так как у задач много вариаций🙂



🎵 Предметные



▪️ В ящике 100 белых и 100 черных шаров. Сколько шаров нужно вытащить, чтобы среди них было 2 одноцветных?



▪️ Есть 15 одинаковых с виду шариков, но один чуть тяжелее других. Сколько нужно взвешиваний, чтобы найти этот шар?



▪️ Как из полного сосуда ёмкостью в 12л отлить половину, пользуясь двумя пустыми сосудами ёмкостью в 8л и 5л?



▪️ Есть 8 батареек, 4 из них рабочие. Фонарику нужно 2 батарейки. Сколько пар нужно протестировать, чтобы найти рабочую?



Задачки такого типа классно решать в компании или вместе с детьми🙂 Ссылка на 50 других задач