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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
🤔 Как в 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 не вернется
This media is not supported in your browser
VIEW IN TELEGRAM
«Нет повести печальнее на свете,
чем повесть о клиенте и его бюджете»
#Собес
🤔 Для чего используется модификатор lateinit в Kotlin?

Модификатор lateinit в Kotlin используется для отложенной инициализации свойств, которые не могут быть проинициализированы сразу при создании объекта. Это особенно полезно для свойств, которые должны быть инициализированы позже, например, при внедрении зависимостей или получении данных из внешнего источника.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥰 PuppyGit — это клиент Git для Android, предоставляющий полный функционал для работы с репозиториями, включая fetch, pull, push, merge, управление ветками, тегами, сабмодулями и историю коммитов!

🟠Приложение является бесплатным, без рекламы и с открытым исходным кодом. PuppyGit также поддерживает функции редактирования файлов, разрешения конфликтов, squash-коммитов и работу с персональными токенами для двухфакторной аутентификации.
Гитхаб

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Android Quick Guides

Это недавно вышедшая серия официальных кратких руководств от Google, созданных для разработчиков, работающих с платформой Android. Эти руководства нацелены на предоставление основных рекомендаций и шаблонов для быстрого внедрения стандартных компонентов и функциональности Android-приложений
Руководство

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