Тестовое задание ФХР
- OS: Linux, AltLinux 11
- Editor: PhpStorm, MS Code
- AI Helper: gemini
Установка и запуск
Окружения у меня небыло настроено никакого, так что все настроено почти с нуля. У меня была готовая сборка MySQL, старая типовая сборка compose.yaml под Laravel и на этом наверное все.
Время: 1 час 25 минут.
For Linux env:
mkdir ilya_test
cd ilya_test
git clone https://gitea.wired-mind.ru/ijin82/test-FHR.git .
cp main-repo/.env.example main-repo/.env
docker compose up
Алиасы для комфортного подключения vim ~/.bashrc
### Test FHR
alias fhr-mysql='docker exec -it mysql_fhr /bin/bash'
alias fhr-nginx='docker exec -it nginx_fhr /bin/bash'
alias fhr-redis='docker exec -it redis_fhr /bin/sh'
alias fhr-php='docker exec -it php8_fhr /bin/bash'
Написать сортировку для массива числовых данных от 200 тысяч элементов
Запуск теста
fhr-php
php artisan app:test-fhr-sort
Не буду врать что я всегда знаю какую сортировку лучше всего использовать. В таких специальных случаях, когда нужно оперировать с большими массивами данных - конечно решение гуглится, делаются какие-то тесты, опрашиваются коллеги которые потенциально имели опыт с решением подобных задач. Конечно это решение я в голове не носил, а достал его из гугла.
Время: 25 минут.
Игроки и клубы, миграции, сидирование, выгрузка
fhr-php
php artisan migrate # Структура БД
# Клубы
php artisan db:seed --class=ClubSeeder
# Игроки
php artisan db:seed --class=PlayerSeeder
Выгрузка данных по игрокам и клубам вместе со структурой
cd /var/lib/mysql-files
mysqldump -u root -psecret test_fhr clubs players > clubs_and_players_dump.sql
После такой выгрузки, дамп появится в папке MySQL-files
Тестовый дамп лежит в корне проекта clubs_and_players_dump.sql
Время: 1 час 25 минут.