Основные вопросы собеседования программиста для разработчиков Android (Java)

Памятки, которые помогут пройти собеседование на позицию младшего программиста! Добавляем больше…

1. Что такое переменная экземпляра?

Они объявлены в классе, но вне метода, конструктора или любого блока. Переменная экземпляра обычно ДОЛЖНА быть установлена ​​​​приватной, чтобы к ней могли получить доступ геттеры и сеттеры.

2. Что такое интерфейс?

Это набор констант и абстрактных методов. Он используется в другом классе с ключевым словом implement.

3. Что такое константа?

Переменная, значение которой нельзя изменить. Он объявляется ключевым словом «final».

final String sentence = "This sentence can't be changed."

4. Что такое абстрактный метод?

Метод без тела.

5. Что такое абстрактный класс?

Это класс, объявленный с ключевым словом abstract — он может включать или не включать абстрактные методы. Он используется другим классом через наследование.

6. В чем разница между абстрактным классом и интерфейсами?

7. Объясните концепцию ООП.

ООП — это способ мышления программирования, который может относиться к тому, как устроен мир.

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

Классы описывают объект, как план.

В объектно-ориентированном программировании есть 4 основных понятия. [Инкапсуляция, полиморфизм, наследование, абстракция]

8. Что такое класс?

Класс — это описание объекта или план. У каждого класса есть имена, и они используются для определения атрибутов (переменных) и поведения (методов).

9. Что такое инкапсуляция?

Скрытие данных/обертывание данных внутри класса. Переменные внутри класса сделаны закрытыми, поэтому доступ к ним возможен только внутри класса. Чтобы получить доступ извне, вам нужно сделать геттеры и сеттеры.

10. Что такое наследование?

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

11. Может ли класс иметь множественное наследование?

Нет. Класс может расширять только один родительский класс, но родитель может наследоваться в нескольких классах.

12. Что такое полиморфизм?

Имеющий множество форм. Когда классы связаны через наследование, каждый потомок может реализовывать одни и те же методы по-разному. И поэтому вызываемый метод может иметь разные результаты. Вы узнаете результат только во время выполнения.

13. Что такое перегруженный метод?

Метод, у которого есть другие методы с тем же именем, но их списки аргументов отличаются. Используется, когда вы хотите отправить разные параметры.

14. Что такое статический полиморфизм?

Статический полиморфизм можно описать как связывание во время компиляции или раннее связывание.

15. В чем разница между статической привязкой и динамической привязкой?

Статическая привязка Java происходит во время времени компиляции, тогда как динамическая привязка происходит во время времени выполнения. Примером статической привязки является перегрузка метода, а примером динамической привязки — полиморфизм.

16. Что такое агрегатный объект?

Агрегатный объект — это тот, который содержит другие объекты. Поскольку один содержит другой объект, это отношение «имеет-а». Например, класс «Дом» может содержать классы «Спальня», «Кухня», «Ванная».

public class Plane{
 
   private Passengers[] passengers = new Passengers() 
   //the rest of the Plane class
 }

17. Что такое пакет?

Группа связанных типов (классы, интерфейсы, перечисления и т. д.), обеспечивающая защиту доступа и управление пространством имен. Например, вам нужно импортировать java.lang, java.io для фундаментального программирования.

18. Что такое намерение?

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

19. Перечислите 3 аннотации Java.

@Override, @Deprecated и @SuppressWarnings

20. Что такое аннотация @Deprecated?

Отмеченный элемент устарел и больше не должен использоваться.

21. Что делает аннотация @SuppressWarnings?

Указывает компилятору игнорировать определенные предупреждения