#Собес
🤔 Расскажи про анонимные классы и объекты, object u companion object
Анонимные классы в Kotlin создаются с использованием ключевого слова
👉 Новости 👉 Платформа
Анонимные классы в Kotlin создаются с использованием ключевого слова
object и не требуют явного обьявления. Они реализуют интерфейсы или наследуют классы и могут использоваться для одноразовых целей. object в Kotlin также используется для объявления объектов-синглтонов (object declaration) и для создания объектов внутри классов (companion object), которые действуют как статические поля.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
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 отправляются через интернет, что позволяет улучшить качество связи и снизить затраты на обмен сообщениями.
👉 Новости 👉 Платформа
RCS (Rich Communication Services) — это стандарт для обмена сообщениями, который улучшает 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
👉 Новости 👉 Платформа
Локация: Удаленно
Компания: YARUS
ЗП: от 1 500 до 2 500 $
Занятость: Частичная/Проектная
Город и адрес офиса: Санкт-Петербург
Kotlin – разработчик со опытом CI/CD в GitLab. B2B сегмент, готовый продукт с тестами и CICD, надо дотюнить CI/CD в GitLab (перевод на новые тесты) + пилить новые фичи (опыт работы с SDK Zebra, Honeywell желательно), апа под ТСД. Текущий разработчик проконсультирует, есть качественная дока, НЕ легаси.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#Собес
🤔 Чем Kotlin отличается от Java?
Kotlin и Java оба работают на JVM, но Kotlin предлагает более компактный и читаемый синтаксис. В нем встроены функции безопасности для null-ссылок, что помогает избежать типичных ошибок. Kotlin также поддерживает более современные возможности, такие как корутины для асинхронного программирования и функции расширения, чего нет в Java.
👉 Новости 👉 Платформа
Kotlin и Java оба работают на JVM, но Kotlin предлагает более компактный и читаемый синтаксис. В нем встроены функции безопасности для null-ссылок, что помогает избежать типичных ошибок. Kotlin также поддерживает более современные возможности, такие как корутины для асинхронного программирования и функции расширения, чего нет в Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Anonymous Quiz
10%
Функция для создания новых корутин
81%
Объект, определяющий контекст выполнения корутины
5%
Метод для остановки корутины
5%
Переменная для хранения состояния корутины
🤝1
#полезное
😊 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.
Пример:
👨💻 Алгоритм:
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.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 634. Find the Derangement of An Array
В комбинаторной математике отклонение - это перестановка элементов множества таким образом, что ни один элемент не оказывается на прежнем месте. Вам дано целое число n. Изначально имеется массив, состоящий из n целых чисел от 1 до n в порядке возрастания, верните количество отклонений, которые он может породить. Поскольку ответ может быть огромным, верните его по модулю 109 + 7.
Пример:
Input: n = 3
Output: 2
Создайте массив dp для хранения количества отклонений для каждого значения от 0 до n. Установите начальные значения: dp[0] = 1 и dp[1] = 0.
Используйте динамическое программирование для вычисления количества отклонений для каждого значения от 2 до n. Формула для вычисления: dp[i] = (i - 1) * (dp[i - 1] + dp[i - 2]) % MOD.
Верните значение 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 для последовательности символов.
👉 Новости 👉 Платформа
В Kotlin есть несколько основных типов данных:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Anonymous Quiz
61%
class MyClass private constructor()
26%
private class MyClass()
11%
class private MyClass()
3%
class MyClass() private
❤2
Anonymous Quiz
24%
Программа будет работать корректно
32%
Произойдет ошибка компиляции
32%
Значение переменной будет инициализировано нулем
12%
Значение переменной будет неопределенным
#Собес
🤔 Как обрабатывать nullable значения в Kotlin?
B Kotlin для работы с nullable типами данных можно использовать несколько методов:
🟠 Safe calls (?.): безопасный доступ к свойствам и методам объекта, если объект равен
null.
🟠 Elvis operator (?:): позволяет задать значение по умолчанию, если объект равен null.
🟠 Safe casts (as?): безопасное приведение типов, которое возвращает null , если
приведение невозможно.
🟠 Non-null assertion (!!): если вы уверены, что переменная не равна null, используйте оператор !! , но будьте осторожны, потому что это может вызвать исключение NullPointerException.
👉 Новости 👉 Платформа
B Kotlin для работы с nullable типами данных можно использовать несколько методов:
null.
приведение невозможно.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
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
👉 Новости 👉 Платформа
Локация: Удаленно
Компания: Effective Mobile
ЗП: 70 000 р. на старте
Занятость: Полная
Мы - аккредитованная IT-компания Effective Mobile. Сейчас мы в поисках андроид разработчика (junior).
Если ты готов активно развивать свои навыки (а мы в этом поможем), то ты сможешь поработать в крупных компаниях, таких как Х5 Group, Сбербанк, ВК, МТС, Магнит, Magnum и других.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Anonymous Quiz
36%
Использовать ключевое слово lateinit
18%
Использовать модификатор volatile
46%
Использовать делегат lazy
0%
Применить модификатор synchronized
❤2
#Собес
🤔 В чем разница между val и var в Kotlin?
B Kotlin
объявления изменяемых переменных, которые можно переназначать несколько раз. Например,
позволяет.
👉 Новости 👉 Платформа
B Kotlin
val используется для объявления неизменяемых переменных (констант), значение которых нельзя изменить после присвоения. var используется дляобъявления изменяемых переменных, которые можно переназначать несколько раз. Например,
val не позволяет переприсваивать значение переменной, а varпозволяет.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Anonymous Quiz
33%
С помощью object с методом создания экземпляра
38%
Использовать companion object с фабричным методом
13%
Использование функций расширения для создания экземпляров
17%
Применить аннотацию @Factory к функции
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Библиотека Texty
Это библиотека для Compose Multiplatform (Kotlin), позволяющая отображать текст с различными стилями, эффектами и анимациями. Texty ориентирован на разработку кросс-платформенных приложений с поддержкой Android и iOS, предоставляя гибкие инструменты для стилизации текста и создания интерактивных пользовательских интерфейсов
🟠 Основная цель проекта — упростить создание анимированных и стилизованных текстовых элементов, сохраняя высокую производительность и совместимость с Compose UI
👉 Новости 👉 Платформа
Это библиотека для Compose Multiplatform (Kotlin), позволяющая отображать текст с различными стилями, эффектами и анимациями. Texty ориентирован на разработку кросс-платформенных приложений с поддержкой Android и iOS, предоставляя гибкие инструменты для стилизации текста и создания интерактивных пользовательских интерфейсов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
Anonymous Quiz
38%
Использовать ключевое слово default
33%
Напрямую в теле интерфейса
5%
Использовать abstract class вместо интерфейса
24%
Интерфейсы в Kotlin не поддерживают методы с реализацией
❤2
#Собес
🤔 Что такое оператор Elvis в Kotlin?
Оператор Elvis (?:) используется для того, чтобы задать значение по умолчанию, если объект равен null . Если объект не равен null , возвращается его значение, если равен null, то используется значение после оператора ?: .
👉 Новости 👉 Платформа
Оператор Elvis (?:) используется для того, чтобы задать значение по умолчанию, если объект равен null . Если объект не равен null , возвращается его значение, если равен null, то используется значение после оператора ?: .
Please open Telegram to view this post
VIEW IN TELEGRAM