cookie

Utilizamos cookies para mejorar tu experiencia de navegación. Al hacer clic en "Aceptar todo", aceptas el uso de cookies.

avatar

Kotlin | Вопросы собесов

Разбираем вопросы с собеседований на Android разработчка. Kotlin / Java Сайт: easyoffer.ru Реклама: @easyoffer_adv

Mostrar más
Publicaciones publicitarias
1 483
Suscriptores
+124 horas
+617 días
+45430 días

Carga de datos en curso...

Tasa de crecimiento de suscriptores

Carga de datos en curso...

Что такое dp ? Спросят с вероятностью 13% dp означает "density-independent pixels" или "пиксели, не зависящие от плотности". Это виртуальная единица измерения, которая используется для обеспечения одинакового визуального размера элементов пользовательского интерфейса на экранах с различной плотностью пикселей. Это важно, поскольку устройства Android могут иметь различные размеры и разрешения экранов, и использование dp помогает создать консистентный пользовательский интерфейс на всех этих устройствах. Как он работает? 1️⃣Базовый расчёт: Базовая логика такова, что 1 dp равен одному пикселю на экране с плотностью 160 точек на дюйм (dpi). Это плотность соответствует "среднему" уровню, который называется "mdpi" в терминах Android. На таком экране: ✅1 dp = 1 px 2️⃣Масштабирование на других устройствах: На устройствах с более высокой или ниже плотностью экрана dp масштабируются соответственно: ✅На устройстве с плотностью 320 dpi (high density, hdpi), 1 dp = 2 px. ✅На устройстве с плотностью 240 dpi (high density, hdpi), 1 dp = 1.5 px. ✅И так далее. Зачем его использовать? Цель использования — обеспечить, чтобы элементы интерфейса (как размеры, так и отступы) выглядели одинаково на разных устройствах, несмотря на физические различия в размерах экранов и их разрешениях. Это позволяет создавать приложения, которые хорошо выглядят и функционируют на множестве устройств без необходимости перепроектирования интерфейса под каждое конкретное устройство. При определении макета в XML-файлах Android вы можете указать размеры в dp, чтобы обеспечить независимость от плотности:
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click me!"
    android:padding="16dp" />
В этом примере отступы вокруг текста в кнопке будут иметь ширину 16 dp. Это означает, что кнопка будет иметь достаточный отступ, который визуально будет выглядеть одинаково на всех устройствах, независимо от их плотности экрана. Использование dp является ключевым для создания адаптивного дизайна, который корректно отображается на различных устройствах. Это помогает обеспечить хороший пользовательский опыт, где элементы интерфейса сохраняют свои пропорции и читаемость на разных экранах. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 1078 вопросов на Android разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Mostrar todo...

👍 3
🤔 Какой модификатор доступа по умолчанию используется в Kotlin?Anonymous voting
  • private
  • protected
  • public
  • internal
0 votes
🤔 Что такое `data class` в Kotlin?Anonymous voting
  • Класс для хранения констант
  • Класс, автоматически генерирующий методы
  • Абстрактный класс
  • Интерфейс
0 votes
1
Какие архитектурные паттерны, которые используются в android фреймворке есть ? Спросят с вероятностью 20% В разработке Android-приложений применяются различные архитектурные паттерны, которые помогают сделать код более читаемым, удобным для тестирования и легким в обслуживании. Ниже перечислены ключевые часто используемые архитектурные паттерны: 1️⃣Model-View-Controller (MVC)Model содержит бизнес-логику и данные приложения. ✅View отвечает за отображение данных (пользовательский интерфейс). ✅Controller действует как посредник между Model и View, управляя потоком данных к Model и обновляя View. В Android активности и фрагменты обычно играют роль контроллера. 2️⃣Model-View-Presenter (MVP)Model представляет слой данных и бизнес-логику. ✅View отвечает за отображение данных и делегирует обработку пользовательских действий Presenter. ✅Presenter содержит логику представления, работает с Model и обновляет View. В MVP View (активности и фрагменты) полностью отделены от логики представления, что облегчает тестирование. 3️⃣Model-View-ViewModel (MVVM)Model обеспечивает структуру данных и бизнес-логику. ✅View отображает визуальные элементы и действия пользователя. ✅ViewModel служит абстракцией View и содержит логику представления, отвечая за наблюдение за данными и состоянием UI. MVVM поддерживается архитектурными компонентами Android Jetpack, такими как LiveData и DataBinding, что обеспечивает простую и эффективную реализацию реактивного UI. 4️⃣Clean Architecture Clean Architecture предложена Робертом Мартином (Uncle Bob) и адаптирована для Android. Она направлена на разделение кода на слои с четко определенными задачами: ✅Доменный слой содержит бизнес-логику (сущности, использование случаев). ✅Слой данных отвечает за доступ к данным (базы данных, сетевые запросы). ✅Презентационный слой содержит логику UI (активности, фрагменты, ViewModel). Этот подход помогает достичь высокой степени декомпозиции и независимости компонентов, что упрощает тестирование и поддержку приложения. 5️⃣Component-Based Architecture Компонентно-ориентированная архитектура фокусируется на разделении приложения на переиспользуемые компоненты, каждый из которых имеет четко определенные задачи и интерфейсы. В контексте Android это может включать создание модульных фрагментов, вью и сервисов, которые могут быть легко заменены или переиспользованы в различных частях приложения или даже в других приложениях. Выбор архитектурного паттерна зависит от конкретных требований и сложности проекта. Использование этих паттернов облегчает масштабирование приложения, обеспечивает его устойчивость к изменениям и упрощает процесс разработки и тестирования. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 1078 вопросов на Android разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Mostrar todo...
👍 7
Photo unavailableShow in Telegram
⚡️В сети начали находить курсы и книги известных онлайн школ в открытом доступе Вот отсортированная база с тонной материала(постепенно пополняется): 🔗 БАЗА (3385 видео): (343 видео, 87 книги) — Java (176 видео, 32 книги) — Git (293 видео, 63 книги) — C# (352 видео, 89 книги) — С++ (167 видео, 53 книги) — PHP (227 видео, 83 книги) — SQL (163 видео, 29 книги) — Linux (363 видео, 122 книги) — Python (415 видео, 168 книги) — Frontend (143 видео, 33 книги) — Flask (167 видео, 43 книги) — Django (197 видео, 49 книги) — Разработка ботов (137 видео, 93 книги) — Data Science (113 видео, 82 книги) — GameDev (129 видео, 73 книги) — QA Скачивать ничего не нужно — все выложили в Telegram и на YouTube с доступом по ссылке
Mostrar todo...
🤔 Какое ключевое слово используется для объявления расширения функции в Kotlin?Anonymous voting
  • extend
  • func
  • fun
  • override
0 votes
Какое главное отличие между Java и Kotlin касательно абстрактных классов, методов ? Спросят с вероятностью 13% Java и Kotlin оба поддерживают концепции абстрактных классов и методов, но существуют определенные различия в подходах и возможностях, связанных с этими концепциями в каждом из языков. Рассмотрим ключевые отличия: 1️⃣Синтаксис и использование Java: ✅Абстрактные классы и методы объявляются с использованием ключевого слова abstract. ✅Абстрактные методы не могут иметь реализации в абстрактном классе. ✅Любой класс, содержащий один или более абстрактных методов, должен быть объявлен абстрактным. Пример:
abstract class Animal {
    abstract void makeSound();

    void breathe() {
        System.out.println("I breathe air.");
    }
}
Kotlin: ✅Абстрактные классы и методы также объявляются с использованием ключевого слова abstract. ✅Абстрактные методы не могут иметь реализации в абстрактном классе. ✅Основное отличие в том, что Kotlin поддерживает свойства (properties), которые могут быть абстрактными, что не поддерживается. Пример:
abstract class Animal {
    abstract fun makeSound()

    fun breathe() {
        println("I breathe air.")
    }
}
2️⃣Наследование и реализация Java: ✅Классы могут наследовать только один абстрактный класс, так как Java не поддерживает множественное наследование классов. Kotlin: ✅Также позволяет классам наследовать только один абстрактный класс. Однако он вводит понятие интерфейсов, которые могут содержать реализацию по умолчанию, и класс может реализовывать несколько интерфейсов. Это предоставляет большую гибкость по сравнению с Java. 3️⃣Модификаторы доступа по умолчанию Java: ✅Если он не указан, по умолчанию он имеет уровень доступа "package-private", что означает, что члены класса доступны только внутри того же пакета. Kotlin: ✅Если он не указан, по умолчанию он является public, что означает, что член класса доступен везде, где виден сам класс. И Java, и Kotlin предоставляют мощные средства для работы с абстрактными классами и методами, но Kotlin предлагает более современный подход с дополнительной гибкостью благодаря поддержке свойств, интерфейсов с реализацией по умолчанию и более открытым модификатором доступа по умолчанию. Эти особенности делают его привлекательным выбором для новых проектов и разработчиков, стремящихся использовать более современные практики и возможности языка. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 1078 вопросов на Android разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Mostrar todo...
🤔 6👍 4 1
🤔 Что делает функция `apply` в Kotlin?Anonymous voting
  • Возвращает новый объект
  • Изменяет контекст
  • Возвращает контекстный объект
  • Создает анонимный класс
0 votes
Чем отличаются единицы измерения, например dp от sp ? Спросят с вероятностью 13% Используются различные единицы измерения для указания размеров и расстояний в пользовательском интерфейсе, среди которых наиболее часто используются dp (density-independent pixels) и sp (scale-independent pixels). Обе эти единицы предназначены для обеспечения одинакового визуального представления элементов интерфейса на различных устройствах, но они служат разным целям. 1️⃣Density-independent Pixels (dp)Определение: Или "пиксель, не зависящий от плотности", — это абстрактная единица, которая используется для выражения размеров макета или элементов интерфейса. 1 dp эквивалентен одному пикселю на экране с плотностью 160 dpi (точек на дюйм), которая считается базовой плотностью (mdpi). ✅Цель использования: dp используется для гарантии того, что элементы пользовательского интерфейса (например, кнопки, поля, отступы) будут иметь одинаковый физический размер на всех устройствах, независимо от плотности экрана устройства. 2️⃣Scale-independent Pixels (sp)Определение: Или "пиксель, не зависящий от масштаба", также является абстрактной единицей и используется специально для размеров шрифтов текста. ✅Особенность: Помимо учета плотности экрана, как и dp, sp также учитывает предпочтения пользователя по масштабу текста. Если пользователь увеличивает масштаб текста в настройках доступности своего устройства, размеры текста в sp автоматически увеличиваются, обеспечивая лучшую читаемость. Основные различия между dp и sp 1️⃣Масштабирование текста: sp масштабируются не только с изменением плотности экрана, но и в зависимости от пользовательских настроек масштабирования текста. Это делает sp предпочтительной единицей для задания размеров текста, чтобы обеспечить его доступность и комфортное восприятие. 2️⃣Использование в макетах: dp рекомендуется использовать для всех других размеров в пользовательском интерфейсе, включая отступы, ширины, высоты элементов и т. д., чтобы обеспечить их консистентность на различных устройствах. В XML-разметке Android можно указать размер текста в sp и размер элемента в dp:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:padding="8dp"
    android:text="Пример текста" />
Такое разделение позволяет оптимизировать приложение для различных устройств и настроек доступности, улучшая пользовательский опыт. Поэтому важно всегда использовать sp для текста и dp для всех остальных размеров в приложении Android. 👉 Можно посмотреть примеры как отвечают люди на этот вопрос, или перейти к списку 1078 вопросов на Android разработчика. Ставь 👍 если нравится контент 🔐 База собесов | 🔐 База тестовых
Mostrar todo...

👍 7
🤔 Какая особенность у ключевого слова `val` в Kotlin?Anonymous voting
  • Иммутабельность
  • Ленивая инициализация
  • Внутренняя синхронизация
  • Глобальная видимость
0 votes
2👾 1
Elige un Plan Diferente

Tu plan actual sólo permite el análisis de 5 canales. Para obtener más, elige otro plan.