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

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

Разработчик сервиса Яндекс.Музыка

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

Требования

  • отличное знание Core Java;

  • знание классических алгоритмов и структур данных;

  • опыт использования MySql, Oracle или других реляционных СУБД;

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

  • умение тестировать и документировать собственный код и работать с чужим кодом.

Плюсами будут

  • любовь к музыке;

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

  • знание таких языков программирования, как Python, Clojure, C++;

  • знакомство с функциональным стилем программирования;

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

  • умение быстро сохранять и раздавать терабайты данных.

Условия

    Вакансия открыта для кандидатов из городов России и СНГ, готовых самостоятельно переехать в Москву.

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

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

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

     

    Какие проблемы Вы видите в этом коде?

    public abstract class Digest {
          private Map<byte[], byte[]> cache = new HashMap<byte[], byte[]>();
     
          public byte[] digest(byte[] input) {
              byte[] result = cache.get(input);
              if (result == null) {
                  synchronized (cache) {
                      result = cache.get(input);
                      if (result == null) {
                          result = doDigest(input);
                          cache.put(input, result);
                      }
                  }
              }
              return result;
          }
     
          protected abstract byte[] doDigest(byte[] input);
      }
    

    Какие из следующих стандартных контейнеров позволяют найти в них элемент (по его значению) за O(ln(n))?


    Напишите реализацию класса с lock-free методом BigInteger next(), который возвращает элементы последовательности: [1, 2, 4, 8, 16, ...]. Код должен корректно работать в многопоточной среде.


    Есть таблицы:

    CREATE TABLE tracks (
      id INT NOT NULL AUTO_INCREMENT,
      name VARCHAR(255) NOT NULL,
      PRIMARY KEY (id)
    )
    
    CREATE TABLE track_downloads (
      download_id BIGINT(20) NOT NULL AUTO_INCREMENT,
      track_id INT NOT NULL,
      download_time TIMESTAMP NOT NULL DEFAULT 0,
      ip INT NOT NULL,
      PRIMARY KEY (download_id)
    )
    
    Напишите запрос, возвращающий названия треков, скачанных более 1000 раз.

    Каких возможностей, присутствующих в других языках программирования, вам больше всего не хватает в Java?


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

     

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

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

     

     

    Нас уже больше 3500 человек

    Но интересных задач гораздо больше, чем нас

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

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

    Стажировка

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

    Памятка

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

     

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

    ruRu