/friday-mini-hackatons

Tasks for Friday mini hackatons

Primary LanguageJavaScript

Пятничные мини хакатоны

В этом репозитории размещены задачи для мини хакатонов для русскоязычного сообщества.

Зачем?

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

В перспективе это должно быть полезно для расширения общего кругозора и инструментов решения ежедневных задач.

Как решать задачи?

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

Задачи не должны быть слишком сложны. Решение задач не должно занимать слишком много времени.

Как проводятся хакатоны?

  1. Приветствие и обсуждение общих правил. 5-10 мин
  2. Оглашение задачи и базовые вопросы на ее тему. 5-10 мин
  3. Индивидуальный или групповой брейншторминг. Первая попытка решения. 20 мин.
  4. Промежуточное обсуждение результатов и возникших трудностей. 10 мин.
  5. Завершение задачи и обсуждение решений. 20 мин.

Требования к решению задачи

  1. Не использовать никаких фреймворков или библиотек высокого уровня (JQuery - нельзя).
  2. Стараться использовать только инструменты входящие в базовый набор библиотек языка (require('fs') - можно)

Как сдавать задачу?

  1. Решение должно быть оформлено в виде отдельного файла.
  2. В файле должно быть оформлено 2-е функции expected_result и execution_time.
  3. Первая функция expected_result должна принимать аргументы a и b и выводить Expected result: true - если a и b равны.
  4. Вторая функция execution_time должна принимать функцию с параметрами и выводить Execution time: X ms - где X время выполнения функции.
  5. В шапке файла должен присутствовать комментарий с объяснением того, как запустить программу.

Требования к решению

Файл с решением должен содержать:

  1. Комментарий с именем автора
  2. Основную функцию для решения задачи
  3. Минимальный, но достаточный набор тест-кейсов с применением функции expected_result
  4. Содержать функцию execution_time, которая демонстрирует затраченное время исполнения хотя бы на одном из базовых кейсов.

После решения задачи

  1. Файл с решением назвать именем автора ivan-ivanov.js
  2. Положить в каталог с соответствующей датой (12-01-2012)
  3. Сохранить в GIT с именем коммита "Ivan Ivanov. 12/01/2021"
  4. Отправить PR в репозиторий с именем "Ivan Ivanov. 12/01/2021"