ПоискПочтаКартыМаркетНовостиСловариБлогиВидеоКартинки
Войти

Работа в Яндексе

Старший разработчик Почты

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

Яндекс.Почта входит в тройку самых крупных сервиcов электронной почты в рунете. Более миллиона посетителей в день получают и отправляют более 12 миллионов писем.

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

Требования:

  • год или более опыта проектирования и разработки высокопроизводительных и отказоустойчивых систем с количеством серверов более 100;

  • уверенный опыт работы с C и C++, Oracle и MySQL;

  • знание тонкостей интернет-протоколов (TCP/IP, HTTP, SMTP, POP3 и т. д.);

  • опыт разработки многопоточных приложений и проектов с большой нагрузкой.

Желательно:

  • умение разбираться в коде и архитектуре больших сложных систем;

  • умение объяснять свои архитектурные решения и аргументировать их преимущества.

Условия:

    Работа в московском офисе Яндекса полный рабочий день.

    Подробнее об условиях работы в Яндексе

    Продемонстрируйте свои знания

     

    Вы пишете веб-сервер, который сможет обрабатывать более 1 000 коннектов.

    Для мультиплексирования соединений с клиентом вы будете использовать:


    Такой код:

    
    
    if (data_ptr == NULL) {
            pthread_mutex_lock(&data_mutex);
            if (data_ptr==NULL) {
                    data_ptr=initialize_data();
            }
            pthread_mutex_unlock(&data_mutex);
      }
    
    
    

    Если не обращать внимания на проверку возвращаемых значений, то этот код:


    Нужно написать программу, которая должна просканировать 327 680 портов на разных компьютерах в интернете. Программа должна использовать обычный Socket API. На компьютере, где будет запускаться эта программа, нет ограничений на число дескрипторов, процессов и пр. Он имеет очень быстрый и неограниченный канал в сеть. На нём есть только один TPC/IP-интерфейс. Сканирование одного порта занимает минимум одну секунду.

    Эти порты можно просканировать минимум


    Есть пример SMTP сессии (S — smtp сервер, С — клиент):

    S) 220 mail.yandex.ru sendmail ready at Wed, 6 Dec 2006 18:27:28
         C) EHLO mail
         S) 250-mail.yandex.ru expected "EHLO mail.yandex.ru"
         C) MAIL FROM:<>
         S) 250 2.1.0 Sender syntax Ok
         C) RCPT TO:<root@mail.yandex.ru>
         S) 250 2.1.5 Recipient address syntax Ok; rcpt=<root@mail.yandex.ru>
         C) DATA
         S) 354 Start mail input; end with <CRLF>.<CRLF>
         С) Текст письма
         С) .
         S) 250 2.6.0 Message accepted; S1811558AbTLXPgd
    
    
    

    Может ли такое быть на самом деле?


    Укажите самую масштабную систему, которую вы спроектировали. Каково ее назначение, какое примерное количество серверов?


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


    Расскажите нам о себе

     

    Пожалуйста, укажите код города

     
    ОтправитьОчистить

     

     

    Мы постоянно растем и ищем талантливых людей

    У нас хорошая компания не только для обсуждения работы

    Коротко о Яндексе

    Все, что вы хотели бы знать о компании перед тем, как идти к нам работать

    Стажировка

    В результате вы сможете узнать Яндекс изнутри и, если вам понравится, устроиться на постоянную работу

    Памятка

    Кто такой менеджер проектов Яндекса и как им стать

     

    Если вы опытный специалист и хотели бы работать в Яндексе, но не нашли для себя подходящей вакансии, не отчаивайтесь, а напишите нам. Вдруг мы договоримся?

    ruRu