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

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

Разработчик Яндекс.Метрики (Perl/MySQL)

Яндекс.Метрика — инструмент веб-аналитики для оценки посещаемости сайтов, анализа поведения пользователей и эффективности рекламных усилий. Вам предстоит обрабатывать и отображать огромные объёмы данных, обмениваться данными с другими подсистемами, проектировать отказоустойчивые дублируемые системы, создавать и совершенствовать алгоритмы анализа информации.

Требования:

  • хорошее знание Perl;

  • опыт работы с базами данных (предпочтительно MySQL);

  • понимание HTML/JavaScript;

  • опыт работы с большими объёмами данных (как на уровне базы данных, так и на уровне скриптов);

  • ответственность и аккуратность;

  • умение разбираться в чужом коде и желание работать в команде.

Желательно (если вы этого не знаете, ничего страшного, но готовьтесь все это быстро изучить):

  • svn;

  • apache, mod_perl;

  • Template-Toolkit, LWP::*, SOAP::Lite;

  • опыт написания юнит-тестов;

  • опыт разработки под Unix;

  • знание сетевых протоколов (TCP, HTTP).

Условия

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

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

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

     

    Что выведет программа?

    
    print join ' ', sort reverse qw/6 10 3/;
    
    

    Что выведет программа?

    
    print "There's more than one way to do it!" =~ /\s(?:.*\s)?(\w+?)/;
    
    

    Что неправильно в программе, подсчитывающей число строк и слов в файле? (аналог стандартной программы wc, словами считаем последовательности непробельных символов, т.е. \S) Что можно улучшить?

    
    open F, $ARGV[0] || die $!;
    my @lines = <F>;
    my @words = map {split /\s/} @lines;
    printf "%8d %8d\n", scalar(@lines), scalar(@words);
    close(F);
    
    

    Написать программу на Perl, которая получает первым аргументом командной строки имя tab-separated файла и записывает его содержимое в таблицу БД. Таблица создана таким запросом:

    
    create table banners (
        banner_id int unsigned not null primary key,
        title varchar(200),
        url varchar(4000)
    );
    
    

    В файле содержатся строки, состоящие из этих же полей в таком же порядке.


    Есть таблица с баннерами

    
    create table banners (
        banner_id int unsigned not null,
        cond_id int unsigned not null
    );
    
    
    и таблица с условиями показа
    create table conditions (
        cond_id  int unsigned not null,
        condition text
    );
    
    

    Напишите SQL запрос, который выбирает cond_id, на которые либо ни один баннер не ссылается, либо ссылается более одного баннера. Какие индексы можно создать, чтобы запрос работал быстрее?


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

     

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

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

     

     

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

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

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

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

    Стажировка

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

    Памятка

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

     

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

    ruRu