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

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

Разработчик мобильных приложений под Android

Мобильные сервисы — активно развивающееся направление в Яндексе. Помимо прочего оно включает в себя разработку приложений для смартфонов.

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

Обязательно:

  • опыт программирования на Java от 2 лет;

  • опыт разработки Android-приложений от года;

  • знание Android SDK 1.x, 2.x;

  • опыт параллельного и многопоточного программирования;

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

  • опыт использования JNI или Android NDK;

  • опыт разработки сетевых приложений как на уровне сокетов, так и на уровне http.

Желательно:

  • опыт размещения собственного приложения в Android Market;

  • опыт разработки с использованием OpenGL;

  • знание распределенных систем контроля версий (git);

  • опыт работы в команде.

Условия

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

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

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

     

    Сколько объектов доступно для сборщика мусора на момент вызова System.gc()?

    public class GCTest {
        static class A {
            private String myName;
            public A(String myName) {
                this.myName = myName;
            }
        }
    
        public static void main(String[] args) {
            A a1 = new A("a1");
            A a2 = new A("a2");
            ArrayList list = new ArrayList();
            list.add(a1);
            A[] mas = new A[2];
            mas[0] = a2;
            a2 = a1;
            clear(mas);
            a1 = null;
            a2 = null;
            System.gc();
            // дальше идет какой-то код
            ...
        }
    
        private static void clear(A[] mas) {
            mas = null;
        }
    }
    


    Перечислите все проблемы, которые вы видите в данном коде:

    public class Generator {
    private static final Map<byte[], byte[]> cache = new HashMap<byte[], byte[]>();
    
    public static byte[] generate(byte[] src) {
        byte[] generated = cache.get(src);
        if (generated == null) {
            synchronized (cache) {
                generated = cache.get(src);
                if (generated == null) {
                    generated = doGenerate(src);
                    cache.put(src, generated);
                }
            }
        }
        return generated;
    }
    
    private static byte[] doGenerate(byte[] src) {...}
        // ...
    }
    

    Имеются две задачи: Task 1 и Task 2. Стек Activity для Task 1: A,B,C,D; Стек Activity для Task 2: X,Y,Z.

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

    1. Как будет выглядеть стек Activity для задач. Например, Task 1: A,B,C,D; Task 2: X,Y,Z;

    2. Историю того, как будут изменяться стеки при нажатии кнопки BACK, пока не возвратимся в Home screen. Например: A,B,C,D - back -> A,B,C -back -> A,B - back -> A - back -> Home screen;

    а) У всех Activity установлен launchMode="standard". В текущий момент отображается Activity Z. Из Activity Z отправляется Intent на открытие Activity D.

    б) У всех Activity установлен launchMode="standard", но только у Activity D установлен launchMode="singleTop". В текущий момент отображается Activity Z. Из Activity Z отправляется Intent на открытие Activity D.

    в) У всех Activity установлен launchMode="standard", но только у Activity D установлен launchMode="singleTask". В текущий момент отображается Activity Z. Из Activity Z отправляется Intent на открытие Activity D.


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

     
    Пожалуйста, укажите, где вы живёте

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

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

     

     

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

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

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

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

    Стажировка

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

    Памятка

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

     

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

    ruRu