воскресенье, 4 ноября 2007 г.

Реальные примеры.

Всегда думал, что учится и даже читать теорию лучше на конкрентых примерах. Чем более жизеный пример будет, тем лучше.


Вот нашел несколько таких примеров на странице вакансий Яндекса – это набор вопросов с описание конкретной ситуации. Надо будет позже проработать каждый вопрос отдельно (буду после этого считать себя умным).



1) На машине установлена операционная система FreeBSD, система занимает 10 ГБ. Диск 18 ГБ. Есть еще один диск размером 18 ГБ.
Можно ли на эту машину положить файл в 25 ГБ? И если можно, то как?


2) У Вас почта хранится на сервере в Cyrus IMAP. Объем данных 200 ГБ.
Как Вы будете решать задачу резервного копирования такого сервера?


3) Вам нужно, чтобы веб-приложение, которое работает на сервере Apache, могло использовать авторизацию в Windows-домене.
Возможно ли такое, если возможно, то как?


4) Вы работаете с СУБД MySQL. У Вас настроена репликация с одного сервера на другой. Мониторинг показывает, что репликация не работает уже несколько часов.
Как Вы будете чинить не работающую репликацию?


5) В http.conf сервера Apache написаны следующие строчки:
RewriteCond %{HTTP:User-Agent} "(^Teleport Pro)|(^libwww)|Email"
RewriteRule .* - [F] Что они означают?


6) Перед Вами встала задача установить операционную систему FreeBSD на 50 серверах за один день.
Как Вы решите эту задачу?
Можно ли организовать на одной машине (в случае, если MTA sendmail) прием и различную обработку писем для нескольких разных доменов? И если можно, то как?


7) Перед Вами встала задача выбора антивирусной программы для почтового сервера.
Расскажите, какую программу Вы выберете и почему; как будете оценивать качество ее работы?


8) Как импортировать существующую ветку из CVS в SVN в определенный каталог репозитория?


9)Что напечатает программа?
#!/usr/bin/perl


$a = "0";
if ($a) {
print "A";
} else {
print "B";
}


10) В логе Вы увидели надпись:
/kernel: proc: table is full
Что она означает и что надо делать, чтобы она не возникала?


11) Перед Вами встала задача завести пользователя на 50 серверах.
Как Вы решите эту задачу?


12) Как можно посмотреть содержимое ip-пакетов, приходящих на хост test.yandex.ru?


13) У вас на сервере установлена операционная система FreeBSD. Одна из программ периодически падает с сообщением "Segmentation Fault", но core файлов не оставляет.
Как получать core-файлы в директории /var/tmp/core?


14) Что напечатает программа?


#!/usr/bin/perl


$what = "bird";
$sentence = "Every good bird does fly.";
if ($sentence =~ /\b$what\b/) {
    print "The sentence contains the word $what!\n";
} else {
  print " The sentence not contains the word $what!\n";
}


Вот все вопрсы, что я для себя выбрал. Еще заинтересовали требования к системным архитекторам, которые предъявляет Яндекс для сосикателей работы:




Расскажите про проект, который вы спроектировали исходя из условий, что он должен работать по схеме 24x7x365? Каково его назначение, какое количество серверов было?


Кратко опишите, каким образом обеспечивалась отказоустойчивость проекта. Например, в ситуации физического выхода одного сервера из строя (как в этом случае сохранялись данные, и обеспечивалась бесперебойная работа)?
Расскажите, как вы внедряли новые версии программного обеспечения на проект?


Перед вами встала задача, отдавать статический контент (по схеме 24x7x365) достаточно быстро (< 0,05 сек на страницу). При этом на сервисе ежедневно бывает примерно 20 млн хитов. Кратко расскажите, как вы будете решать эту задачу. Обоснуйте решение.


Перед Вами встала задача спроектировать хранилище писем для проекта Яндекс.Почта. Объем хранилища может достигать нескольких терабайт. Кратко расскажите, какое решение вы предложите и почему.


Перед Вами встала задача бэкапить, работающую по схеме 24х7х365 СУБД MySQL. Объем базы данных измеряется десятками гигабайт. Кратко расскажите, какое решение вы предложите и почему.


Расскажите о Вашем опыте системного программирования. Например, что и в каком драйвере вы пропатчили или какой драйвер вы написали. Опишите достигнутые результаты.


Всегда было интересно зать какие требования предоставляют такие большие ИТ компании как, в данном примере, Яндекс.

Комментариев нет: