Android Mobile | YeaHub
431 subscribers
332 photos
21 videos
597 links
Теория, подготовка к интервью и курсы для Android разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес
🤔 Расскажи про анонимные классы и объекты, object u companion object

Анонимные классы в Kotlin создаются с использованием ключевого слова object и не требуют явного обьявления. Они реализуют интерфейсы или наследуют классы и могут использоваться для одноразовых целей. object в Kotlin также используется для объявления объектов-синглтонов (object declaration) и для создания объектов внутри классов (companion object), которые действуют как статические поля.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🤔 В Kotlin, как преобразовать список строк в список их длин?
Anonymous Quiz
57%
list.map { it.length }
13%
list.convert { String -> Int }
17%
list.lengths()
13%
list.collect { it.length }
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#Полезное
👩‍💻 Android представил свою новую функцию RCS!

RCS (Rich Communication Services) — это стандарт для обмена сообщениями, который улучшает SMS и MMS, предоставляя пользователям более расширенные возможности, такие как передача медиафайлов высокого качества, поддержка групповых чатов, обмен реакциями на сообщения и подтверждения доставки.

Основные особенности RCS:

🟠Обогащенные сообщения: Возможность отправлять текстовые сообщения с вложениями, такими как фотографии, видео и документы, а также поддержка взаимодействий с картами и стикерами.

🟠 Групповые чаты и подтверждения: Поддержка групповых чатов с улучшенными функциями, включая подтверждения о доставке и прочтении сообщений.

🟠 Интеграция с интернетом: В отличие от стандартных SMS и MMS, сообщения RCS отправляются через интернет, что позволяет улучшить качество связи и снизить затраты на обмен сообщениями.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2
#Вакансии
👨‍💻 Kotlin разработчик

Локация: Удаленно
Компания: YARUS
ЗП: от 1 500 до 2 500 $
Занятость: Частичная/Проектная
Город и адрес офиса: Санкт-Петербург

Kotlin – разработчик со опытом CI/CD в GitLab. B2B сегмент, готовый продукт с тестами и CICD, надо дотюнить CI/CD в GitLab (перевод на новые тесты) + пилить новые фичи (опыт работы с SDK Zebra, Honeywell желательно), апа под ТСД. Текущий разработчик проконсультирует, есть качественная дока, НЕ легаси.

🚩Требования
🔵Опыт работы в разработке от 3х лет
🔵Опыт работы с мобильной фермой (STF или аналог), SonarQube
🔵Практические знания архитектурных паттернов (MVC, MVP, MVVM, MVI)
🔵Опыт работы с SDK, Jetpack Compose, Retrofit
🔵Наличие репрезентативного pet-проекта или прод-проекта с целью демонстрации тех. скиллов обязательно

💬 Резюме отправлять: @yarus_y

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#Собес
🤔 Чем Kotlin отличается от Java?

Kotlin и Java оба работают на JVM, но Kotlin предлагает более компактный и читаемый синтаксис. В нем встроены функции безопасности для null-ссылок, что помогает избежать типичных ошибок. Kotlin также поддерживает более современные возможности, такие как корутины для асинхронного программирования и функции расширения, чего нет в Java.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
😊 Koin — это лёгкий и прагматичный фреймворк для внедрения зависимостей (Dependency Injection) на языке Kotlin!

🟠Он поддерживает как Kotlin Multiplatform, так и Android. Koin предоставляет удобный DSL для настройки зависимостей, минимизирует избыточность кода и интегрируется с различными экосистемами, включая Jetpack Compose и Ktor.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 634. Find the Derangement of An Array

В комбинаторной математике отклонение - это перестановка элементов множества таким образом, что ни один элемент не оказывается на прежнем месте. Вам дано целое число n. Изначально имеется массив, состоящий из n целых чисел от 1 до n в порядке возрастания, верните количество отклонений, которые он может породить. Поскольку ответ может быть огромным, верните его по модулю 109 + 7.

Пример:
Input: n = 3
Output: 2


👨‍💻 Алгоритм:

1⃣Инициализация массива для хранения результатов
Создайте массив dp для хранения количества отклонений для каждого значения от 0 до n. Установите начальные значения: dp[0] = 1 и dp[1] = 0.

2⃣Вычисление количества отклонений
Используйте динамическое программирование для вычисления количества отклонений для каждого значения от 2 до n. Формула для вычисления: dp[i] = (i - 1) * (dp[i - 1] + dp[i - 2]) % MOD.

3⃣Возвращение результата
Верните значение dp[n], которое будет количеством отклонений для n элементов, по модулю 10^9 + 7.

😎 Решение:
class Solution {
fun countDerangements(n: Int): Int {
val MOD = 1_000_000_007
if (n == 0) return 1
if (n == 1) return 0
val dp = IntArray(n + 1)
dp[0] = 1
dp[1] = 0
for (i in 2..n) {
dp[i] = ((i - 1) * (dp[i - 1] + dp[i - 2].toLong()) % MOD).toInt()
}
return dp[n]
}
}


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#Собес
🤔 Какие основные типы данных в Kotlin?

В Kotlin есть несколько основных типов данных:
🟠Числа: Int (целые числа), Double (двойной точности числа с плавающей запятой), Float (одинарной точности), Long (длинные целые числа), Short (короткие целые числа) и Byte (байты).

🟠Булевы значения: Тип Boolean , который может быть либо true , либо false .

🟠Символы: Тип Char для одного символа.

🟠Строки: Тип String для последовательности символов.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 Как в Kotlin создать класс с приватным конструктором?
Anonymous Quiz
61%
class MyClass private constructor()
26%
private class MyClass()
11%
class private MyClass()
3%
class MyClass() private
❤2
#полезное
😊 Шаблон приложения Kotlin Multiplatform

🟠Базовый шаблон приложения Kotlin Multiplatform для Android и iOS. Он включает общую бизнес-логику и обработку данных, а также реализацию общего пользовательского интерфейса с использованием Compose Multiplatform

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1
#Собес
🤔 Как обрабатывать nullable значения в Kotlin?

B Kotlin для работы с nullable типами данных можно использовать несколько методов:
🟠 Safe calls (?.): безопасный доступ к свойствам и методам объекта, если объект равен
null.
🟠 Elvis operator (?:): позволяет задать значение по умолчанию, если объект равен null.
🟠 Safe casts (as?): безопасное приведение типов, которое возвращает null , если
приведение невозможно.
🟠 Non-null assertion (!!): если вы уверены, что переменная не равна null, используйте оператор !! , но будьте осторожны, потому что это может вызвать исключение NullPointerException.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
🤔 В Kotlin, какой метод позволяет перебрать элементы коллекции и выполнить действие для каждого элемента, не изменяя саму коллекцию?
Anonymous Quiz
21%
map
73%
forEach
6%
transform
0%
Пра
❤2
#вакансии
👨‍💻 Junior Android разработчик

Локация: Удаленно
Компания: Effective Mobile
ЗП: 70 000 р. на старте
Занятость: Полная

Мы - аккредитованная  IT-компания Effective Mobile. Сейчас мы в поисках андроид разработчика (junior).
Если ты готов активно развивать свои навыки (а мы в этом поможем), то ты сможешь поработать в крупных компаниях, таких как   Х5 Group, Сбербанк, ВК, МТС, Магнит, Magnum и других.

🚩Мы ждём от тебя
🔵 Понимание Android (Activity, Fragment, Service, BroadcastReceiver, WorkManager, View под капотом);
🔵 Владение Kotlin (generics, лямбды, null safety);
🔵 Понимание принципов работы с  Coroutines/RxJava;
🔵 Уверенное знание любого DI фреймворка;
🔵 Понимание принципов Clean Architecture;
🔵 Навыки работы с Git.

🚩Мы предлагаем
🟡 Удаленный формат работы с гибким графиком 5/2;
🟡 Четкая система постановки задач;
🟡 Наставничество от более опытных специалистов;
🟡 Поддержка корпоративного психолога.

💬 Резюме отправлять: @sumkinapolina

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
🤔 Как в Kotlin правильно инициализировать переменную только при первом использовании, гарантируя потокобезопасность?
Anonymous Quiz
36%
Использовать ключевое слово lateinit
18%
Использовать модификатор volatile
46%
Использовать делегат lazy
0%
Применить модификатор synchronized
❤2
#Собес
🤔 В чем разница между val и var в Kotlin?

B Kotlin val используется для объявления неизменяемых переменных (констант), значение которых нельзя изменить после присвоения. var используется для
объявления изменяемых переменных, которые можно переназначать несколько раз. Например, val не позволяет переприсваивать значение переменной, а var
позволяет.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Библиотека Texty

Э
то библиотека для Compose Multiplatform (Kotlin), позволяющая отображать текст с различными стилями, эффектами и анимациями. Texty ориентирован на разработку кросс-платформенных приложений с поддержкой Android и iOS, предоставляя гибкие инструменты для стилизации текста и создания интерактивных пользовательских интерфейсов

🟠Основная цель проекта — упростить создание анимированных и стилизованных текстовых элементов, сохраняя высокую производительность и совместимость с Compose UI

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1