Собеседование в Яндексе на школу менеджеров 2013 и ответы на вопросы анкеты
Jul 09, 2013 08:08
В этом году я снова "подавал документы" на поступление в школу менеджеров Яндекса и вновь неудачно. Поскольку Яндекс не хранит анкеты за прошлые годы, я решил сделать это за них, а заодно выкладываю и свои ответы на вопросы - должна же быть какая-то польза от потраченного времени. В моём случае отправленная анкета послужила поводом для очного общения в офисе Яндекса с командой образовательных проектов, но в саму школу я отобран не был. Согласно презентации HR директора Яндекса, на собеседование из примерно 300-от анкет попадает около шестидесяти претендентов, так что это не самый плохой результат. :)
Желающим там учиться рекомендую посмотреть все тематические лекции на events.yandex.ru, готовиться к собеседованию по темам, указанным в программе курса и хорошо знать специфику продукта, на котором вы бы хотели работать. В последнем письме счастья Яндекс посоветывал мне почитать вот эти книжки чтобы скрасить горький вкус поражения:
Скотт Беркун «Искусство управления проектами»
Фредерик П.Брукс. «Мифический человеко-месяц»
Том Демарко «Deadline. Роман об управлении проектами»
Дж. Ханк Рейнвотер «Как пасти котов»
На собеседовании мне были заданы следующие вопросы:
Почему я не могу определиться, выбирая между ролью программиста и менеджера?
Функции менеджера, зачем он вообще нужен?
Как определить что плоды твоей работы кому-то нужны?
Как решить разногласие с дизайнером, если нет руководителя к которому можно обратиться и гайдлайны тут не помощник? Открытый вопрос, самое длительное обсуждение.
Почему я не выполнил задание со звёздочкой и как бы выполнил сейчас
Сколько я потратил времени на выполнение тестового задания?
Какие есть у меня вопросы?
Ни один вопрос не вызвал у меня затруднений, на всякий случай в секции своих вопросов я спросил вариант ответа команды на открытый вопрос и не нашёл значительных расхождений со своим вариантом. Но, несмотря на это и прозвучавший на собеседовании комментарий о том, что они были впечатлены моими ответами на вопросы анкеты, я имею что имею. :) Итак, анкета в школу менеджеров Яндекса в 2013-ом году в формате вопрос-ответ:
Почему вас заинтересовала Школа менеджеров Яндекса и чего вы от неё ждете? Пожалуйста, ответьте развёрнуто.
Я уже работаю ИТ менеджером, но считаю что мне не хватает теоретического базиса и уникального опыта, которым обладают только лидеры индустрии, занимающиеся разработкой и внедрением в промышленных масштабах on the bleeding edge of technology. Рассчитываю что школа разовьёт меня в профессиональном плане и позволит двигаться дальше более технично.
Яндекс (судя по выступлениям на конференциях и семинарах) состоит из профессионалов и фанатов своего дела, менеджмент работы такой организации значительно отличается от “середнячков”. Это интересно.
В первую очередь от школы я ожидаю получения полезных знаний по темам обозначенным в программе, интересных задач и уникального опыта разработки проекта в формате яндекса.
Если мы по окончании теоретических занятий пригласим вас на стажировку в Яндекс, сможете ли вы проходить ее на условиях полной или частичной занятости (не менее 30 часов в неделю, но возможен гибкий график)?
Безусловно смогу, так как имею хорошие отношения с руководством на текущем месте работы. Если будет возможность полной занятости на время стажировки я выберу именно её (возьму отпуск).
Какие роли менеджера вам наиболее близки и интересны?[О ролях менеджеров с сайта Яндекса]
Яндекс создает и поддерживает множество проектов, подчас - принципиально разных. Соответственно, их менеджерам также приходится играть разные роли:
Менеджер-аналитик. Занимается анализом больших объёмов данных и написанием простых скриптов для обработки данных, разрабатывает несложные алгоритмы.
Менеджер процессов. Отвечает за планирование и контроль задач и сроков выполнения, оптимизирует процессы в команде.
Менеджер по продуктам. Формирует продуктовое видение и требования к новым продуктам, формулирует ключевые показатели эффективности и следит за их достижением, тесно взаимодействует с командой дизайнеров и разработчиков, чтобы реализовать и запустить продукт.
Менеджер по маркетингу продукта. Исследует пользователей и их потребности, анализирует рынок, формулирует требования к продукту, отвечает за запуск и продвижение продукта.
Менеджер-координатор. Занимается координацией людей, мотивирует, выстраивает общение между ними.
Технический менеджер. Разбирается в технологиях. Занимается построением и поддержкой инфраструктуры.
Менеджер интерфейсных проектов. Отвечает за проектирование и прототипирование интерфейсов, взаимодействие с дизайнерами.
Зачастую менеджеры Яндекса совмещают сразу несколько ролей. Если вам интересно примерить их - поступайте в Школу менеджеров Яндекса.
Наиболее близка и интересна мне роль менеджера интерфейсных проектов. Мне представляется что менеджер по продуктам в представленном списке скорее собирательная роль, состоящая из остальных. Именно эта роль мне наиболее интересна в перспективе, а в настоящий момент я так же выделяю для себя роль менеджера-координатора, так как люди - наиболее сложный и интересный в работе "инструмент" и в этой области у меня есть некоторый опыт.
Каким направлением (ссылка на перечень сервисов) в Яндексе вам бы хотелось заниматься? Какая из вакансий (ссылка список открытых вакансий) вам кажется самой интересной и почему?
Мне интересны карты, расписания, авто, почта, rss reader и, конечно же, поиск.
Мне интересна вакансия менеджера интерфейсов serp в связи с тем что, во-первых, работа тесно связана с интерфейсами, а во-вторых, Яндекс недавно представил островную выдачу и это кажется мне перспективным направлением и обещает большое количество интересной работы. Скорее всего serp - наиболее часто отображаемая страница Яндекса, почётно приложить к такому продукту свои руки и голову.
Мне так же интересна вакансия менеджера проектов Яндекс.Маркета, так как судя по описанию (и тому что я знаю о Яндекс.Маркете), это менеджмент разработки веб сервиса в более классическом понимании - веб формы, пользователи, пришедшие за получением конкретных услуг (размещение товаров, вывод статистики и тп). Здесь тоже интерфейсов, скорее всего, будет предостаточно.
Вакансия менеджера проектов, отдаваемых на аутсорсинг интересна своей специфичностью - внешние компании, более формализованное взаимодействие, меняющийся перечень контактов - в этом есть свой шарм. Хотя, конечно, сначала мне хотелось бы поработать именно внутри Яндекса.
Опишите имеющийся у вас опыт работы (место, должность, ваши обязанности и проекты). Отсутствие опыта не является препятствием для поступления в Школу. [мой ответ] Учась на пятом курсе я вышел на работу системным администратором в небольшую производственную организацию (около пятидесяти человек) с офисом в Москве и заводом в Тверской области. После шести месяцев испытательного срока я был назван заместителем генерального директор по ИТ и стал отвечать за всё, имеющее отношение к ИТ в этой организации. Работал там чуть больше трёх лет - установил сервера, свёл все компьютеры в единую локальную сеть (офисы соединил через VPN), проектировал расположение слаботочных коммуникаций в новом офисе и принимал работы, поднял внутреннюю почту и терминальный сервер, установил IP телефонию, систему слежения за производственным процессом и видеонаблюдения, завёл большинство сотрудников в управленческую конфигурацию 1С и обучил их, создал три сайта для разных типов продукции. Работать было очень интересно, так как компания в плане ИТ была в зачаточном состоянии и многое удалось переменить. Всё хорошо работало и дальше в масштабе этой организации развиваться было некуда.
Временами я руководил разработкой и разрабатывал сам простейшие сайты в формате фриланса, заказы шли с яндекс.директа, перечень (хоть и потерявший актуальность) работ находится здесь (ссылка).
После этого перешёл на текущее место работы - организация со связями в министерстве образования, курирующая самые разные ИТ проекты. Вначале работал менеджером по информационным технологиям, около года назад перешёл на позицию системного архитектора. Основные обязанности: написание технических требований к заказываем ИТ услугам и организация технической экспертизы выполненных поставщиками работ. Значимые проекты, в которых я принял активное участие:
написание технологической спецификации для электронных образовательных ресурсов (выполнено мной, используется в государственных заказах),
аудит работы ИТ департамента московского ВУЗа, определение перспективных направлений развития внутренних ИТ услуг и сервисов (мои обязанности: опросы специалистов, анализ требований, формирование технических заданий на работы, отбор исполнителей, приёмка работ),
разработка HTML+JS шаблона электронного образовательного ресурса и проектирование системы, собирающей в него свёрстанный html контент и медиа элементы (мои обязанности: проектирование, программирование, написание инструкций для верстальщиков, менеджмент работы с партнёрской организацией, обеспечивающей вёрстку и сборку, приёмочное тестирование).
Расскажите, пожалуйста, с какими сложными ситуациями в жизни, учебе или работе вы сталкивались и как вы их решали? Какие действия помогли вам разобраться с проблемой? [мой ответ] В институте на зачётной неделе как-то пришлось находится одновременно на двух зачётах, выручил друг отличник из другой группы потока. Приходилось так же встречаться с не совсем адекватными преподавателями и находить к ним подход (сидеть на первом ряду, ловить взгляд, просить принести дополнительные материалы на диске, специально делать глупую ошибку в ответе на вопрос билета, а потом упорно “искать” её во время очного ответа).
В прошлом году встал вопрос об оформлении на мать дома в глубинке Украины (наследство), в котором сейчас никто не живёт. Была неделя времени на старт процесса и тысяча долларов. Оформил доверенность, приехал на поезде в Киев, взял в аренду автомобиль, доехал до дома, взял копию завещания в администрации деревни и написал заявление у нотариуса. Теперь общаюсь с нотариусом по телефону, документы шлю почтой, а соседка, с которой я познакомился и жил ту неделю, смотрит за домом и обладает доверенностью на юридические дела по оформлению того дома в наследство. Процесс идёт до сих пор (бумажная волокита с подтверждением у российских властей), но в нужном направлении.
В этом году летал зарубеж, где нужно было активно передвигаться в рамках небольшого города в течение месяца. А в права в то время лежали в ГИБДД и в РФ я ездил по времянке, которая в иностранном государстве не имеет силы. Узнал что аэрофлот возит велосипеды за +50$ к билету в каждую сторону, купил сумку, разобрал его, подготовил к транспортировке и свозил с собой. Везде успел, сэкономил денег на аренде авто, размялся и даже немного загорел.
При внедрений ИТ систем в организации приходится сталкиваться с противодействием со стороны рядовых и не очень сотрудников. Это проблема решалась мной по возможности личным подходом, а на уровне руководителей подразделений, отстаивающих свои личные интересы - с помощью руководителя организации, которому иногда приходилось объяснять зачем я предпринимаю именно этот шаг.
Ниже представлена возрастная структура населения страны N, а также доля тех, кто использует Яндекс в каждой из категорий.
Моложе 20 лет: Доля населения - 20%, Используют Яндекс - 40%
От 20 до 50 лет: Доля населения - 40%, Используют Яндекс - 50%
Старше 50 лет: Доля населения - 40%, Используют Яндекс - 80%
Чему равна вероятность, что случайно выбранный пользователь Яндекса будет младше 20 лет?
Искомая вероятность равна отношению количества пользователей Яндекса младше 20 лет к общему количеству пользователей Яндекса всех возрастов. Количество пользователей Яндекса возраста <20 лет пропорционально произведению доли населения на долю пользователей в этой возрастной группе, т.е. 0.2*0.4*M, где M - всё население страны. Общее количество пользователей Яндекса равно сумме произведений долей населения на долю пользователей для каждой возрастной группы, то есть: 0.2*0.4*M+0.4*0.5*M+0.4*0.8*M = 0.6M. Осталось разделить одно на другое: 0.08M/0.6M = 2/15. Ответ: вероятность что случайно выбранный пользователь Яндекс будет младше 20 лет равна 2/15.
Предположим, Яндекс внес в страницу с результатами поиска некоторые изменения. Необходимо оценить, насколько они влияют на вероятность клика по одному из результатов на первой странице выдачи. Долгосрочные исследования показали, что до нововведений эта вероятность составляла 50 %. Сколько необходимо данных, чтобы оценить вероятность клика (после изменения) с точностью до одного процентного пункта с уровнем доверия не меньше 95% (можете считать, что 0,975 квантиль нормального распределения равна 2)? [мой ответ]
Пусть Mi - количество открытий страниц, где исследованная ссылка была кликнута. N - фиксированное и искомое количество испытаний. Вероятность клика p = /N. Согласно интегральной теореме Муавра-Лапласа P {Mi <= (p + 0,01)*N} = Ф((p+0,01)*N - N*p)/sqrt (N*p*q)), где q - вероятность “неклика”, равная 1-p.
P {Mi <= (p + 0.01)*N} = 0.95 + 0.025 = 0.975, где 0.95 это P {(p - 0.01)*N <= Mi <= (p + 0.01)*N}, а 0.025 это P {Mi < (p - 0,01)*N}.
Следовательно (0,01*N)/sqrt (N*p*(1-p)) = 2
0,0001*N/(p*(1-p)) = 4
N = 40000*(p - p^2).
Функция p - p^2 имеет максимум 0.25 в точке 0.5 на отрезке p от 0 до 1. Соответственно, взяв N = 10000 мы, независимо от полученного значения вероятности клика, будем иметь требуемую точность.
Есть второе решение:
Вероятность отклонения относительной частоты от постоянной вероятности в независимых испытаниях:
P(|m/n - p|<=e) примерно равна 2Ф*(e*sqrt(n/(p*q)), e = 0.01
p и q не известно, но максимуму функции p*q=p-p^2 равен 0.25
0.95= 2Ф(...) =>
0.01*sqrt(n/(p*q) = 1.96
n/(p*q) = 38416
n = 38416*p*q=> Nmax = 9604
Ответы немного отличаются из-за допущения в первом варианте решения что 0,975 квантиль нормального распределения равна 2 (на самом деле 1.96).
Пользователи ежедневно задают Яндексу миллионы вопросов. Как вы считаете, каким должен быть идеальный ответ поисковой системы по запросу [барселона]? Пожалуйста, нарисуйте схему первой страницы с результатами поиска, обоснуйте расположение блоков. Придумайте, пожалуйста, несколько критериев оценки эффективности, которые подтвердят, что ваш вариант лучше существующего. Предложенная мной схема, для сравнения - текущий на момент написания поста вариант Яндекса. [Пояснение к решению] Перед тем как приступить к выполнению задания я внимательно изучил всю информацию об “островной технологии” и строил своё решение на этой основе.
Барселона - довольно общий запрос. Анализ wordstat (регион Россия) и изучение выдачи yandex.ru(com), google.ru, bing.com, mail.ru, nimga.ru показывает что люди, набирающие слово “барселона” ищут информацию об одноимённом футбольном клубе, городе Испании и фильме. Поэтому первыми элементами на серпе я предлагаю показать именно эти уточняющие слова (футбольный клуб, город, фильм), дополняющие общий запрос до чёткой принадлежности к определённой теме.
Согласно анализу частоты запросов, содержащих слово “барселона” на wordstat, в 91% люди ищут информацию о футбольном клубе, в чуть более 4% - о городе в 1% - о фильме. При суммировании не получается 100 из-за присутствия общих запросов, вроде “барселона видео”. С учётом месячной популярности запроса “барселона” выходит что 37 тысяч людей в день, набивая это слово, ожидают увидеть информацию о футбольном клубе,1800 человек - о городе и 450 - о фильме (оценки приблизительные). Ясно что эти цифры не сопоставимы и на первый взгляд кажется что первую страницу выдачи стоит полностью заполнить результатами с информацией о футбольном клубе.
Отсутствие информации о крупном городе Европы вызовет у почти 2 тысяч человек в день серьёзное недоумение вроде “Как же так, получилось что яндекс всё знает о футболе, но не слышал о европейском городе?”. При этом интересы 37 тысяч людей, ищущих информацию о футбольном клубе с одной стороны поддаются систематизации, а с другой - по одному слову невозможно точно угадать что им нужно, так что некоторая часть из них даже при 10 из 10 результатов про футбольный клуб уйдёт с первой страницы неудовлетворённой.
Анализ запросов о футбольном клубе, содержащих искомое слово, позволяет оценить информацию, которые люди чаще всего ищут внутри данной темы. Это результаты и обзоры матчей (в основном недавние и с известными командами), трансляции и видео матчей, информация о текущих турнирах, общая информация о команде. Предоставив данную информацию или, как минимум, ссылки на неё на первой страницы (желательно - в верхней её части), мы удовлетворим бОльшую часть пользователей и сможем показать результаты о городе и, возможно, даже фильме без ущерба для основной массы пользователей.
Информацию о недавних прошедших и будущих матчах я считаю целесообразным совместить в едином информационном блоке, где будут представлены участники матчей в порядке “хозяева - гости”, название чемпионата, дата проведения, результат матча и ссылки на поиск более конкретной информации. Кроме выбора по дате важно отображать матчи с известными в РФ командами, даже если они проводились относительно давно или запланированы нескоро. Ссылки (прогнозы, трансляция, обзор, видео) могут быть представлены как партнёрами, так и вести на поиск с уточнёнными запросами. По клику мыши на счёт желательно выводить небольшую табличку о минуте матча и авторе гола. Этот блок я расположил первым.
Существует большая вероятность что пришедшим пользователям будут интересны последние новости от крупного ньюсмейкера “ФК Барселона”. Представлять каждую новость отдельной строкой мне показалось роскошью (и размыванием выдачи), поэтому я решил совместить несколько последних (интересных) новостей в едином блоке о списком новостных заголовков. Если пользователя заинтересует заголовок, он может открыть дополнительный блок с анонсом или сразу перейти на источник. Этот блок я расположил вторым.
Источники, содержащие большое количество качественной информации по теме (да ещё и отлично представленной), такие как sports.ru или еврофутбол имеет смысл расположить сразу после этих блоков вместе с ссылками на основные информационные подразделы этих сайтов по искомой команде. В большинстве блоков с результатами я использую ссылки на подтемы для того чтобы направить пользователя с общим запросом по нужному именно ему направлению (при этом слежу чтобы они по возможности не повторялись). Поскольку, на мой взгляд, значительная часть информации о команде на этих сайта дублируется, считаю что выводить их сразу друг за другом не целесообразно.
Так как данные три блока, на мой взгляд, покрывают большую часть ненаправленного интереса пользователей о футбольном клубе, считаю возможным на четвёртом месте вывести информационную карточку города Барселоны. Даже фанатичные болельщики одноимённой футбольной команды воспримут её появление здесь с пониманием.
Яндекс в первую очередь - поисковая система, а не энциклопедия, но наличие стандартизованных информационных карточек по популярным и типовым запросам-объектам, на мой взгляд, положительно скажется на удовлетворённости пользователей. В выдаче по нашему запросу я предлагаю вывести две таких карточки - про футбольный клуб и про город, описание и ссылки на основные информационные разделы можно взять с википедии, то есть такие блоки заменят в выдаче ссылки на википедию (которые часто итак присутствуют на первой странице), но предложат пользователю больше релевантной информации сразу. В частности - в карточке города я разместил не только описание и ссылки, но и карту (с привязкой к соседним странам и городам) вместе со списком фотографий из яндекс.картинок. Ссылки на подтемы (в зависимости от популярных интересов пользователей) можно взять как из википедии, так и формировать уточнённым запросом к поиску.
На пятом месте я расположу один из наиболее популярных сайтов болельщиков футбольного клуба, так как на страницах его форума можно найти практически любую информацию и соответствующие комментарии.
На шестом - помещу информационную карточку футбольного клуба со ссылками на википедию. Её невысокое место объясняется относительно низким интересом пользователей к общей информации о команде по сравнению с результатами матчей, трансляциями и текущими чемпионатами. Иконку википедии предлагаю сделать большего размера, чтобы обращать внимание пользователей на официальные и качественные (в широком смысле это слова) сайты - дополнительная возможность навигации по результатам с помощью акцентов.
Седьмое место - второй популярный сайт болельщиков футбольного клуба. Некоторые пользователи уже могли пользоваться этим сайтом и обоснованно ожидать его появления в результатах выдачи. Поскольку на уже приведённых сайтах есть практически любая информация о футбольном клубе считаю что теперь имеет смысл представить город.
Анализ поисковых запросов, связанных с городом Барселона позволяет определить основные интересы пользователей внутри подтемы: достопримечательности, погода, аэропорт, расстояние, отзывы, отели. Учитываю их при отборе и отображении блоков по этой теме.
Восьмое место - качественный агрегатор туристической информации tourister.ru с широким охватом и хорошим представлением контента.
Девятое место - wikitravel с более энциклопедической информацией о городе.
Десятое - официальный сайт футбольного клуба Барселона на английском языке.
Одиннадцатое - площадка туристических операторов tury.ru по направлению Барселона, Испания c описанием туров и отзывами путешественников.
Двенадцатое - ссылка на социальный сервер с отзывами по книгам и фильмам, ссылками на сами фильм и трейлеры, описания, фотографии и списки актёров и тп. Выбирал между имхонет и кинопоиском, но выбрал имхонет за лучшее (на мой взгляд) представление нужной “среднему” пользователю информации сразу.
В левом вертикальном блоке сервисов оставил только те, которые могут предложить релевантную информацию по текущему запросу.
Отмечу что выдача и её порядок может меняться в зависимости от региона пользователя (популярных в регионе интересов), анализа его предыдущего поведения на Яндексе и наличия актуальных матчей и новостей.
Критерии оценки эффективности работы нового serpа предлагаю следующие:
вероятность “неклика” на результатах первой страницы,
средняя “высота” удовлетворившего пользователя клика (с учётом следующих страниц),
количество “холостых” кликов на результатах до удовлетворившего,
время, проведённое на странице, до удовлетворившего пользователя клика,
время, потраченное пользователем на странице до уточнения запроса,
кликабельность объявлений Директа.
Допустим, ваша концепция из предыдущего вопроса была одобрена. Вас назначили менеджером проекта и выделили разработчиков на его реализацию. Пожалуйста, опишите ваши действия на ближайшую неделю после утверждения проекта. [мой ответ] В первую очередь встречусь с командой, обсужу задачу и её видение на текущий момент, выявлю вопросы, требующие проработки со стороны каждого. Определим минимальный набор функционала, который мы можем включить в первую итерацию продукта, исходя из имеющегося времени, понимания задачи и возможностей сотрудников. Распределим имеющиеся задачи (с пониманием что они будут несколько меняться), определим сроки. Внесу обсуждённые задачи в tasttracker. Если работать будем в разных местах, то встречаться будем каждый день, постоянное присутствие в tasktrackeре (через уведомления) и почте очевидно.
Проведу повторный (уточняющий) анализ интересов пользователей с этим и похожими запросами, возможностей персонализации результатов поиска и регионального таргетинга с помощью внутренних инструментов компании.
Изучу внутреннюю вики (или другую документацию) по работе с поисковыми интерфейсными модулями, их место в общей поисковой системе, требования к разработке и взаимодействия с другими системами.
Изучу доступные метрики и функционал оценки эффективности новых поисковых интерфейсов для чёткого понимания (и установки) измеримых критериев успешности.
Встречусь с руководителем всего поиска (или соответствующего отдела), уточню его требования к проекту и иные вопросы, которые не смог выяснить из документации, вики и встречи с командой.
Обзвоню несколько возможных партнёров по совместной разработке островов (sports.ru, еврофутбол и тп), встречусь с заинтересованными сторонами. Обсудим их видение продукта, сложности в реализации, помогу оценить их “профит” от участия в проекте.
Встречусь с командой разработчиков для мобильных устройств для понимания их требований к продукту для обеспечения единого (по возможности) функционала и внешнего вида продукта на всех платформах.
Встречусь со службой, отвечающей за ресурсы для совместной оценки необходимых в будущем ресурсов под функционирование проекта.
Конкретизирую своё видение задачи, оформлю их в более подробном виде (подобие ТЗ). Обсудим с командой необходимость, объём и формат написания документации, распределю роли написания такой документации (если возможно - после завершения работ по непосредственной разработке).
Обсужу с командой результаты работы и возникшие вопросы, представлю на обсуждение псевдоТЗ и критерии измерения эффективности проекта. Обсудим вопросы к контентным партнёрам. По результатам встречи синхронизируюсь с tasktracker’ом.
Будет очень круто сделать всё это за неделю. :)
Допустим, вы запустили свой проект. Теперь вам нужно отметить заслуги всех его участников в отчётной презентации. Соберите 20 человек (они будут играть роль вашей команды) и попросите их построиться «звездой». Потом сделайте фотографию этой звезды с верхнего ракурса. Вы должны находиться в её центре. Приложите получившийся кадр.
Это была задача, не обязательная к выполенинию, но учитвающаяся "при прочих равных". Я её не выполнял.
P.S. Я думаю что причина моих провалов хорошо описана здесь в тридцати секундах. И немного здесь.