раскрыть ветку (80)
раскрыть ветку (79)
Цель: создать сервис и оценить время доступа к нему в зависимости от входных параметров ------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------ 1. Создать сервис со следующим интерфеи?сом: ------------------------------------------------------------------------------------------------------ public interface AccountService
{
/** * Retrieves current balance or zero if addAmount() method was not called before for specified id * * @param id balance identifier */
Long getAmount(Integer id);
/** * Increases balance or set if addAmount() method was called first time * * @param id balance identifier * @param value positive or negative value, which must be added to current balance */
void addAmount(Integer id, Long value);
} Сервис будет работать в высоконагруженнои? отказоустои?чивои? системе.
Сервис должен кэшировать данные в памяти и сохранять данные в БД (Oracle, PostgreSQL, MySQL) или бросать Exception'ы если выполнить операцию не удалось.
В качестве транспортного слоя можно выбрать любои? из протоколов RMI, Hessian, HTTP
------------------------------------------------------------------------------------------------------ 2. Создать тестового клиента ------------------------------------------------------------------------------------------------------ Тестовыи? клиент должен уметь запускать несколько конкурентных потоков на определе?нном подмножестве идентификаторов
- rCount - количество читателеи? вызывающих метод getAmount(id) - wCount - количество читателеи? вызывающих метод addAmount(id,value) - idList - список или доапазон ключеи? которые будут использоваться для тестирования
Эти параметры можно задавать через командную строчку или конфигурационныи? фаи?л.
Одновременно можно запускать несколько тестовых клиентов на одном или разных компьютерах.
------------------------------------------------------------------------------------------------------ 3. Получить стаистику обрабатки запросов на сервере AccountService'ом ------------------------------------------------------------------------------------------------------ Для каждого из двух методов AccountService'а (getAmount, addAmount) нужно получить
- кол-во запросов обрабатываемых в единицу времени на сервере (!!! не на клиенте) - общее кол-во запросов от всех клентов
Статистику с сервиса можно получать по требованию любым способом или сбрасывать в лог с определе?ннои? периодичностью. Предусмотреть возможность сбросить статистику в ноль на работающем сервисе.
------------------------------------------------------------------------------------------------------ 1. Создать сервис со следующим интерфеи?сом: ------------------------------------------------------------------------------------------------------ public interface AccountService
{
/** * Retrieves current balance or zero if addAmount() method was not called before for specified id * * @param id balance identifier */
Long getAmount(Integer id);
/** * Increases balance or set if addAmount() method was called first time * * @param id balance identifier * @param value positive or negative value, which must be added to current balance */
void addAmount(Integer id, Long value);
} Сервис будет работать в высоконагруженнои? отказоустои?чивои? системе.
Сервис должен кэшировать данные в памяти и сохранять данные в БД (Oracle, PostgreSQL, MySQL) или бросать Exception'ы если выполнить операцию не удалось.
В качестве транспортного слоя можно выбрать любои? из протоколов RMI, Hessian, HTTP
------------------------------------------------------------------------------------------------------ 2. Создать тестового клиента ------------------------------------------------------------------------------------------------------ Тестовыи? клиент должен уметь запускать несколько конкурентных потоков на определе?нном подмножестве идентификаторов
- rCount - количество читателеи? вызывающих метод getAmount(id) - wCount - количество читателеи? вызывающих метод addAmount(id,value) - idList - список или доапазон ключеи? которые будут использоваться для тестирования
Эти параметры можно задавать через командную строчку или конфигурационныи? фаи?л.
Одновременно можно запускать несколько тестовых клиентов на одном или разных компьютерах.
------------------------------------------------------------------------------------------------------ 3. Получить стаистику обрабатки запросов на сервере AccountService'ом ------------------------------------------------------------------------------------------------------ Для каждого из двух методов AccountService'а (getAmount, addAmount) нужно получить
- кол-во запросов обрабатываемых в единицу времени на сервере (!!! не на клиенте) - общее кол-во запросов от всех клентов
Статистику с сервиса можно получать по требованию любым способом или сбрасывать в лог с определе?ннои? периодичностью. Предусмотреть возможность сбросить статистику в ноль на работающем сервисе.
раскрыть ветку (76)
раскрыть ветку (75)
раскрыть ветку (74)
раскрыть ветку (67)
Мир тесен)
Скажи
Поч в вакансии написано "нужны общие понятия Java"
и даётся такое задание?
Или оно реально простое, просто я нуб??
Скажи
Поч в вакансии написано "нужны общие понятия Java"
и даётся такое задание?
Или оно реально простое, просто я нуб??
раскрыть ветку (66)
В целом простое, тут главное знать немного про структуры данных (для хранения кэша), про то, как соединять сетью клиент и сервер (это тоже основы) и там по общему развитию (это про протоколы).
База данных тоже особых проблем вызывать не должна
Но мне его делать очень лень, поэтому как то медлю с ним, спасибо за конкуренцию, ускорюсь)
База данных тоже особых проблем вызывать не должна
Но мне его делать очень лень, поэтому как то медлю с ним, спасибо за конкуренцию, ускорюсь)
раскрыть ветку (65)
Ответь не как конкурент, а как человек)
Если я уже тут валюсь, есть смысл пытаться пробиться?
Если я уже тут валюсь, есть смысл пытаться пробиться?
раскрыть ветку (64)
На твоем бы месте я бы попробовал туда, где идет сперва обучение а потом трудоустройство
T-Systems
ExigneService
и прочие
На крайняк - школа программирования (если им конечно верить)
T-Systems
ExigneService
и прочие
На крайняк - школа программирования (если им конечно верить)
Туда пробиться довольно сложно, и уже приходя к ним в офис а не через интернет, но вроде как реально
раскрыть ветку (62)
И если что. решения этого задания в интернете полным полно, тут дело как ты его поймешь и сможешь ли повторить уже будучи работником
раскрыть ветку (5)
раскрыть ветку (4)
на гит хабе глянь парень какой то делал с комментариями, я не смотрел, ибо он делал через сервелеты (а я с ними до этого не работал) но в целом логику можно просмотреть
раскрыть ветку (3)
