Саппорт-тест

О чём речь?

Этот тест направлен на проверку не столько знаний, сколько умения их приобретать, самостоятельно разыскивая необходимую информацию. Поэтому совершенно не предполагается, что испытуемый знаком хоть с чем-либо из упоминающегося в тесте. Разве что поверхностно. В нашей работе постоянно приходится сталкиваться с чем-то новым, и очень важным качеством считается умение разобраться с тем, с чем встречаешься впервые.

Например, автор этого теста в процессе его создания поближе познакомился с SQLite и разобрался, как присоединяются аттачи к письмам.

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

Для прохождения теста придётся:

В большинстве заданий требуется написать скрипт. Все скрипты нужно осмысленно называть. Желательно комментировать код.

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

Задания

Бесконечные числа

Написать бесконечный цикл на sh, который будет раз в секунду выводить постоянно увеличивающееся число (1, 2, 3, 4 ...).

Потерянные запросы

Взять какой-нибудь access_log сервера Apache и написать скрипт на sh, который выведет количество неуспешных запросов GET за заданный час (предполагается, что лог содержит данные только за 1 сутки).

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

Имя файла лога должно задаваться первым аргументом командной строки. Час должен задаваться вторым аргументом командной строки.

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

Сбор статистики

Написать скрипт на sh, который в течение 60 минут будет каждую минуту записывать в таблицу базы данных

Например:

169810288 2 "2007-03-14 21:26:14"

В качестве базы данных использовать SQlite. При старте скрипт должен проверять наличие базы данных и в случае отсутствия создавать её.

Имя базы данных задаётся первым аргументом командной строки.

Если вторым аргументом командной строки задан "--stats", скрипт не должен собирать статистику, а должен выводить агрегированную информацию по всей таблице статистики: время начала сбора статистики, время конца сбора, минимальное, максимальное и среднее значение свободного пространства.

Если скрипт запущен без аргументов, он должен выводить справку по синтаксису запуска.

Подхайлов

Напипт на php, коет md5 файло. Спи жен в мачале. Подсэш фарипт жена.md5.

С помощью этого скрип со всех хитов.

Три зана жмите жную копу и пять зар нежену:

5snOwczYztnKINvBxwo=
ICDP7uvz9+Xt7fvlIPHq8Ojv8vsg6CBtZDUt7+7k7+jx6CDqIO3o7CDx5uDy/CDiIODw9ejiIAog
IHN1cHBvcnQtdGVzdC50YXIuYnoyLiDA8PXo4iDv8Ojr7ubo8vwg4PLy4Pfl7CDqIO/o8fzs8yDt
4CDg5PDl8QogIHN1cHBvcnRfdGVzdEBzcHJpbnRob3N0LnJ1LiDCIO/o8fzs5SDz6uDn4PL8IOru
7fLg6vLt8/4g6O307vDs4Pbo/gogIOgg4iDx4u7h7uTt7ukg9O7w7OUg7u/o8eDy/CDi7+X34PLr
5e3o/yDu8iDv8O717ubk5e3o/yDy5fHy4CA6LSkK