игра брюс 2048
Главная / Программирование / Проектирование высоконагруженных систем / Тест 100

Проектирование высоконагруженных систем - тест 100

Упражнение 1:
Номер 1
Какие утверждения верны насчёт необходимости ознакомления с архитектурой существующих проектов, при разработке своего проекта?

Ответ:

 (1) не стоит смотреть архитектуру других проектов так как это будет сковывать вашу архитектурную мысль 

 (2) ознакомление с архитектурой существующих проектов поможет сделать проект как минимум не хуже, чем уже сделаны 

 (3) ознакомление с архитектурой существующих проектов поможет избежать уже известных проблем 

 (4) ознакомление с архитектурой существующих проектов малополезно, потому что все проекты сильно отличаются друг от друга 


Номер 2
Какие утверждения насчёт переписывания заново уже существующих проектов верны?

Ответ:

 (1) переписывание всего кода проекта заново это обычная практика при увеличении количества пользователей 

 (2) переписывание всего кода работающего проекта заново может оказаться полезным для повышения качества обслуживания пользователей 

 (3) старый работающий код содержит большое количество изменений под конкретные нужды пользователей и под обработку сложных ситуаций 

 (4) переписывание значительной части работающего проекта часто приводит к потерям пользователей 

 (5) чаще всего работающая система не переписывается, а изменяется постепенно по частям 


Номер 3
Типовая стартовая страница не специализированного проекта обычно содержит

Ответ:

 (1) форма авторизация 

 (2) баннеры 

 (3) ссылки на ресурсы проекта 

 (4) результаты сложных запросов, которые могут оказаться интересны пользователю 


Номер 4
Каковы требования к главной странице проекта?

Ответ:

 (1) максимально простая 

 (2) выдерживает большую нагрузку 

 (3) содержит максимальное количество данных, необходимых пользователю 

 (4) надёжность страницы 

 (5) должна возвращать ошибку 500 при невозможности получения каких-либо данных 


Упражнение 2:
Номер 1
Как устроена обработка запроса на получение главной страницы проекта mail.ru?

Ответ:

 (1) load blanser перенаправляет запросы на несколько lite фронтендов и сервисы авторизации 

 (2) первоначально запрос от пользователя приходит на сервис авторизации 

 (3) по результатам авторизации пользователя рекламная система подбирает показываемую рекламу 

 (4) и запрос пользователя и ответ на запрос проходят через балансер 


Номер 2
 Какие задачи решает сервис авторизации?

Ответ:

 (1) определяет, авторизован пользователь или нет 

 (2) возвращает количество писем в ящике пользователя если он авторизован 

 (3) подбирает показываемую пользователю рекламу 

 (4) считает статистики 


Номер 3
Какие утверждения относительно сервера imagine верны?

Ответ:

 (1) используется на frontend-ах компании mail.ru 

 (2) имеет жёстко прописанную в коде бизнес-логику 

 (3) для обработки множества запросов запускает необходимое количество воркеров 

 (4) служит основой для сборки специализированных демонов 

 (5) для связи между собой демоны, собранные на основе imagine используют протокол iproto 


Упражнение 3:
Номер 1
Какие утверждения насчёт демона lite верны?

Ответ:

 (1) вариант сборки сервера imagine 

 (2) очень простой демон "одной страницы" 

 (3) поддерживает только одни шаблон главной страницы 

 (4) умеет запрашивать сервер авторизации и получать количество писем 

 (5) хранит за кэшированные сессии пользователя 


Номер 2
Какие минусы и плюсы имеются у шаблонизатора с поддержкой JavaScript (В8)?

Ответ:

 (1) позволяет использовать один шаблон для клиента и сервера при использовании AJAX 

 (2) для ускорения запуска шаблоны страниц можно рендерить заранее 

 (3) клиентский движок JavaScript при работе на сервере потребляет много памяти 

 (4) медленная обработка большого количества JavaScript кода 


Номер 3
Какие функции выполняет демона swa?

Ответ:

 (1) отвечает другим серверам про наличие/отсутствие авторизации 

 (2) предоставляет количество писем для авторизованных пользователь 

 (3) запрашивает за кэшированные сессии для пользователя 

 (4) выдаёт главную страницу сервиса mail.ru 

 (5) авторизует пользователя 


Упражнение 4:
Номер 1
Какую страницу сервиса Почта Mail.ru оказалось наиболее эффективно переписать на С/С++?

Ответ:

 (1) страница чтения письма является достаточно часто посещаемой страницей и достаточно простой 

 (2) страница отправки письма является наиболее часто посещаемой страницей 

 (3) список писем является простой, и наиболее часто запрашиваемой страницей 

 (4) страница настроек может быть легко переписана и вызывается достаточно часто 


Номер 2
Каким образом бакенд сервера почты Mail.ru где хранятся письма подключены к интернету?

Ответ:

 (1) через loadbalancer 

 (2) подключены напрямую 

 (3) не подключены к интернету, доступ осуществляется frontend серверами через внутреннюю сеть 

 (4) клиент получает адреса серверов через loadbalancer и frontend сервера 


Номер 3
Как организован доступ к frontend серверам почты Mail.ru?

Ответ:

 (1) RobinRound DNS распределяет трафик не несколько десятков балансеров 

 (2) балансеры распределяют запросы на несколько сотен frontend серверов 

 (3) RobinRound DNS распределяет трафик не несколько сотен frontend серверов 

 (4) один балансер распределяет запросы на несколько сотен frontend серверов 


Упражнение 5:
Номер 1
Где на почтовом фронтенде Mail.ru обрабатывается SSL?

Ответ:

 (1) на входном сервере nginx 

 (2) на серверах apache стоящих за nginx 

 (3) на серверах, хранящих почту пользователя 

 (4) на loadbalancer 


Номер 2
Какие сервера отдают пользователю запрошенную страницу почтового сервиса Mail.ru?

Ответ:

 (1) часть страниц отдаёт сервер apache 

 (2) часть страниц отдаёт сервер auth 

 (3) все страницы отдаются сервером apache, работающим независимо от сервера auth 

 (4) все страницы отдаются сервером apache, часть страниц он запрашивает у сервера auth 


Номер 3
Какие утверждения насчёт сервера capron верны?

Ответ:

 (1) мультиплексирует соединения с базами данных 

 (2) написан на основе сервера imagine 

 (3) зависает при недоступности баз данных 

 (4) организует через него воркеры frontend серверов обращаются к базам данных в асинхронном режиме 


Упражнение 6:
Номер 1
Каковы особенности использования perl в почтовом сервисе Mail.ru?

Ответ:

 (1) обслуживает запросы написания письма и чтения письма 

 (2) обслуживает простые, но тяжело нагруженные запросы 

 (3) работает из-под apache и mod_perl 

 (4) изначально все страницы сервиса были написаны на perl 

 (5) запрашивает данные с бэкендов в асинхронном режиме 


Номер 2
Как организовано хранение пользовательских данных в почтовом сервисе Mail.ru?

Ответ:

 (1) содержимое почтового ящика каждого пользователя лежит в отдельной папке на диске 

 (2) доступ к данным пользователя осуществляется через файловый доступ с frontend сервера к папке пользователя 

 (3) существует привязка каждого пользователя к конкретному диску и к конкретному серверу 

 (4) в почтовом сервисе Mail.ru адресная книга пользователей общая и хранится на отдельном сервере 


Номер 3
Как организован доступ пользователя к своим данным?

Ответ:

 (1) скрипт сервера обращается к базе пользователей и проверяет пароль пользователя 

 (2) скрипт сервера обращается к базе пользователей и берёт URL хранилища данных пользователя 

 (3) скрипт frontend сервера получив URL хранилища данных пользователя через файловый доступ получает список файлов-писем пользователя 

 (4) скрипт сервера по специальному протоколу обращается к хранилища данных пользователя и генерирует идентификатор сессии 

 (5) при последующих обращениях к данным пользователя проверяется что указанная в запросе сессия существует 

 (6) в почтовом сервисе Mail.ru адресная книга пользователей общая и хранится на отдельном сервере 


Номер 4
Какие проблемы существуют в текущей архитектуре почтового сервиса Mail.ru?

Ответ:

 (1) производительность хранилищ данных пользователя упирается в производительность дисков 

 (2) производительность frontend серверов упирается в производительность дисков 

 (3) perl потребляет много памяти и не отдаёт её обратно 

 (4) perl работает базой в блокирующем режиме 

 (5) когда пользователи распределены по серверам, возможно не равномерное распределение нагрузки на сервера 


Упражнение 7:
Номер 1
Какие функции выполняет Mail.ru Агент?

Ответ:

 (1) нотификация о новых письмах 

 (2) обмен сообщениями между пользователями Mail.ru 

 (3) умеет общаться с ICQ 

 (4) хранит настройки почты пользователя 

 (5) нотифицирует о состоянии подключения пользователей из контактного листа 

 (6) хранить контакт лист пользователя, и offline сообщения 


Номер 2
Какие утверждения о отдельном сервере балансироваки нагрузки Агента Mail.ru верны?

Ответ:

 (1) сервер смотрит какие frontend сервера активны и распределяет нагрузку на эти активные сервера 

 (2) работает по HTTP протоколу 

 (3) подключен напрямую к различным backend серверам 

 (4) пользователь попадает на сервер только при первоначальном подключении к сервису 

 (5) выдаёт клиенту, который послал запрос адрес и порт frontend сервера на который нужно подсоединиться клиенту 


Номер 3
Какие утверждения о сервисе mrimd Агента Mail.ru верны?

Ответ:

 (1) сервис mrimd написан на основе imagin 

 (2) это основной демон, обеспечивающий сервис для клиентов 

 (3) сервис mrimd обращается на различные backend сервера по http протоколу 

 (4) хранит статус каждого пользователя и обновляет его у клиентов 


Упражнение 8:
Номер 1
Какие сложности существуют для сервиса status Агента Mail.ru?

Ответ:

 (1) большие пиковые нагрузки при массовом переключении статуса пользователей, например, в конце рабочего дня 

 (2) необходимость держать открытыми большое количество соединений 

 (3) медленная работа сервиса из-за реализации его на perl  

 (4) используемая база Беркли DB не работает достаточно надёжно 


Номер 2
Какие утверждения про процедуру обновления сервиса верны?

Ответ:

 (1) при обновлении версии сервиса, некоторое время работают кластера с новой и старой версией ПО сервиса 

 (2) при обновлении версии сервиса, кластер с старой версией остаётся в работе фиксированное небольшое время, пока не станет ясно что новая версия работоспособна 

 (3) при обновлении версии сервиса, все вновь подсоединяемые клиенты подключаются на кластер с новой версией 

 (4) обновление версии ПО сервиса делается не чаще чем 1-2 раза в год 


Номер 3
Решения каких проблем сервиса Агент Mail.ru указаны верно?

Ответ:

 (1) HTTPS трафик сильно грузит CPU: решается увеличением количества серверов 

 (2) демоны на С/С++ фрагментируют память: решается использованием большого количество серверов 

 (3) поиск контактов по нескольким полям не может быть эффективно выполнен SQL базов данных: используется специализированный демон, который сам строит и использует индексы 

 (4) передача статусов пользователей требует большого количества установленных TCP/IP соединений: решается использованием специальных аллокаторов памяти 


Упражнение 9:
Номер 1
Каковы основные компоненты сервиса foto.mail.ru?

Ответ:

 (1) балансировщик 

 (2) status демон 

 (3) сервер авторизации 

 (4) frontend сервера на основер web-сервера imagin 

 (5) сервера хранения фотографий 


Номер 2
Каковы особенности фронтенд части сервиса foto.mail.ru?

Ответ:

 (1) фронтенд сервера забирают фотографии из хранилища картинок 

 (2) сложная часть работы (например, редактирование альбомов) реализована на perl 

 (3) фронтенд сервера на базе apache стоят за балансировщиком и nginx сервером 

 (4) фронтенд сервера сами занимаются авторизацией пользователей 


Номер 3
Каковы особенности backend части сервиса foto.mail.ru?

Ответ:

 (1) отдельная группа серверов занимается отдачей картинок 

 (2) для отдачи картинок служат сервера apache 

 (3) картинки (фотографии) хранятся в виде отдельных файлов на отдельных серверах хранения картинок, а индексы по картинкам хранятся в базе данных 

 (4) сервера отдачи картинок имеют файловый доступ к каталогам картинок 


Номер 4
Каким образом были решены проблемы, возникшие в ходе запуска и эксплуатации сервиса foto.mail.ru?

Ответ:

 (1) главная страница реально ходила в хранилища за топовыми фотографиями и начала тормозить: начали использовать пре-генерённую статическую страницу, которая обновлялась раз в минуту 

 (2) динамические страницы на perl перегружают сервис: проблема решена использование шаблонов и шаблонизаторов 

 (3) Беркли DB недостаточно стабильно работает: частично решено патчами базы 

 (4) Пользователь занял достаточно много места на диске и перестал ходить на сервис: аккаунт пользователя через месяц отсутствия удаляется 


Упражнение 10:
Номер 1
Какие данные сервиса blog.mail.ru хранятся в базах данных сервиса?

Ответ:

 (1) списки друзей 

 (2) посты и комментарии пользователей 

 (3) аватарки пользователей 

 (4) лента всех друзей 

 (5) авторизационные данные сервиса 


Номер 2
Какие утверждения насчёт архитектуры сервиса blog.mail.ru верны?

Ответ:

 (1) авторизация пользователей выполняется через почту  

 (2) фронтенд сервера на базе apache стоят за балансировщиком и nginx сервером 

 (3) фронтенд сервера - apache с perl 

 (4) посты и комментарии пользователей хранятся в виде файлов в каталоге пользователя 


Номер 3
Какие проблемы работы с базами данных возникают у сервиса blog.mail.ru?

Ответ:

 (1) перемещение пользователей между шардами очень дорого 

 (2) нестабильная работа MySQL приводит к частым сбоям 

 (3) большая нагрузка при добавлении пользователем комментариев 

 (4) аватарки пользователей хранятся в базе данных и это создаёт большую нагрузку 

 (5) большая нагрузка на таблицу с индексом всех записей 


Номер 4
Какие сложные технические проблемы необходимо было решить при разработке сервиса video.mail.ru?

Ответ:

 (1) хранение видео в базе данных 

 (2) разработка проигрывателя файлов на flash 

 (3) разработка перекодировщика видео в разных форматах для перекодировки его при загрузке 

 (4) работа с большими файлами, как при загрузке видео на сервис, так и при отдаче видео пользователям 

 (5) авторизация пользователя 


Упражнение 11:
Номер 1
Каковы особенности архитектуры сервиса my.mail.ru версии 1?

Ответ:

 (1) фронтенд сервера на базе apache и imagine стоят за балансировщиком и nginx сервером 

 (2) главная страница и часть тяжёлых страниц сервиса написана на С++ 

 (3) для первой версии просто визуально объединили сервера блогов, видео и фото 

 (4) авторизация пользователей выполняется через почту 


Номер 2
Какие проблемы были в архитектуры сервиса my.mail.ru версии 1 и каким образом они решались?

Ответ:

 (1) невозможность сложного поиска по графу связей между пользователями: был написан специализированный сервер графа 

 (2) база MySQL плохо работает на сложных запросах: пробовали использовать Oracle 

 (3) динамические страницы на perl перегружают сервис: проблема решена переписыванием страниц на С++ 

 (4) более высокая активность пользователей в соцсети чем в блогах даёт более тяжёлые нагрузки: используется отложенная обработка offline запросов 


Номер 3
В чём отличия последней версии my.mail.ru от начальных версий?

Ответ:

 (1) данные переехали в tarantul 

 (2) добавились сервисы анти-спама 

 (3) вместо базы MySQL используется база Oracle 

 (4) отдельный демон под работу с графом пользователем для поиска друзей-друзей и глубже 

 (5) широко используются самописные специализированные базы данных 


Упражнение 12:
Номер 1
Какие сервисы my.mail.ru используют шардинг базы?

Ответ:

 (1) opengraph 

 (2) silversearch 

 (3) mymail 

 (4) raker 


Номер 2
Какие утверждения о использовании базы tarantul в сервисе my.mail.ru верны?

Ответ:

 (1) в tarantul хранятся часто используемые поля анкеты, тела писем уведомлений, лайки 

 (2) изначально большинство демонов использует tarantul 

 (3) в tarantul хранится граф связи между пользователями сервиса 

 (4) новые демоны сервиса используют tarantul 


Номер 3
Какие утверждения насчёт сервиса queued, используемого в сервисе my.mail.ru верны?

Ответ:

 (1) это сервис очередей 

 (2) поддерживаются приоритизация 

 (3) при извлечении элемента из очереди, его можно заблокировать на некоторое время 

 (4) данные сохраняются на диске 

 (5) queued используется для посылки писем уведомлений на e-mail и очереди анти-спама 

 (6) queued используется для лайков и передачи полей анкеты пользователя 




Главная / Программирование / Проектирование высоконагруженных систем / Тест 100