Frontend-разработчик (стажер) Тестовое задание

Задачи по программированию  

программирование

Тестовое задание  (найдено на pyshop.ru)

Frontend-разработчик (стажер)

к содержанию задачника

  1. В примере кода разработайте реализацию функции sumUpDiagonals() на JavaScript таким образом, чтобы она возвращала суммы основной и вторичной диагоналей квадратной матрицы.

    var matrixExample = [
    [ 1, 2, 3, 4 ],
    [ 4, 5, 6, 5 ],
    [ 7, 8, 9, 7 ],
    [ 7, 8, 9, 7 ]
    ];

    function sumUpDiagonals(matrix) {
    // …
    }

    console.log(sumUpDiagonals(matrixExample))

  2. Разработайте юнит-тесты проверяющие корректность работы функции. Удалось ли найти какие-либо дефекты в этой функции, полагаясь на ее назначение исходя из описания? Учтите, что вопрос не на знание фреймворков тестирования и их применение, можете взять любой, или даже разработать ряд самостоятельных функций. function isEven(number) {
    // Returns True if **number** is even or False if it is odd.
    return number % 2;
    }
  3. Техническое задание на разработку приложения по добавлению и сохранению заметок
    Разработайте приложение по добавлению и сохранению заметок. В приложении должно быть несколько экранов.
    Приложение должно содержать:
    Экран авторизации.
    Экран со списком заметок.
    Экран или модальное окно с формой добавления заметки.

    Список заметок должен содержать:
    Дату создания
    Сколько времени прошло со времени создания. 1 мин, 1 час, день и тд.
    Название
    Описание

    Обратите внимание что дата должна быть с учетом часового пояса. К примеру, пользователь создал заметку в Санкт-Петербурге, прилетел в Бостон где открыл заметки, а в поле “сколько времени прошло с момента создания” прошедший интервал отображается корректно.

    Плюсом будет реализация фильтрации по колонкам.

    На бекенде и фронтенде можно использовать что угодно.
    Для БД можно использовать сервис https://firebase.google.com/.

    Выложите исходники на github, в README опишите что нужно сделать чтобы запустить ваш проект.