iOS Makes Me Hate
3.94K subscribers
1.16K photos
169 videos
15 files
1.33K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

Самое больше iOS сообщество практиков: https://boosty.to/lionbond/

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
🪙Рекрутер чуть лучше, чем подброс монетки

У нас часто жалуются о том, что индустрия сломана и есть фильтры. Чаще путая это с проблемами агрегаторов и других рекрутерских инструментов.

У рекрутеров своя задача — найти сильное резюме. Можно выделить его, а можно не надеяться на них и пойти напрямую.

Эксперимент такой, 76 рекрутеров просмотрели порядка 1000 резюме и сделали свои прогнозы. После этого кандидаты прошли mock-интервью на платформе. Полученные результаты сравнили между собой.

Первый вопрос, на который должны были ответить рекрутеры «Стоит ли собеседовать этого кандидата?». То есть при посмотре резюме, пропустит ли рекрутер кандидата дальше или нет? Прогноз совпадает с реальностью только в 55% случаев.

Второй вопрос «Какова вероятность, что кандидат пройдет техническое интервью?».
Те кандидаты, которым пророчили провал (0-5%), на деле успешно сдали в 47% случаев. Те кандидаты, которые по мнению рекрутеров должны были порвать собеседование (95-100%), прошли только в 64%.

Результаты:

🔘Это означает очевидное, что рекрутеры на самом деле не могут предсказать, пройдет ли кандидат или нет. Они оценивают резюме за несколько секунд.

🔘Рекрутеры ищут в резюме упоминания сильных компаний типа MAANG (+35% к успеху) или же представителей меньшинств (+21%).

🔘Если рекрутеры будут тратить 45 секунд на каждое резюме, вместе усредненных 30, то точность исхода вырастет на 34%.
Please open Telegram to view this post
VIEW IN TELEGRAM
10
Объяснение управление памятью с помощью аналогий

Материала по управлению памятью очень много. Так много, что часто возникает путаница. Это все нелегко запомнить.

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

Разраб может быть хорошим разрабом, но плохим учителем. Нас учили как правильно доводить мысль до студента и как лучше объяснять сложные вещи простым языком.

Я не стал лучшим и все еще улучшаю этот скилл, но запомнил главное — нет ничего лучше аналогий. Они являются ключом для формирования идей, нейронов и мыслей. Так знания лучше оседают и впитываются.

В статье автор говорит привычные нам вещи, но в более понятной форме.
17
🧬 Подборки WWDC про управление памятью

Сейчас готовлю первый материал по первому ролику и готовлю методичку. Решил пересмотреть все ролики по управлению памятью, которые есть в WWDC и разобрать на конспекты. Делюсь некоторыми с вами:

🟣iOS Memory Deep Dive — один из лучших роликов, где раскрывают почти все о памяти

🟣Profile and optimize your game's memory — как выжимать из дебагера максимум

🟣ARC in Swift: Basics and beyond — как работает ARC и его кишки

Делитесь еще интересными роликами в комментах

🧬Получить доступ к общей подборке обязательных секции WWDC можно по подписке через бусти или по скидке тут
Please open Telegram to view this post
VIEW IN TELEGRAM
143
🌿 UIKit: Задачи на hitTest

Почти 3.5 года назад я писал статью про управлению жестами в iOS. Тогда я собрал одни из самых частых вопросов и кейсов по ним.

Жесты до сих пор одна из популярных задач. Они помогают узнать глубину и обширность работы кандидата.

В этой подборке я собрал старые задачи и актуализировал их:
🟣Написать сигнатуру метода hitTest
🟣Как увеличить размеры нажатия
🟣Как вырезать дырку в вьюшке и обрабатывать нажатия задних вьюх
🟣Обработка нажатий выпирающей вьюхи
🟣Обработка hitTest по слоям

🧬Получить доступ можно по подписке через бусти или по скидке тут
Please open Telegram to view this post
VIEW IN TELEGRAM
94
This media is not supported in your browser
VIEW IN TELEGRAM
Когда сказали, что на флаттере не сделаешь красивый UI…
23
This media is not supported in your browser
VIEW IN TELEGRAM
Пока мы тут сосали бибу, отец UI, Астемир, сделал легкий proof of concept на SUI.

Кто теперь говорит, что на SUI не сделаешь сложный UI?
34217
💎 Задачи на жесты (UIGestureRecognizer) ч. 1

В прошлой статье мы вспомнили одни из самых популярных задач про hitTets. В этой мы разберем другой механизм управления расширенными жестами.

Забавно, их чуть реже встретишь на собесах чем написания своего hitTest’а, но гораздо чаще на практике.

В подборке вы найдете:
🟣Что такое UIGestureRecognizer
🟣Как он связан с hitTest и Responder Chaing
🟣Какие виды состояний есть у UIGestureRecognizer?
🟣Как перенести вью при зажатии?
🟣Как решать конфликты жестов?
🟣А также еще 10 вопросов и 5 задач

🧬Получить доступ можно по подписке через бусти или по скидке тут
Please open Telegram to view this post
VIEW IN TELEGRAM
5
ChatGPT для Swift: Топ 5 подсказок для генерации кода

Для многих чатгпт стал один из главных ассистентов. Кому-то даже заменил гугл и стэк овервлоу. За полтора года хайпа революции не случилось, но появились полезные советы по использованию:

🟣Генерацию моделей под JSON
🟣Написание юнит-тестов и моков
🟣Написание кода под специфичные задачи
🟣Добавление документации
🟣Предложения по улучшению кода
Please open Telegram to view this post
VIEW IN TELEGRAM
16
This media is not supported in your browser
VIEW IN TELEGRAM
Мои первые 100 задач в литкоде были максимально юзлес. Почему-то, я послушал советов в интернетах и тупо начал решать все подряд, поверхностно прочитав «грокаем алгоритмы»

Это была жесткая ошибка, где я потратил впустую десятки часов.

Главные советы:
1. Изучать техники и паттерны конкретно под iOS
2. Отличать хорошие задачи от плохих
3. Иметь насмотренноть и решать задачи разными решениями
4. Не зубри решения кодом

А я напоминаю что у меня есть открытый гитхаб с задачами и почти 200 других рекомендованных задач в закрытом ноушене
14
😱 Как дела с увольнениями и что с рынком iOS?

ИТ уже давно переполняется спецами. Поиск работы занимает все больше времени. Например, на западе, чтобы найти работу даже сеньору, нужно сделать около 100 откликов и пройти 30-40 собеседований. А фильтр опыта и нехватка мест для джунов — меньшее из проблем.

Вкратце о треде:
🟣На каждую вакансию около 100 претендентов.
🟣В среднем поиск работы на любую позицию занимает 3-9 месяцев.
🟣Люди расширяют знанию или уходят в другой стэк: flutter, react native
🟣Рынок переполнен низко-качественными спецами, которые усложняют найм всем

Говорят, все что случается на западном рынке, с опозданием приходит к нам. Верим?
Please open Telegram to view this post
VIEW IN TELEGRAM
6
👆👇 Подборка статей как свичнуться из iOS в другой стэк

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

Тема горизонтального роста стоит очень остро. Она стоит гораздо чаще, чем в любой другой профессии. Самый популярный свитчинг из любой технической ветки — это в ветку манагера.

Но что делать, если ты не хочешь быть пипл-менеджером и тебе нравится писать код? Причин может быть много: от количества вакансий под мобилку до технических челенджей.

Для тех, кто задумался, собрал пару интересных статей:

🌄 Переход от iOS-инженера к Backend-инженера. Автор разбирает чем же отличаются или сходятся задачи, языки и мышление кнопкокрасов и джейсонокладов.

🌄 Mobile development vs Machine Learning. Если вы давно смотрите на ML, то автор собрал лучшие карьерные опции для вас. Какие скиллы нужны для той или другой области.

🌄 Мой переход от нативного iOS-разработчика к решению любых задач. Крутейшая статья, как автор перестал ограничивать себя только нативными задачами и начал решать любые проблемы

🌄 Переход из iOS в Android. Ну а этот тред для предателей и отступников. Кто решил бросить свое братство

Делитесь в комментах своим опытом перехода в другие стэки или наоборот, почему пришли в iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
168
💎 Скидка на закрытый контент

Недавно мне сказали, что начали читать мой ноушен чаще, чем хабр. Это сильная мотивация придумывать больше идей, которые будут полезны мне и вам. А также потенциальная точка масштабирования.

Что вы можете получить за подписку?
🟣Большая база вопросов для подготовки к собесам, провалидированная экспертами из крупных компаний
🟣Сотня задач на кодинг-алгоритмы с разбором и комментариями
🟣Десяток уникальных статей про кишки и не очень iOS SDK
🟣Задачи на проектирование и систем дизайн: чаты, избранное, DI
🟣Задачи на рефакторинг
🟣Роадмап iOS разработчика
🟣Чат с крутейшими практикующими разрабами, где тебя не будут булить за глупые вопросы
🟣Многое другое

Предложение ограниченное (для старых подписчиков тоже действует скидка)

🚘🚘Подписку можно оформить через бусти или бота
Please open Telegram to view this post
VIEW IN TELEGRAM
97
SwiftUI: советы по оптимизации

Нативная разработка — это чаще лучший пользовательский и технический опыт. Приложения на нативе в 9 из 10 случаев смотрятся плавнее и красивее, но все зависит от рук разработчика. Любое приложение можно сделать медленным и забагованным, если у тебя руки рака.

Хорошего инженера от плохо отличает, что хороший хочет делать работу хорошо. И у этой оценки всегда растущие требования. Одно из них — оптимизация.

Мы знаем много советов по оптимизации UIKit, но со SwiftUI все не так очевидно.

Автор статьи собрала десяток советов, которые не всегда были бы очевидные:

🟣Для моделей используйте структуры вместо классов
🟣Избегайте AnyView
🟣Чаще используйте Lazy элементы
🟣Используйте @Stateи @Binding вместо @ObservedObject или @EnvironmentObject
🟣Используйте ForEach с явным id

И многие другие.
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Что такое mobile system design?

Большинство форматов собесов себя изживают. Пока мы зубрили доку по iOS рынок придумал еще 2-3 секции, чтобы снизить наши зарплатные ожидания и детальнее оценить кандидатов.

Задачи по знанию iOS часто скатываются в банальный опросник теории, которая на практике встречается редко. Алгоритмы также для многих спорные и требуют очень много времени для подготовки и хорошего навыка программирования.

Альтернативой этому приходит новый компромиссный формат собеседований. Многие подписчики и знакомые все чаще с ним сталкиваются в реальности даже не для сеньорных грейдов.

Мобильное проектирование приложений, или секция архитектуры, не требует сделать идеального решения. Но сильно помогает оценить опыт, харды и софты кандидата. Как он работает в условиях неопределенности и какие решения может предложить не имея ничего. Почти как в реальной жизни. Джуна от сеньора отличает то, что сеньор может работать в максимальной свободе и не ждет пока ему кто-то поможет.

У всех компаний эта секция проходит по-разному: в одних просят нарисовать только схему и поотвечать на вопросы. В других же могут попросить и покодить.

Автор статьи бегло пробегается по частому формату в фаанга. Какие вопросы задают и что могут спросить
12
🌿 Mobile System Design: Проектируем чат как в телеграме

Чаты — это отдельный вид приложений. В нем нужно учитывать многие детали:
🟣Трафик
🟣Кэширование и его очистку
🟣Частоту обновления
🟣Скорость
🟣Масштабирование

Вы наверное сами замечали, что тот же телеграм, при первой своей простоте, скрывает много интересных деталей. Ну или читали статьи про проектирование чата. Статья скорее рекомендация и не является универсальным ответом.

В ноушене я попробовал набросать частую задачу из собеседований и жизни. Когда-нибудь в будущем выложу в гитхаб.

🌄 А я напоминаю, что завтра заканчивается скидка на ноушен. Подписку можно оформить через бусти или бота
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Как пройти архитектурную секцию собеседования

Цепная реакция запущена. Цикл замкнулся и начался новый. Рынок изменится навсегда. Компании копируют друг друга и если одна начала убивать теорию и спускать систем дизайн и рефакторинг, то и другие, чтобы не отставать и адаптироваться к трендам, тоже начнут. Удивительно, что тинек, который без апок в сторе, задает тренды и живее всех живых в мобильной разработке. Что мертво умереть не может?

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

Мне нравится этот тренд. Мобильная разработка растет вширь, в ней начинают циркулировать новые идеи. Сейчас смотрю и изучаю много материала для нового раздела в ноушене. Пока один из лучших докладов — это у Кирилла Розова. Обязательно советую
125
Forwarded from Polymorphic Blueprint (Aѕtɛmiɾ)
Media is too big
VIEW IN TELEGRAM
#metal #advancedui

🎶 Смотреть со звуком


Metal in Action: Audio Player. Round V

Ультимативна версия визуализатора для аудиоплеера. Такая, что пришлось дунгрейднуть количество циклов volumetric rendering'a. Процедурное здесь все, кроме UI.

Дюна... одно из самых любимых произведений. Я старался объединить ключевые концепции этой вселенной: Арракис — можно увидеть на фоне с процедурными песчаными бурями, меланж — окутывает Арракис, блестит, развевается по волнам дюн и светится голубым при активных битах. Пустыня и приближение Шай-Хулуда видны в постоянном дрожании песков, синхронизированном под ритм музыки.

Буквы отрендерены через Signed Distance Function и поворачиваются по мере прогресса трека. Благо, это лишь одна функция и поворот на 90 градусов clockwise 🐭

Поверхность Арракиса, точнее песчаная буря, зависит от битов трека, на основе которых происходит вычисление хеш функции для Fractal Brownian Motion и создает уникальный паттерн для движения бурь; Настраивается практически все, а все что нельзя настроить - можно всегда переписать 😂

🏛 Polymorphic Blueprint
Please open Telegram to view this post
VIEW IN TELEGRAM
1364
какой результат выведется в консоли?
14