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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Скоро мы в мобилке
11
🚘🚘 Ресурсы марафона проектирования № 1

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

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

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

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

💎 Для тех, кто не смог, но хотел есть утешающий приз. Все предыдущие записи и презентации можно посмотреть по подписке
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Как побеждать в конкурсах от Telegram?

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

Вот советы:
🟣Никто на конкурсе не оценивает твои навыки кодинга. Важна работа фичи. Кодревью нету
🟣Чаще выигрывают студенты. Они еще не зацементировались об процессы бигтехов.
🟣Определяйте правильно приоритеты. Не стоит заморачиваться на мелких деталях, если не сделали основные требования
🟣Забудь про Clean и архитектуры. Не стоит ожидать, что тебя оценивают как инженера. Важно, как ты быстро делаешь рабочую фичу
🟣Есть два вида задач: интеграция в приложение и создание новой фичи

Не смотря на отдельный мир от реальной жизни, конкурсы телеграм все равно сильно бустят
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Ну че, тогда ищу желающих проводить и проходить мок собесы.

Большинство мок-собесов, на мой взгляд, довольно среднего качества. Они дают только вопросы, но не дают ответы. Фидбэка, который ожидает интервьюер. КПД таких собесов низкая. Я даже в интернете не понимаю эффективность слитых собесов, если ты на них не можешь дать ответы. К официальным мок собесам хоть готовятся, а в чем смысл учиться на слитых? Где ленивый интервьюер максимально неряшливо проводит очередной собес.

Каждый мок собес будет с подробным фидбэком и ожиданиями ответов. Ценность для зрителя будет высокая.

Жду желающих. Первые собесы проведу я
286
По запросам справедливости сделал скидку на подписку по телеграм-боту. Так как на бусти уже была скидка

Из последних обновлений:
- Ресурсы марафона проектирования
- Подборка задач на SOLID
- Продвинутый разбор Equatable и Hashable
- Mobile System Design: Проектируем Instagram

Также первое время мок-собесы будут доступны только по подписке.
🧬 Продвинутый разбор Optional

Вопрос как реализован системный опциональный тип уже перестал кого-то удивлять. Все прекрасно знают, что это enum с двумя значениями. Мы уже разбирали его раньше.

Поэтому попробуем погрузиться вглубь и разобрать непопулярные детали.

🌺 Например, метод map. Мало кто знает о нем и многие путают с методом map коллекций. В опциональном типе он делает почти то же самое: если у нас есть значение, то мы преобразуем его и возвращаем новое.

🌿 В новой статье я сделал побробный анализ как бы я сделал свой кастомный опциональный тип, а также реализовал:
🟣Функцию flatMap
🟣nil coalsesing
🟣force unwrapping
🟣Задача “отфильтровать уникальные значения”
🟣И кое-что дополнительное

Если вы хотите хорошо понимать как устроен Optional, то это статья для вас. Разобрал для вас некоторые детали исходников.

💎 Получить доступ можно по телеграм-боту со скидкой или через бусти
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
61
Deep Focus или кому нет дороги в IT

Самый главный навык для инженера — усидчивость. Мой опыт менторства показал, что не всем можно вкатиться в ит. Достаточно задать вопрос "А сколько ты готов сидеть на одном месте?". Те, кто не может глубоко погружаться в задачи, разбираться в легаси, изучать новый апдейт и искать с микроскопом баг — всегда сливаются. Нужно сохранять сосредоточенность и инфогигиену.

Среди моих знакомых даже есть один тамада, который все нервы вытрепал каждому ментору. Он не хотел делать домашки, читать материал, фиксить свои пробелы. Он хотел быстрых и легких путей. Денег, что обещали ему фейк-сообщества и курсы. Его мозг не готов был к новой нагрузке. Ведь есть главное правило: чем дольше погружаешься, тем больше надо впитывать. Нельзя пытаться найти тех, кто за него сделает упражнения. Они встанут на твое место. В итоге, он обманывал сам себя, ушел в убытки и вернулся обратно проводить свадьбы. Потратив свое и чужое время.

Но есть еще одна проблема — это удержание. Если многие думают, что самый сложный этап — это войти в ИТ, то есть еще проблема как в нем остаться на долго. Так еще и продолжать развиваться. Риск быть устаревшим или автоматизированным каждый день все выше.

Сейчас читаю книгу Deep Focus. В ней автор объясняет важность глубокого погружения в ит профессиях и насколько сильно интернет убивает в нас этот важнейший навык. Он пророчески, даже того не подозревая, предрек огромную проблему 7 лет назад.

Фрагментарное мышление сейчас называют по-разному. СДВГ, "работа 4 часа в день", тиктоки, твитеры, ютубы. Легкий дофамин прожигает нашу ментальную систему. Мы становимся слабыми, а нашей слабостью пользуются другие. Как наркобарыги, которые подсаживают на героин своих клиентов.

Как сопротивляться этому наркотику, отравляющему душу и разум?
🟣минимизировать потребление социальных сетей. Большинство информации в интернете — мусор. Нас обманывают, когда говорят, что мы упускаем выгоду, если не промониторим тысячу чатов и каналов. Соцсети — это товар для бедных.
🟣читать книги. Книги приучают наш мозг к сложной работе. Позволяют держать крупную картину в голове и погружаться в одну мысль постепенно.
🟣решать больше задач. Алгоритмы — это хороший тренажер для тренировки той самой усидчивости. Борьба с ленью, менталкой, неудачами. Формирование аналитического мышления

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

Наша информационная экономика зависит от комплексных систем, которые быстро изменяются.

Наша цель развиваться быстрее, чем развиваются системы, которые нас заменят.
Please open Telegram to view this post
VIEW IN TELEGRAM
297
💎 Новая подборка вопросов для собеседований

Я продолжаю собирать вопросы для подготовки и проведения интервью. Сейчас я сделал акцент на качестве материала. Очень много есть вопросов в сети, но мало качественных ответов. Кто-то не стесняется генерировать ответы с помощью чатгпт и получается кринж.

В этой подборке я сфокусировался на опционале с кодом:
🟣 Для чего нужен Optional?
🟣 Как бы ты реализовал свой force unwrapping?
🟣 Как сделать сравнение на уникальность Optional типа?
🟣 Как сделать свой оператор nil coalesing?
🟣 Для чего нужен ExpressibleByNilLiteral
🟣И другие вопросы

🌿 Другие подборки можно посмотреть тут

💎 Получить доступ можно по телеграм-боту со скидкой или через бусти
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Forwarded from CodeCamp
Парни, что с лицом?
201
Как узнать выделяется ли Value Type на куче

Автор треда рассказывает, что его понимание работы с памятью было очень упрощенным. Раньше он думал, что любой value type выделяется на стэке, а reference type — на куче.

Но тут есть много нюансов. Например, все коллекции с COW работают с кучей, а также все структуры с свойствами ссылочного типа
421
Как писать регулярные выражения

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

Здесь же мне потребовалось освежить знания как писать с нуля. Говорят, чатгпт уже на изи справляется с такой работой. Но мы же не какие-то лохи, чтобы отдавать работу бездушной тупой машине?
10
Детальный разбор Hashable & Equatable

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

Протокол Hashable сильно помог. Он упростил жизнь и дал работать с коллекциями почти без коллизий, дав hasher, который легко сгенерирует уникальный хэш. Но что же сделать, если все же коллизии образовались? Тут есть еще одно решение как Equatable

Equatable помогает нам дополнительно проверить наши свойства эквивалентность. Тем самым дополнительно защищая нас от коллизии

Как он работает разберем в скриншотах, а недавно я писал детальную статью

Ссылки для чтения:
- Organize data using arrays, sets, and dictionaries.
- Hashable withe equtable
- Equatable docs
93