Вопросы на собеседование на позицию Android Developer

Вопросы на собеседование на позицию Android Developer

@dwajot

Первое Собеседование.

1.      В чем заключается принцип полиморфизма?

2.     Устройство HashMap (как вставляются элементы, когда возникают коллизии и как их решать).

3.     Жизненный цикл активити.

4.     Жизненный цикл фрагмента.

5.     4 Основных компонента андроид.

Второе Собеседование.

1.      Принципы ООП.

2.     Иерархия исключений (все уровни абстракции).

3.     Как обрабатываются исключения?

4.     Иерархия коллекций (все уровни абстракции).

5.     Суть абстракции.

6.     Инструменты асинхронности в андроид.

7.     Чем Looper отличается от AsyncTask?

8.     Написать класс singleton.

9.     Сервисы (как создаются, в каком потоке выполняются).

10.  Написать все способы передачи информации с сервиса в активити.

11.   Принцип работы Handler.

12.  Преимущества работы с ResyclerView.

13.  Как бы ты спроектировал приложение клиент для VK.

Четвертое собеседование.

1.      Принципы ООП.

2.     В чем заключается принцип полиморфизма?

3.     Жизненный цикл активити.

4.     String (mutable или immutable, так же когда не желательно использовать).

5.     AsycTask (основные методы, как передать информация на UI).

6.     В чем отличия между Internal и External memory в андроид?

7.     ListView рассказать преимущества над LinerLayout.

8.     ResyclerView (как хранятся элементы во ViewHolder, сколько хранится элементов если на экране отображается 10 штук, а список на 100 эл).

9.     Можно ли перегружать конструктор в фрагменте?

10.  Можно ли создавать конструктор абстрактного класса?

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

12.  Может ли обычный класс содержать абстрактные методы?

13.  Коды HTTP запросов и рассказать что какая группа означает.

14.  Чем отличается GET от POST запроса?

15.  Каким образом можно связать таблицы в SQL?

16.  Broadcast receiver (способы регистрации, можно ли отследить изменения включения в телефоне).

17.  Как создать сервис, который не будет уничтожен при нехватке оперативной памяти?

18.  Rest API (использовал ли на практике?).

19.  Паттерн MVP (реализация и преимущества использования).


Пятое собеседование.

1.      Написать любую тебе известную сортировку массива данных.

2.     Как бы ты загрузил в андроид приложение JSON на 500к элементов?

3.     Как бы ты этот JSON записал в БД?

4.     Как 500к элементов отображать пользователю в списке?

5.     В чем преимущества Realm по отношению SqlLite?

6.     String, StringBulider, StringBuffer – отличия.

7.     Что означает эта конструкция – private final Object lock = new Object(); synchronize (lock) {}

8.     В чем отличия паттерна MVC и MVP?

9.     В чем преимущества использования Loaders?

10.  Обвертки в java – что из себя представляют и зачем используются.

11.   Как можно произвести синхронизацию в java – все известные тебе способы.

12.  Создание своих исключений – когда применяется и зачем.

13.  Как пробросить несколько разных видов исключений в другой метод с возможностью их там интерпретировать?

14.  Опиши структуру своего проекта – как взаимодействуют между собой основные компонеты.

15.  Сколько в андроид выделяется памяти для одного приложения?

16.  Если объекты ссылаются друг на друга, то удалит ли их сборщик мусора?