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
Если тех.дир Тинька начал решать литкод, то ждем алгособесы в тиньке?

Ну а пока все наивно надеются, что алго-собесы вымрут и их отменят, мы в сообществе уже решили ~150 задач и ежедневно решаем и делимся кодом (иногда эмоционально). Где разрабы из JetBrains, Яндекса, Авито, Тинька и других компаний дают фидбэк и точки роста каждому.

Каждый сам выбирает готовить ли сани летом.
1262
Как Leetcode влияет на прохождение интервью

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

👉В целом корреляция между решением задач на Leetcode и успешным прохождением интервью довольно сильная.
👉На силу корреляции влияет количество решенных задач и их сложность. При этом количество влияет только до определенного порога, после 500 задач эффект перестает расти так сильно.
👉Рейтинг на Leetcode не коррелирует с успешностью интервью.
👉Прорешивание сложных задач в два раза эффективнее, чем задач средней сложности. Каждые 50 сложных задач ведут к повышению успешности прохождения интервью на 7%.
12
🧬 Push уведомления: APNS, виды пушей, хитрости и гайд по настройке

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

В этой статье разберемся в работе пуш уведомлений:
🟣Что такое APNS и как он работает
🟣Чем отличаются Silent Push от других видов пушей
🟣Гайд по настройке пуш-уведомлений
🟣хитрости с запуском приложения через пуши
🟣примеры использования

🧬 Получить доступ к статье можно через подписку в бусти или в боте
Please open Telegram to view this post
VIEW IN TELEGRAM
63
🤔
16
📺 Премьера первого видео на ютуб

Ну что, врата в ад открываются сегодня в 18:00 по мск.

Я не собирался туда идти, но многие подписчики жаловались на плеер в телеге. Ведь все видео в закрытом канале и смотреть на 1,5 часа видос там неудобно.

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

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

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

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

🧬 Получить доступ к закрытым мок-собесам оформив подписки на бусти и в боте
Please open Telegram to view this post
VIEW IN TELEGRAM
11955
О конкуренции

Давно слышал о книге «От нуля к единице» и решил почитать. Понравился этот отрывок.

Отличная книга для выходных
12
😡 Никогда не начинайте задачу с верстки UI

Смотрел недавно отрывок "лекции" от очередного ментора с накрученным опытом и оценил всю "полезность" знаний, которые он дает. В своем ролике он говорит об "инженером мышлении" где советует сначала сверстать UI, а только потом подойти к проектированию и декомпозиции фичи...

Это какой-то особый скилл говорить умные слова с уверенным видом, но ни слова не понимать их реальное значение.

Объясняю на пальцах почему этот подход неправильный и опасный. Мне нравится, как эту часть разобрали в книге "Mobile System Design":

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

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

3. Сколько стоят компоненты для DesignKit. Часто дизайнеры обладают невероятной фантазией, которая может быть слишком сложна в разработке и избыточна для бизнеса. Обязанность UI разработчика подсветить сложность или неэффективность дизайна и предложить альтернативы, а не слепо доверять каждому слову и макету.

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

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

Ну и главный совет — скептично относиться к информации в интернетах. Особенно от людей с малым колличеством опыта в неподходящих для вас корпорациях или забросивших практику, агрессивно предлагающих свое менторство. Ищите окружение практиков, а не новичков. В чатах новичков часто много искажений из-за отсутствия критики и оценки от тех, кто имеет реальный опыт.
Please open Telegram to view this post
VIEW IN TELEGRAM
1443
Вы разраб с большим количеством опыта. У вас на руках офферы на одинаковую сумму во все компании.

От какой компании бы отказались впервую очередь?
Anonymous Poll
27%
Сбер
22%
VK
23%
Яндекс
10%
Т-банк
8%
Авито
5%
Озон
37%
Вайлберис
11%
Альфа
19%
МТС
20%
Все херня
1
Советы по прохождению алгоритмических собеседований

На моей практике около 300 проведенных собесов. Это не считая моков и работы с менти. Реальные собесы сильно отличаются от тестовых: совсем другой уровень напряжения и стресса; тайминги; требования и конкуренция.

В реальном бою больше всего я провел алгоритмические собесы. Есть две причины:
🟣Я сам хуже всего их прохожу
🟣В крупных компаниях алгоритмы могут проводить любые разрабы. Андроид или бэк разраб легко могут отсобесить иосера.

Почему необязательно знать язык программирования, чтобы собесить другие платформы? Потому что на алгоритмах не оценивают знание синтаксиса и, иронично, даже знание редких алгоритмов.

Давайте же разберемся что же оценивают на алгоритмических собеседованиях:

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

2. Поиск корнер-кейсов. Никто не дает вам полных условий. В каждой задаче есть специально не озвученных 3-4 кейса, которые кандидат должен сам найти. Если кандидат ждет идеально описанных условий и требований, то это плохой кандидат

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

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

5. Не спеши отдавать код. Твоя задача не отдать первое попавшееся решение. Нужно еще перепроверить. Все мы ошибаемся

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

7. Будь вежлив и дружелюбен. Помни, что тебя оценивают не только по хардам, но и софтам. Много случаев, когда разработчик начинал психовать и токсичить, когда встречался со сложной задачей. Тебя оценивают не просто как генератора хороших идей, но и коллегу в команду.
Please open Telegram to view this post
VIEW IN TELEGRAM
995
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Push уведомления: как создать кастомный пуш с видео, гифкой или фото

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

Как-то на одном собеседовании в банк меня спросили: "Умеет ли по умолчанию пуш уведомление открывать гифку, фото или проигрывать видео?"

Как раз для этого вопроса я подготовил статью. Узнаем:
🟣Что такое Rich Notifications
🟣Как создавать и настраивать кастомные пуши
🟣Как тестировать пуши

Записал даже видео туториалы

🧬 Получить доступ к статье можно через подписку в бусти или в боте
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Погружаемся глубже в CoW

Наверное, лучшая статья про Copy-On-Write.

В ней разбираются не просто очередные вопросы про стандартную работу и для чего нужен isKnownUniquelyReferenced, а более глубже:
🟣покопается в исходниках
🟣объяснит работу языка и компилятора
🟣дойдем до SIL и Swift Runtime

Изучайте быстрее, а то скоро начнут на собесах спрашивать, если уже не начали.

Ну а мы чуть позже сделаем расширенный разбор CoW в ноушене
Please open Telegram to view this post
VIEW IN TELEGRAM
13
🧬 Вопросы для собеседований: Push-уведомления

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

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

Я сделал чуть по-другому и назвал этот блок более понятно для инженеров — "вопросы для собеседований". Так и мотивации больше будет.

В этом блоке из ~20 вопросов мы соберем основные тезисы из двух моих последний статей
🟣Какие виды пуш-уведомлений существуют
🟣Что такое APNS
🟣Какие библиотеки бывают и как это все тестировать
🟣Как создавать кастомные пуши
🟣А также многое другое

Статьи тут:
🧬 Push уведомления: APNS, виды пушей, хитрости и гайд по настройке
🖥 Push уведомления: как создать кастомный пуш с видео, гифкой или фото

🧬 Получить доступ к вопросам можно через подписку в бусти или в боте
Please open Telegram to view this post
VIEW IN TELEGRAM
33
Как прокачать себя на поведенческом интервью

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

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

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

На то, чтобы объяснить своему менеджеру, что ты именно тот сотрудник, у тебя есть час. В статье очень хорошо расписан фреймворк как делиться правильно своим опытом
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Идеальное приложение

На днях я вернулся в Spotify. Сейчас расскажу о самом лучшем приложении на текущий момент. Как такие приложения влюбляют в себя и вдохновляют.

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

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

Я не могу и дня без музыки. Она задаёт ритм, настроение, успокаивает, вдохновляет, запечатывает воспоминания и создает саундтрек жизни. Долго искал приложение, которое будет отлично закрывать мою доебистость. Я сидел на Яндекс.музыке, ВК музыке и даже, просто господь, на сберзвуке. Ни одно приложение не справлялось лучше.

Разберем причины:
1. Качество приложения. На своем стареньком 11 pro почти каждое приложение накаляет мое терпение. Любой мини лаг или баг портит лояльность и UX. Но только не со спотифай.

Оно работает идеально. Плавность и скорость влюбляет. Где каждый переход или взаимодействие это танец, который изящно переводит тебя к нужной позе.

2. Контент. Ты то, что ты ешь, слушаешь и читаешь. Сидя в Яндекс музыке или ВК музыке я будто питался отходами на мусорке, представляя себя обделенным человеком и смотря в соседнее окно, где лучшие люди хавают еду, а я их объедки.

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

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

Только качественная кухня, только высшая лига, только лучший контент.

3. Дизайн и UX. Каждое мое действие предугадывается. Я делаю минимальное действие и получаю лучшую услугу. Приятную, понятную.

Даже зайдя в лифт ничего не виснет и не вылетает, заранее предзагружая мои следующие песни.

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

Пока ничего лучше спотифай я не встречал. Делитесь своими любимым приложениями
128
Гайд по собеседованию iOS инженера в Google

Вчера у нас в чате был ажиотаж. Пришел сеньор разработчик (L5) из гугла. Реальный сеньор, что прошел отбор 5 алгособесов, а не контрактник через упрощенные собесы за жили были.

После общения сразу встает на место ответ на вопрос почему в фаангах не спрашивают кишки платформы и язык, а дрочат алгосами

Рассказал о многих интересных вещах. Точнее мы заваливали его вопросами, а он отбивался. Было интересно. Вкратце о важном:
🟣сколько и каких задач надо обрешаться на литкоде чтобы пройти собесы
🟣В гугле не запускают Xcode. Все работает удаленно через облачные сервисы и веб IDE, а исходники запрещенно держать локально. Сборки 5 минут и ipa сразу подгружается в симулятор
🟣Много BDUI. Чаще это свой метаязык, где в некоторых проектах бан на Swift, а уж тем более на SwiftUI
🟣Все разработчики пишут не только для iOS, но также и бэк, фронт и другое.
🟣Всё свое. Свой git, свои собственные программы, которые надо изучать с нуля
🟣Спросили какое было собеседование и какие материалы посоветует
🟣узнали сколько часов в день работает и есть ли переработки

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

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

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

Вступить в чат можно тут c минимальной подпиской.
Please open Telegram to view this post
VIEW IN TELEGRAM
18