Commit a793c287 authored by Pavel Beketov's avatar Pavel Beketov

add added tasks

parent 6db62a1d
## **Тестовое задание для кандидата в техническую поддержку**
---
### **Цель задания**
Проверить Ваши навыки анализа кода/скриптов, написания структурированной документации и тестирования функционала.
### **Описание задания**
Задание состоит из двух частей:
1. Вам предстоит изучить работу команды **$ epm mark** и создать для нее документацию, а также провести тестирование.
2. Вам предстоит изучить скрипт **ping_check.sh**, найти ошибки в коде и исправить их, провести тестирование и составить документацию.
### **Технические требования**
1. Для выполнения задания требуется ОС Linux (рекомендуется ALT Linux). Вы можете установить ее в виртуальную среду (virtualbox).
2. Склонируйте репозиторий с заданием на свою машину, а ответы публикуйте в Вашем собственном репозитории на GitHub.
---
## **Задача №1**
### 1. **Установите EPM**
- Это можно сделать командой: ```# curl -sL https://eepm.ru/epm.sh | bash /dev/stdin ei```
- Документация доступна по адресу https://wiki.eepm.ru
### 2. **Изучите команду epm mark**
- Разберитесь, как работает команда.
- Проанализируйте ее поведение через запуск с различными аргументами
### 3. **Напишите документацию**
Оформите ее в формате Markdown. Структура:
- Описание команды.
- Синтаксис использования.
- Список опций/аргументов с пояснениями.
- Примеры использования (1–3 сценария).
- Примечания (ограничения, зависимости, особенности)
### 4. **Протестируйте команду**
- Проверьте основные сценарии работы.
- Выявите возможные ошибки или неочевидное поведение.
- Составьте краткий отчет: что тестировали, какие баги обнаружили, как воспроизвести
### 5. **Предложите улучшения (опционально)**
На основе анализа дайте 2–3 рекомендации по оптимизации команды (например: добавление, новых флагов, упрощение синтаксиса).
###**Требования к выполнению**
- Документация должна быть понятной для новичка, без технического жаргона.
- В примерах укажите команды и ожидаемый вывод.
- В тестовом отчете выделите критические и незначительные баги (если есть).
###**Формат сдачи**
- Файл README.md с документацией.
- Файл TEST_REPORT.md с результатами тестирования и рекомендациями.
- Приложите краткие комментарии по структуре кода (что делает каждая часть).
### **Критерии оценки задачи №1**
|**Критерий** | ** Максимальный балл** | **Описание** |
|----------------------------|------------------------|----------------|
| Полнота документации | 5 | Документация содержит все требуемые разделы (описание, синтаксис, примеры и т.д.), примеры детальны, функционал описан без пропусков. |
| Качество тестирования | 5 | Проверены основные и крайние сценарии (например, неверные аргументы), выявлены критические и незначительные баги. |
| Четкость и структурированность | 3 | Материалы логично организованы: есть разделение на разделы, используются списки, таблицы, код-блоки. |
| Общая грамотность | 2 | Отсутствуют ошибки в тексте, термины используются корректно, документация понятна без дополнительных пояснений. |
---
## **Задача №2**
В репозитории Вам предоставлен Bash-скрипт **(ping_check.sh)**, который мониторит доступность хоста.
###**Ваша задача:**
1. Изучить код и описать его работу (что делает каждая часть скрипта).
2. Найти и исправить ошибки, которые мешают корректной работе.
3. Предложить улучшения для повышения надежности/функциональности.
###**Требования к выполнению**
#### **1. Описание работы скрипта:**
1. Объясните назначение скрипта, логику условий, использование переменных.
2. Укажите, какие данные куда записываются и при каких условиях.
#### **2. Поиск ошибок:**
1. Выявите все ошибки (синтаксические, логические, опечатки).
2. Исправьте их в коде и объясните, как они влияли на работу.
3. Улучшения (опционально, но приветствуется).
4. Предложите изменения, которые сделают скрипт более надежным или удобным (опционально).
###**Формат сдачи**
- Исправленный скрипт ping_check.sh.
- Файл README.md с документацией по использованию скрипта и по структуре кода скрипта.
- Файл TEST_REPORT.md с результатами тестирования.
- Приложите краткие комментарии по улучшению кода (опционально).
- Приложите изменения, которые сделают скрипт более надежным или удобным (опционально).
### Примечание
Ошибки считаются найденными, если Вы дали им техническое обоснование.
### **Критерии оценки задачи №2**
| **Категория** | ** Максимальный балл** | **Описание** |
|-----------------------|-------------------------------|------------------|
| Понимание кода | 4 | Полное и точное описание работы скрипта, объяснение всех ключевых элементов. |
| Поиск ошибок | 5 | Найдены и корректно исправлены все ошибки. |
| Улучшения | 1 | Предложены релевантные улучшения (например, проверка прав, обработка ошибок записи в лог). |
## **Желаем удачи!**
#!/bin/bash
HOST="ya.ru"
LOG_FILE="ping_check.log"
ping -c 1 $HOSTS > /dev/null
if [$? -ne 0]; then
echo "$(date): Host $HOST is down." >> $LOG_FILE
else
echo "$(date): Host $HOST is up." >> $LOG_FILE
fi
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment