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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
новый прайс на менторство:
40к пообщаться о жизни
500к на стрим поспорить за алгосы
👾16👍6🫡4💘3💯2
5 задач динамического программирования для iOS

Когда только изучал алгоритмы, то всегда задавал вопрос "а как мне это пригодится?". Понял, что без практики почти и не поймешь. Будешь долго гуглить как быстро и эффективно найти самый близкий путь для курьера на карте, как найти общую супервьюху у двух вьюх, как найти самую длинную подстроку. И это только изи задачи.

Сейчас лучше углубился в динамическое программирование. Благодаря кодрану от яндекса. Там много задач с ним. Плюс еще и оформлены под реальные кейсы.

Кстати, открываю рубрику "алгоритмы в реальной жизни иосника"
👍14🔥43👾2❤‍🔥1
Навык проводить собесы или как раскрыть актеров

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

Еще тогда плохие собесы порождали самозванцев. Да и я сам неосознанно попадался на такое.

Особенно те, кто проходит 20-30 собесов. Человек отлично учится казаться и обманывать самого себя в своей экспертности.

Тогда я понял много уроков:
1. Не верить словам. Давать задачи и смотреть на факты
2. Быть гибким на собесах. Не юзать шаблонные метрики. Их быстро заучивают.
3. Никогда не останавливать собес словами "я понял ты опытный и шаришь". Цель собеса — проверить дно и границы навыков. Даже если ты уже знаешь будет ли нанят кандидат.
4. Уменьшать стресс для интервьюера. Так он лучше раскроется. Некоторые даже разрешают гуглить некоторые задачи, но уменьшают при этом баллы.
5. Если не можешь оценить его, то ставить еще интервью и звать еще экспертов на помощь.

Цели собесов — это мягкая оценка, а не стресс-тест для кандидата. Нельзя быть слишком мягким, нельзя быть слишком жестким.

Тогда я понял, что от нанятого кандидата зависит работа и отношение команды к тебе. А если ты нанимаешь самозванцев часто, то они учат других обманывать тебя
👍22👾2🫡1
Channel name was changed to «iOS makes me hate»
Давно пора
❤‍🔥18👾10💯8🆒1
🗺 Обход графа

Графы встречаются чаще, чем кажется. Смотря на UIView можно понять много алгоритмов, которые помогут решить разные проблемы. Например, найти общие супервью, уровни вложенности или пересечения с замыканиями.

Особенно полезно строить точки на офлайн карте, когда связь пропала или ее заглушили (бэку же не отдашь расчет). Прокладываете путь таксисту, который несется двести тысяч км в час и нужно быстро перерисовать экран на его калькуляторе. Курьеру на самокате, несущемуся со скоростью света, доставить тебе покушать из любимой доставки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👾3🔥2💯2
Основы алгоритмов от яндекса

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

Вот. Скоро будет хэндбук, который поможет всем нам стать чуточку умнее
👍15💘3👾31🆒1
а вы говорили математика не нужна...
🫡11👍5🔥3👾3
Leetcode отменяется: Опыт собеса в Stripe

Собесы — головная боль многих. Как начинающих джунов, так и опытных разрабов и даже тимлидов. Уметь проводить собес интервьюеру очень важно. В авито у нас есть система обучения. Ты должен на каждую секцию придти слушателем 3 раза и после получить 2 апрува под присмотром более опытного эксперта. Всего 3 секции. А значит 15 собесов только на обучение минимум. Я обучился уже всем. На каждой провел по 10-20 собесов, но даже скажу, что такая дорогая и проработанная система имеет свои сложности по актуализации и опылению между старенькими и новенькими.

Да и мне есть с чем сравнивать. Пройдя около 30-40 и проведя еще 100 собесов в разных компаних за весь свой опыт. Как оценивать кандидатов спорят все. И даже найдя компромиссы и зарегламентировав правила каждый будет оценивать по-своему и где-то игнорировать общие рекомендации.

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

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

Слово алгосы уже всех пугает. Поэтому можно сделать собесы чуть живыми
👾7👍6❤‍🔥1🔥1
Менторы, онлайн школы, эксперты на ютубе — это все привело к перенасыщению рынка спецов с 2 месяцами опыта и зарплатными амбициями директоров гугла. Они обещали им работу, но оставили только разочарование и обиду.

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

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

Девушки в видео очень толково раскидали за жизнь в сложных направлениях (МЛ, биг даты, нейросетки). Зачем нужна база и как минимум системное мышление.

Я сам поступил в ВУЗ на очно-заочное в прошлом году. В 29 лет. До этого у меня правда было средне-специальное и незаконченное высшее. Но не слушайте опять же тех, кто учит прогать и искать работу, не работав программистом или забросив это

https://www.youtube.com/watch?v=fA7FHj7wbss
🫡8👍5💯2👾2
Переписываем старый проект на obj-c с помощью ЧатГПТ

Некоторые вакансии до сих пор требуют знания этого языка. Где-то он остался из-за легаси, где-то из-за не выстроенных процессов работы с техдолгом, где-то просто потому, что одни мамонты на проектах.

Здесь опять облегчает нашу работу чатгпт. Он не заменяет полноценно и работает по принципу корявого гугл переводчика, но все же сильно помогает в работе
👍6👾1
📚 "Четвертая промышленная революция"

ИТ границы расширяются. Услуги и инструменты находят свои цифровые копии. Это новый материк, куда многие спешат за деньгами, спасением от мобилизации, ради свободы или любопытства. Планета, а может и вселенная. Куда копируются и оцифровываются старые концепции. Целые страны и культуры.

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

Одна из лучших книг, которая показывает важности цифровых экономик.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👾1
Off-Screen Rendering и Blended Layers: Основные поинты

Кто не знает о Off-Screen Rendering, то еще года полтора назад я писал статью на хабре. Она затрагивает вопрос оптимизации UI. Что такое лаги и почему они могут происходить.

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

Вот основные кейсы:

- Off-screen рендеринг это часть отрисовки котороая не может быть выполнена на GPU и должны быть выполнена на CPU.

- Обнаружить проблему off-screen рендеринга можно через Debug меню iOS Simulator'a, выбрав опцию "Color Offscreen-Rendered Yellow".

- Кейсы которые приводят к off-screen рендерингу: CALayer corner radius, CALayer shadow, CALayer mask, Любая кастомная отрисовка с использованием CGContext

- Blending это стадия в процессе рендеринга фрейма когда вычисляется финальный цвет пикселя. Каждый UIView в иерархии (а если быть точнее каждый CALayer) аффектит цвет финального пикселя который будет отрисован на экране, так как нужно учесть все пересекающиеся views, их alpa, backgroundColor, opaque и тд.

- Обнаружить проблему color blending'a можно выбрав опцию "Color Blended Layers" в in Xcode или в Debug меню iOS Simulator'a.
👍29👾1
Как торговаться на собесах

Признаюсь, я никогда не торговался на собесах. Мне всегда казалось, что работа должна давать комфортный уровень жизни, а выжимать из нее на 20, 30к, 50к больше — не лучшая стратегия для обогащения.

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

Прикольная статья от getmatch с советами по торгам. Да да. Все лежит на поверхности
👍151