Требования: Обязательно: - Знание нескольких языков программирования.
- Стремление к профессиональному развитию.
- Способность работать в команде.
- Ответственность, целеустремленность.
Желательно: - Опыт работы в игровой индустрии.
- Профильное образование.
- Понимание основ сетевого программирования под linux.
Условия: - Оформление по ТК.
- Молодой коллектив единомышленников и трудоголиков.
- Дружеская неформальная атмосфера.
- Высокая заработная плата.
Тестовое задание
Вам необходимо выполнить тестовое задание, по результатам его выполнения будет принято решение о собеседовании.
Язык ocaml.
ocaml.org - сам язык и стандартная скупая документация. Сам язык есть практически во всех дистрибутивах linux.
http://courses.cms.caltech.edu/cs134/cs134b/book.pdf - очень исчерпывающая книга.
Необходимо написать небольшой сервер, используя библиотеку LWT
http://ocsigen.org/lwt.
PVP игра "крестики нолики".
В качестве клиента используем обычные telnet.
Пример работы:
====================
telnet localhost 1889 (клиент 1)
> START (запрос на начало новой игры)
> ( ждем начала игры)
telnet localhost 1889 (клиент 2)
> START (запрос на начало новой игры)
> (ждем начала игры)
== client 1 ==
> game started - you turn (ответ сервера)
== client 2 ==
> game started - wait opponent turn (ответ сервера)
== client 1 ==
> TURN 0 0 (команда с ходом)
> wait opponent turn (ответ севера)
== client 2 ==
> opponent turn 0 0 (ответ сервера)
> TURN 1 1 (команда на ход)
> wait opponent turn
<=====================
Т.е. сервер после запроса от первого клиента, ставит его в очередь на ожидание соперника (так как в текущий момент нет свободных соперников). Когда приходит команда START от второго клиента, игра начинается.
Далее они ходят по очереди. Сервер должен определить ситуацию ничьей или победы и написать клиентам об этом.