Android | Михаил Белый
Поздравляю победителей!
Мои любимые опции премиума:
📍 10 чатов в закрепах.
⚡️ Дополнительные бусты.
📝 Длинные посты с обложкой.
🔗 Длинное био со ссылками.
ℹ️ Расшифровка голосовых.
🤖 Кастомные эмодзи и реакции.
Не обошлось без приключений на моем микроблогерском тракте. Как оказалось, после старта гива его сразу репостят в каналы-агрегаторы, которые волшебным образом (telegram api?) умеют узнавать о проводимых розыгрышах в публичных каналах. Каналы объединяют в папки. После этого на тебя подписываются сотни ботов (813 за 4 дня).
Но не на того напали👊 . Так как я считаю гивы кэшбэком за лояльность, боты своевременно получили поджопник и были кикнуты.
В любом случае весело, скоро повторим!
Мои любимые опции премиума:
Не обошлось без приключений на моем микроблогерском тракте. Как оказалось, после старта гива его сразу репостят в каналы-агрегаторы, которые волшебным образом (telegram api?) умеют узнавать о проводимых розыгрышах в публичных каналах. Каналы объединяют в папки. После этого на тебя подписываются сотни ботов (813 за 4 дня).
Но не на того напали
В любом случае весело, скоро повторим!
Please open Telegram to view this post
VIEW IN TELEGRAM
За февраль решено 28 задач уровня изи. Всего 186. В рейтинге добрался до 610 634 места. Выдали третий почетный бейдж 50 Days Badge 2025.
• Leaf-Similar Trees
• Middle of the Linked List
• Uncommon Words from Two Sentences
• Fair Candy Swap
• Monotonic Array
• Increasing Order Search Tree
• Sort Array By Parity
• Smallest Range I
• X of a Kind in a Deck of Cards
• Reverse Only Letters
• Sort Array By Parity II
• Long Pressed Name
• Unique Email Addresses
• Range Sum of BST
• Valid Mountain Array
• DI String Match
• Delete Columns to Make Sorted
• Verifying an Alien Dictionary
• N-Repeated Element in Size 2N Array
• Univalued Binary Tree
• Largest Perimeter Triangle
• Squares of a Sorted Array
• Add to Array-Form of Integer
• Cousins in Binary Tree
• Find Common Characters
• Maximize Sum Of Array After K Negations
• Complement of Base 10 Integer
• Partition Array Into Three Parts With Equal Sum
#leetcode@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Решил потратить свои лимиты на глубокие ресерчи. Тема сегодняшнего исследования: как миддлу стать синьором. Основано на данных из 30 источников.
TLDR 11 слов:
Уволиться из текущей компании и уйти в другую на грейд выше.
6840 слов:
Исследование разбирает путь от миддла до синьора, включая ключевые технические навыки, софты и карьерные возможности. Для роста важно глубоко знать Kotlin, Coroutines, Jetpack Compose. Разбираться в MVVM, MVI и Clean Architecture. Уметь работать с CI/CD и тестированием. Помимо технической экспертизы, сеньора отличает лидерство, коммуникация и понимание бизнеса. Он не просто пишет код, а решает сложные задачи, улучшает процессы и наставляет команду.
После Senior можно развиваться в техническую или управленческую сторону – стать архитектором, Principal Engineer или Team Lead. Чтобы ускорить рост, важно брать ответственность, участвовать в архитектурных решениях и активно помогать команде. Дополнительный рост дают менторство, выступления на конференциях и постоянное обучение. Сильные Android-разработчики остаются востребованными. Эксперты с широким взглядом на продукт особенно ценятся.
Главное – мыслить системно, проявлять инициативу и прокачивать как технические, так и софтовые навыки. Senior – это не просто опыт, а способность видеть картину в целом и решать стратегические задачи.
#deepresearch@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
В роадмап добавлено еще 49 решений задач с CodeRun – теперь их там 79. Всего в сервисе 571 задача, это в 6 раз меньше, чем на LeetCode. Есть вероятность закрыть их все.
• Кафе
• НОП с восстановлением ответа
• Путь в графе
• Путь спелеолога
• Пересадки
• Конвейер
• Значение арифметического выражения
• Поврежденный XML
• Минимум на отрезке
• Коммерческий калькулятор
• Машинки
• НВП с восстановлением ответа
• Количество треугольников
• Увлекательная игра
• Два коня
• Числа
• Полиглоты
• Пересечение множеств
• Количество различных чисел
• Треугольник Максима
• Сапёр
• Наибольшее произведение трех чисел
• Наибольшее произведение двух чисел
• Больше своих соседей
• Ближайшее число
• Определить вид последовательности
• Возрастает ли список?
• Узник замка Иф
• Детали
• Уравнение с корнем
• Телефонные номера
• Треугольник
• Кондиционер
• Клавиатура
• Продажи
• Банковские счета
• Расшифровка письменности Майя
• Дополнительная проверка на списывание
• Стильная одежда
• Сумма номеров
• Туризм
• Город Че
• Красота превыше всего
• Счет в гипершаках
• Подстрока
• Робот
• Двоичный поиск
• Приближенный двоичный поиск
• Дипломы
#coderun@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
• Добавлены новые вопросы с собеседований.
• Отдельная страница для Material3.
• Новая страница HeadHunter.
• Новая страница Deep Research.
• Новая страница WearOS Samples.
• Новая страница XR Samples.
Добавлен курс по Jetpack Compose.
Добавлены примеры проектов в Android Studio.
Добавлена 1 новая задача из Сбера.
Ответы для тестов по Git, Java, SQL, ООП, OKR, Scrum, Agile и English.
Добавлен плейлист по основам программирования.
Добавлены решения 91 задачи с LeetCode.
Добавлены решения 79 задач с CodeRun.
Сервис Buildkite.
Сервис AppMetrica.
Добавлено описание массивов.
Экранирование идентификаторов.
Trailing comma.
Описание buildString.
Описание кейворда set.
Collections. Описание Array, MutableIterable, Collection, MutableCollection, buildList, buildSet, buildMap.
Coroutines. Описание suspendCancellableCoroutine и CompletableDeferred, пример кода для Deferred.
Flow. Описание методов distinctUntilChanged, onStart, onCompletion, merge, mapLatest, withIndex, scan, runningReduce, runningFold.
Channels. Описание actor.
Manifest. Описание всех параметров Application, <meta-data/>, <property/>, <uses-library/>, <uses-feature/>, <uses-permission/>, tools:node.
SDK. Описание аннотации CheckSdkIntAtLeast.
Activity. Описание ComponentActivity, FragmentActivity и AppCompatActivity.
Network. Описание формата JSON.
Build. Описание R8 Missing Rules.
UI. Описание strings.xml, синтаксис форматирования, нумерованные аргументы, экранирование символов.
Описание LocalActivity.
Описание модификатора Modifier.composed.
Описание аннотации NonRestartableComposable.
Описание метода exclude для исключения зависимостей.
Описание свойства android.nonFinalResIds.
Описание свойства packaging.
Описание свойства networkTimeout.
Обновилось описание хоткеев.
Добавлено 5 Android-проектов.
Добавлено 3 WearOS-проекта.
Добавлен 1 XR-проект.
Добавлено 8 KMP-проектов.
#roadmap@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Добавлено 32 новых эмодзи.
Теперь их ровно 800.
Все паки: первый • второй • третий • четвертый • пятый
Сайт и миниапп с названиями, поиском и фильтрами
#emoji@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Внутри:
• Как удалёнка усиливает чувство изоляции и перегрузки.
• Как совмещать работу и личные проекты без вреда для кукухи.
• Что делать, если уже выгорел.
Приведены реальные истории инженеров и практические советы по восстановлению продуктивности и баланса. Использованы научные исследования и экспертные мнения.
#deepresearch@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работать час в день и всё успевать
Зачем сокращать рабочий день до минимума? Ведь социальные реформаторы еще сто лет назад придумали удобную схему – 8 часов на работу, 8 часов на отдых, 8 часов на сон. От рассвета до заката с перерывом на обед. Но сколько людей, столько и идей. Самыми распространенными причинами будут следующие:
• Выгорел – нужно время восстановиться.
• Учеба – вуз, переквалификация, изучение нового стека.
• Побочные проекты – блог, стартап, опенсорс, запуск курса.
• Вторая фуллтайм работа.
• Семья и дети – нужно больше личного времени.
• Финансы – увеличить доход в час.
• Здоровье – хронические болезни, падающее зрение, приближающийся тридцатник.
• Осознанный минимализм – сокращение нагрузки, смена образа жизни, перефокусировка.
Причины определены. Пора заканчивать геройствовать и начинать работать эффективно. Углы – срезать. Горы – обходить. Для этого придется перестроить подход к карьере следуя четырем шагам:
1. Выбрать подходящую компанию
Понять, как в компании идут дела можно еще на собесе. Есть две дорожки – высоконагруженная хасл культура или чилловая хакуна матата. Первые – классическое айти с выстроенными процессами, созвонами на каждый чих, необъятной базой знаний в конфлю и репой на тысячу модулей. На перекрас кнопки уйдет два дня, десять уровней согласований, аппрувов, ревью, тестов, автотестов и поэтапных раскаток. Кроме того, нужно не забыть затрекать время и списать трудозатраты. У второго типа компаний рабочая культура отличается кардинально. Дикий запад, удаленка, отсутствие процессов, асинхронная коммуникация и коммиты в мастер. Это будут банки из второй сотни, ритейлы и условные продавцы корма для собак. Компании, для которых мобильное приложение не смысл жизни, а дополнительный источник трафика. Чем меньше людей в компании, включая руководителя, будет понимать специфику твоей работы, тем лучше. Информационная асимметрия и атмосфера, пропитанная чувством свободы. Если в начале карьеры не получится поработать в подобной компании, велик шанс навсегда остаться слоном, прикованным к колышку.
2. Прокачать продуктовый опыт
Насмотренность важна. Новые задачи не роняют в тильт и долгие ресерчи. Чем больше повидал, тем меньше думаешь. Быстрее едешь по рельсам. Для этого нужно менять работу каждый год. Совмещать несколько проектов параллельно. Прыгать с проекта на проект внутри подразделения. Постараться поработать над всеми приложениями компании. Это приведет к тому, что за короткое время освоятся известные архитектуры и подходы в разработке. Работать станет легче.
3. Переиспользовать всё, к чему был доступ
В разработке все по сотому кругу повторяется и переиспользуется. Важно не тратить драгоценное время на написание нового функционала. Рабочие репозитории, к которым был доступ нужно непременно утащить себе на хард и не удалять после увольнения. Решения, которые применялись, должны быть в быстром доступе для имплементации уже на новом месте работы. Роадмапы, генераторы шаблонов и AI-ассистенты – наши лучшие друзья.
4. Правильно выбирать задачи и управлять сроками
Хорошая задача выглядит сложной, но решается легко. Если есть возможность выбирать – забирать таски, с которыми был аналогичный опыт ранее. А также задачи с контролируемой зоной ответственности. Чем больше у задачи связей и исполнителей, тем медленнее и непредсказуемее она двигается по канбан-доске, и наоборот. Сроки задач необходимо завышать кратно – x2 или x3. Коллеги с первого дня должны привыкнуть к твоему размеренному темпу работы. Без воспитания в себе оппортунистического поведения каши не сварить.
Нет ничего невозможного, если очень захотеть. Желаю тебе меньше работать и больше времени уделять своим личным радостям.
Зачем сокращать рабочий день до минимума? Ведь социальные реформаторы еще сто лет назад придумали удобную схему – 8 часов на работу, 8 часов на отдых, 8 часов на сон. От рассвета до заката с перерывом на обед. Но сколько людей, столько и идей. Самыми распространенными причинами будут следующие:
• Выгорел – нужно время восстановиться.
• Учеба – вуз, переквалификация, изучение нового стека.
• Побочные проекты – блог, стартап, опенсорс, запуск курса.
• Вторая фуллтайм работа.
• Семья и дети – нужно больше личного времени.
• Финансы – увеличить доход в час.
• Здоровье – хронические болезни, падающее зрение, приближающийся тридцатник.
• Осознанный минимализм – сокращение нагрузки, смена образа жизни, перефокусировка.
Причины определены. Пора заканчивать геройствовать и начинать работать эффективно. Углы – срезать. Горы – обходить. Для этого придется перестроить подход к карьере следуя четырем шагам:
1. Выбрать подходящую компанию
Понять, как в компании идут дела можно еще на собесе. Есть две дорожки – высоконагруженная хасл культура или чилловая хакуна матата. Первые – классическое айти с выстроенными процессами, созвонами на каждый чих, необъятной базой знаний в конфлю и репой на тысячу модулей. На перекрас кнопки уйдет два дня, десять уровней согласований, аппрувов, ревью, тестов, автотестов и поэтапных раскаток. Кроме того, нужно не забыть затрекать время и списать трудозатраты. У второго типа компаний рабочая культура отличается кардинально. Дикий запад, удаленка, отсутствие процессов, асинхронная коммуникация и коммиты в мастер. Это будут банки из второй сотни, ритейлы и условные продавцы корма для собак. Компании, для которых мобильное приложение не смысл жизни, а дополнительный источник трафика. Чем меньше людей в компании, включая руководителя, будет понимать специфику твоей работы, тем лучше. Информационная асимметрия и атмосфера, пропитанная чувством свободы. Если в начале карьеры не получится поработать в подобной компании, велик шанс навсегда остаться слоном, прикованным к колышку.
2. Прокачать продуктовый опыт
Насмотренность важна. Новые задачи не роняют в тильт и долгие ресерчи. Чем больше повидал, тем меньше думаешь. Быстрее едешь по рельсам. Для этого нужно менять работу каждый год. Совмещать несколько проектов параллельно. Прыгать с проекта на проект внутри подразделения. Постараться поработать над всеми приложениями компании. Это приведет к тому, что за короткое время освоятся известные архитектуры и подходы в разработке. Работать станет легче.
3. Переиспользовать всё, к чему был доступ
В разработке все по сотому кругу повторяется и переиспользуется. Важно не тратить драгоценное время на написание нового функционала. Рабочие репозитории, к которым был доступ нужно непременно утащить себе на хард и не удалять после увольнения. Решения, которые применялись, должны быть в быстром доступе для имплементации уже на новом месте работы. Роадмапы, генераторы шаблонов и AI-ассистенты – наши лучшие друзья.
4. Правильно выбирать задачи и управлять сроками
Хорошая задача выглядит сложной, но решается легко. Если есть возможность выбирать – забирать таски, с которыми был аналогичный опыт ранее. А также задачи с контролируемой зоной ответственности. Чем больше у задачи связей и исполнителей, тем медленнее и непредсказуемее она двигается по канбан-доске, и наоборот. Сроки задач необходимо завышать кратно – x2 или x3. Коллеги с первого дня должны привыкнуть к твоему размеренному темпу работы. Без воспитания в себе оппортунистического поведения каши не сварить.
Нет ничего невозможного, если очень захотеть. Желаю тебе меньше работать и больше времени уделять своим личным радостям.
В роадмап добавлено еще 49 решений задач с CodeRun. Теперь их там 128.
• Ход конём - 2
• Движение по полосам
• Симметричная последовательность
• Чемпионат по метанию коровьих лепешек
• Метро
• Улучшение успеваемости
• Пирамида
• Треугольники
• Космическое поселение
• Расстановка ноутбуков
• Очень лёгкая задача
• Площадь
• Провода
• Субботник
• Медиана объединения
• Наблюдение за студентами
• Точки и отрезки
• Кассы
• Высота дерева
• Глубина добавляемых элементов
• Второй максимум
• Обход
• Вывод листьев
• Вывод развилок
• Вывод веток
• АВЛ-сбалансированность
• Родословная: число потомков
• Родословная: подсчёт уровней
• Гистограмма
• Красивая строка
• Коллекционер Диего
• Минимальный прямоугольник
• Скучная лекция
• Стек с защитой от ошибок
• Правильная скобочная последовательность
• Постфиксная запись
• Сортировка вагонов lite
• Великое Лайнландское переселение
• Очередь с защитой от ошибок
• Дек с защитой от ошибок
• Хипуй
• Пирамидальная сортировка
• Три единицы подряд
• Кузнечик
• Мягкие подстилки
• Уникальные элементы
• Все дороги ведут в Рим
• Прокачай героя
• Уникальные пользователи
#coderun@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
Решены все задачи из подборки Подготовка к собеседованию в HR Tech
• Словарь синонимов
• Ближайшее число
• Полиглоты
• Наибольшее произведение двух чисел
• Правильная скобочная последовательность
• Туризм
• Сумма номеров
• Поиск в глубину
• Длина кратчайшего пути
• Высота дерева
• Минимум на отрезке
Всего на CodeRun 11 подборок с задачами, которые можно решить на языке Kotlin.
#coderun@foundout
• Словарь синонимов
• Ближайшее число
• Полиглоты
• Наибольшее произведение двух чисел
• Правильная скобочная последовательность
• Туризм
• Сумма номеров
• Поиск в глубину
• Длина кратчайшего пути
• Высота дерева
• Минимум на отрезке
Всего на CodeRun 11 подборок с задачами, которые можно решить на языке Kotlin.
#coderun@foundout
Что будет, если не указать активити в манифесте.
Это же касается сервисов и контент провайдеров.
В случае с манифестом последние версии IDE хотя бы предупреждают о пропущенном декларировании. А вот при запуске стороннего приложения через интент лучшая практика - отлавливать возможный ActivityNotFoundException в try-catch.
Это же касается сервисов и контент провайдеров.
В случае с манифестом последние версии IDE хотя бы предупреждают о пропущенном декларировании. А вот при запуске стороннего приложения через интент лучшая практика - отлавливать возможный ActivityNotFoundException в try-catch.
За март решена 31 задача уровня изи. Общее количество решенных задач перевалило за 200. Поднялся в рейтинге на 522 946 место.
• Binary Watch
• Binary Prefix Divisible By 5
• Remove Outermost Parentheses
• Sum of Root To Leaf Binary Numbers
• Divisor Game
• Valid Boomerang
• Last Stone Weight
• Remove All Adjacent Duplicates In String
• Height Checker
• Greatest Common Divisor of Strings
• Occurrences After Bigram
• Duplicate Zeros
• Distribute Candies to People
• Defanging an IP Address
• Relative Sort Array
• Number of Equivalent Domino Pairs
• N-th Tribonacci Number
• Day of the Year
• Find Words That Can Be Formed by Characters
• Prime Arrangements
• Distance Between Bus Stops
• Day of the Week
• Maximum Number of Balloons
• Minimum Absolute Difference
• Unique Number of Occurrences
• Minimum Cost to Move Chips to The Same Position
• Split a String in Balanced Strings
• Check If It Is a Straight Line
• Minimum Time Visiting All Points
• Subtract the Product and Sum of Digits of an Integer
• Element Appearing More Than 25% In Sorted Array
#leetcode@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
На hh добавили новый навык, который можно подтвердить. Внутри – про работу с методами, постраничную загрузку, фильтрацию, асинхронность и аутентификацию.
Доступно 3 теста:
• Базовый – 10 вопросов за 10 минут.
• Средний – 12 вопросов за 15 минут.
• Продвинутый – 15 вопросов за 20 минут.
ОТВЕТЫ В РОАДМАПЕ
#hhskills@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
История про сожранное мороженое
Крупный екоммерс. Пилим приложения для доставки продуктов. Отдельное приложение для курьеров. Еще одно – для сборщиков в дарксторах.
Вдруг средь бела дня – общий созвон. Собрались продакты, дизайнеры, аналитики, тестировщики и даже разработчиков зачем-то позвали. Случилась ситуация в нашем идеальном флоу заказа – клиент недополучил позицию. Следовательно, на одном из этапов она была съедена. Что делать? Идеи зафантанировали одна за другой: закупить принтеры и заклеивать пакеты, как во вкусвилле, обновить инструкции и переучить сборщиков, напихать проверок в приложения. Все высказываются и обсуждают идеи других.
Тут один из аналитиков берёт слово: подождите, давайте я посмотрю по метрикам количество сожранных заказов. Оказалось – что-то типа двух или трёх за последний год. Было решено ничего не делать и с пожеланием хорошего дня разойтись.
Слушайте ваших аналитиков.
Крупный екоммерс. Пилим приложения для доставки продуктов. Отдельное приложение для курьеров. Еще одно – для сборщиков в дарксторах.
Вдруг средь бела дня – общий созвон. Собрались продакты, дизайнеры, аналитики, тестировщики и даже разработчиков зачем-то позвали. Случилась ситуация в нашем идеальном флоу заказа – клиент недополучил позицию. Следовательно, на одном из этапов она была съедена. Что делать? Идеи зафантанировали одна за другой: закупить принтеры и заклеивать пакеты, как во вкусвилле, обновить инструкции и переучить сборщиков, напихать проверок в приложения. Все высказываются и обсуждают идеи других.
Тут один из аналитиков берёт слово: подождите, давайте я посмотрю по метрикам количество сожранных заказов. Оказалось – что-то типа двух или трёх за последний год. Было решено ничего не делать и с пожеланием хорошего дня разойтись.
Слушайте ваших аналитиков.