Чем отличаются inline функции от обычных функций и в чем их преимущества?
Inline функции — это функции, которые компилятор пытается заменить непосредственно в месте вызова, а не вызывать как обычную функцию.
Читать ответПодготовка к интервью
67 вопросов с собеседований в Ozon Fresh
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Ozon Fresh. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, android, kotlin.
Каталог
Inline функции — это функции, которые компилятор пытается заменить непосредственно в месте вызова, а не вызывать как обычную функцию.
Читать ответВ Android механизм Intent используется для передачи сообщений между компонентами приложения или между разными приложениями. Intent может инициировать следующие действия:
Читать ответОсновная цель расширяющих функций (extension functions) — добавить новые методы к существующим классам без необходимости наследования или изменения исходного кода класса.
Читать ответВ языке Kotlin ключевое слово object используется для объявления синглтона — объекта, который создаётся один раз и существует в единственном экземпляре.
Читать ответВ контексте Dependency Injection (DI) в Android (например, с Dagger или Hilt) аннотации @Provides и @Binds используются для указания, как создавать зависимости, но отличаются по способу и применению:
Читать ответЖизненный цикл View в Android включает несколько ключевых этапов:
Читать ответСоздать интерфейс в одном фрагменте:
Читать ответВременная сложность добавления элемента в ArrayList обычно амортизированно O(1). Это связано с тем, что:
Читать ответВ Android существуют несколько основных типов Intent, которые используются для разных целей:
Читать ответДа, в Java (и, соответственно, в Android) можно создать объект без присваивания его переменной. Такой объект называется анонимным и может использоваться, например, для передачи в метод или для однократного использования.
Читать ответDagger — компиляционно-временный фреймворк для инъекции зависимостей, основанный на аннотациях и кодогенерации. Dagger генерирует код, который выполняет инъекцию зависимостей во время компиляции.
Читать ответДля создания собственного пользовательского компонента вида (View) в Android обычно расширяют один из базовых классов:
Читать ответ