Предлагаем вам выполнить небольшое задание которое состоит из 5 пунктов
1. Тест на логику
Менеджер поставил вам три задачи по доработке программного кода продукта. Одну придётся незамедлительно закрыть ничего не делая. В каждой задаче только две инструкции. Две инструкции в одной задаче истинные, в другой — ложные, а в третьей 50/50.
Задача 1:
Не закрывайте эту задачу.
Закройте вторую задачу.
Задача 2:
Не закрывайте первую задачу.
Закройте третью задачу.
Задача 3:
Нельзя закрывать эту задачу.
Закройте задачу 1.
Какую задачу надо закрыть?
2. Алгоритмы
Используя любой доступный вам язык программирования, решите задачу (при незнании языков, разрешается использовать запись решения в виде блок-схем):
Дан массив n+1 целых чисел от 1 до n. Нужно найти дубликаты.
Если существует несколько ответов — нужно вернуть один из дубликатов.
Если дубликата нет — вернуть -1
Для решения задачи нельзя использовать функции для работы с массивами.
Примеры:
Входные данные: [1, 2, 2, 3]
Ответ: 2
Входные данные: [7,2,4,1,2,6,3,1]
Ответ: 2 [или 1]
Дополнительно:
После решения задачи — по своему усмотрению (если хотите) можете предоставить одно или несколько дополнительных решений, без учета ограничений на использование функций для работы с массивами.
Решение необходимо предоставить в виде ссылки.
Для решения в виде кода — сохранить код в Github gist (
) и предоставить ссылку на него
Если у вас блок-схема, или любой другой дополнительный файл — загрузить файл (или архив) в Google Диск (Яндекс.Диск, Мейл.ру) и предоставить на него ссылку
3. Математика
Два программиста за 2 часа работы напишут 200 строк кода. Сколько нужно программистов, чтобы они за 200 часов работы написали 20 000 строк кода?
4. Декомпозиция
В вашей ванной, куда вы зашли утром, чтобы принять душ, оказался слон. Максимально подробно распишите последовательность действий для того, чтобы убрать слона и принять душ.
5. Эссе
Напишите небольшое мотивационное эссе, что вы ожидаете от прохождения стажировки в нашей компании.