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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
🤔 Как в Kotlin выполнить безопасное преобразование строки в число, возвращая null при неудаче?
Anonymous Quiz
0%
String.toInt()
24%
String?.toInt()
76%
String.toIntOrNull()
0%
String.asInt()
❤4
#Собес
🤔 Объясните концепцию умных приведений типов в Kotlin.

Умные приведения типов в Kotlin позволяют компилятору автоматически преобразовывать переменные в ненулевые типы после проверки на null . Это позволяет избежать необходимости вручную указывать типы и повышает безопасность и читаемость кода.

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

Локация: Удалённо
Компания: Irbis
ЗП: 150 000 р. за этап
Занятость: Полная/Проектная
Город: Санкт-Петербург

Описание вакансии:
Производим поиск разработчика kotlin для поддержки текущего и разработки нового функционала в рамках мобильного приложения для AndroidTV.

🚩Ждем от вас
🔵 Знание (опыт от 3-х лет): Kotlin, разработка под AndroidTV;
🔵 Будет большим преимуществом, если у вас есть опыт работы с аудио, потоковыми данными, socket, rabbitmq, очередностью загрузки данных.

Тех. стек стандартный (просто чтобы был)
🔵 Android development (Kotlin, XML, Jetpack Compose)
🔵 Архитектуры: MVP, MVVM, MVI
🔵 Room, Retrofit, REST API
🔵 Coroutines, Flow
🔵 Firebase (Authentication, Firestore, Cloud Messaging, Remote Config, Analytics)
🔵 Dagger Hilt (Dependency Injection)
🔵 CI/CD, SOLID, Git/GitHub

🚩Условия
🟡 Оплата на карту или счет банков РФ и РБ, с криптой не работаем, трансграничные переводы не делаем.

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 keyframesWithSpline — новая анимация в Jetpack Compose, которая создает естественную плавную кривую, идеально подходящую для работы с предопределенными координатами X, Y!
Смотреть статью

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как в Kotlin обозначить, что значение переменной должно быть доступно до начала выполнения программы и не изменяемо во время выполнения?
Anonymous Quiz
63%
Использовать const val
15%
Использовать lateinit val
15%
Использовать static val
7%
Использовать final val
#Собес
🤔 Что такое коллекции в Kotlin?

Коллекции в Kotlin - это структуры данных, предназначенные для хранения и управления набором элементов. В Kotlin существуют несколько типов коллекций:
🟠 Списки (List) - упорядоченные коллекции, которые могут содержать дубликаты.
🟠 Множества (Set) - неупорядоченные коллекции без дубликатов.
🟠 Карты (Мар) - коллекции, которые хранят пары ключ-значение.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
🤔 В Kotlin, как создать анонимный класс, реализующий интерфейс?
Anonymous Quiz
46%
object : InterfaceName {}
8%
new InterfaceName() {}
27%
class : InterfaceName {}
19%
InterfaceName.create()
#ЛитКод
Задача: 646. Maximum Length of Pair Chain

Вам дан массив из n пар, где pairs[i] = [lefti, righti] и lefti < righti. Пара p2 = [c, d] следует за парой p1 = [a, b], если b < c. Таким образом можно построить цепочку пар. Верните самую длинную цепочку, которую можно составить. Вам не нужно использовать все заданные интервалы. Вы можете выбирать пары в любом порядке.

Пример:
Input: nums = [1,2,2,4]
Output: [2,3]


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

1⃣Отсортируйте пары по второму элементу каждой пары (righti).
2⃣Используйте динамическое программирование или жадный алгоритм, чтобы построить цепочку максимальной длин
3⃣Переберите отсортированные пары и выберите пары, которые могут следовать одна за другой, увеличивая длину цепочки.

😎 Решение:
fun findLongestChain(pairs: Array<IntArray>): Int {
pairs.sortBy { it[1] }
var currentEnd = Int.MIN_VALUE
var count = 0
for (pair in pairs) {
if (currentEnd < pair[0]) {
currentEnd = pair[1]
count++
}
}
return count
}


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Тестированию пуш-уведомлений

Тестирование push-уведомлений и пушей в приложениях, где они играют важную роль
Читать статью

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
#Собес
🤔 В чем разница между списком и массивом в Kotlin?

Основные различия между списком и массивом в Kotlin заключаются в их размере и типах данных:
Список (List) - это динамическая коллекция, которая может изменять размер и содержать элементы разных типов.
Массив (Array) - это фиксированная по размеру коллекция, содержащая элементы одного типа.

Списки предоставляют удобные методы для добавления и удаления элементов, а массивы обеспечивают лучшую производительность для работы с элементами в
фиксированном размере.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😊 Запуск android приложений

Waydroid - решение на основе контейнеров для запуска Android приложения в GNU/Linux системах, используй Wayland

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Ничего необычного, просто юзеры андроидов делают скриншот
🔥4
🤔 В Kotlin, как объявить переменную, которая может хранить null?
Anonymous Quiz
11%
var variable: String = null
61%
var variable: String? = null
14%
var variable = null
14%
var variable: Nullable<String>
❤2
#Собес
🤔 Объясните концепцию неизменяемых и изменяемых переменных в Kotlin.

В Kotlin переменные могут быть либо неизменяемыми, либо изменяемыми:
🟠 Неизменяемые переменные обьявляются с помощью val и не могут быть изменены после их инициализации.
🟠 Изменяемые переменные объявляются с помощью var и могут быть изменены в процессе выполнения программы.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🤔 В Kotlin, какое ключевое слово используется для создания наследуемого класса, ограниченного одним файлом?
Anonymous Quiz
26%
open
26%
abstract
42%
sealed
6%
final
❤4🔥1
#ЛитКод
Задача: 653. Two Sum IV - Input is a BST

Вам дан целочисленный массив nums без дубликатов. Из nums можно рекурсивно построить максимальное двоичное дерево, используя следующий алгоритм: создайте корневой узел, значение которого равно максимальному значению в nums. Рекурсивно постройте левое поддерево по префиксу подмассива слева от максимального значения. Рекурсивно постройте правое поддерево по суффиксу подмассива справа от максимального значения. Верните максимальное двоичное дерево, построенное из nums.

Пример:
Input: root = [5,3,6,2,4,null,7], k = 9
Output: true


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

1⃣Выполните обход BST и сохраните все значения узлов в набор.
2⃣Для каждого узла в процессе обхода проверьте, существует ли в наборе значение, равное k минус значение текущего узла.
3⃣Если найдена такая пара, верните true. Если обход завершен и пары не найдены, верните false.

😎 Решение:
class TreeNode(var `val`: Int) {
var left: TreeNode? = null
var right: TreeNode? = null
}

fun findTarget(root: TreeNode?, k: Int): Boolean {
val seen = mutableSetOf<Int>()
fun find(node: TreeNode?): Boolean {
if (node == null) return false
if (seen.contains(k - node.`val`)) return true
seen.add(node.`val`)
return find(node.left) || find(node.right)
}
return find(root)
}


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес
🤔 Объясните концепцию высших функций в Kotlin.

Высшие функции в Kotlin - это функции, которые могут принимать другие функции в качестве параметров или возвращать функции как результат. Это позволяет создавать более гибкий и динамичный код, используя функциональные подходы.
Пример: функция, которая принимает лямбда выражение для выполнения различных операций над данными.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
#полезное
😊 Первые шаги в мобильной разработке с Flutter

Flutter — один из самых популярных инструментов для создания кроссплатформенных приложений. Если хочешь научиться разрабатывать сразу под iOS и Android, эта статья для тебя!

Разбираем
🟠 Как установить и настроить окружение
🟠 Запуск первого приложения и работа с виджетами
🟠 Ошибки, которые мешают новичкам осваивать Flutter
Читать статью

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что происходит, если в Java вызвать метод Kotlin, который может возвращать null, и не обработать возможный null?
Anonymous Quiz
13%
Автоматическая обработка null Kotlin'ом
58%
Возможно возникновение NullPointerException
25%
Java-код не скомпилируется
4%
Kotlin гарантирует, что null не вернется