iOS Mock Interview: Платформа и рефакторинг
Новое видео на ютубе.
Вы не забыли, что у нас есть ютуб?😂 Решил загрузить туда один из первых видосов, которому уже почти год.
В нем мы провели мок-интервью по лайфкодингу и рефакторингу. Спросил популярные и редкие задачи у Искандера, молодого крутого инженера.
Премьера завтра.
Ставьте лайки и подписывайтесь на канал
Поддержите начинающего блоггера.😬
Новое видео на ютубе.
Вы не забыли, что у нас есть ютуб?
В нем мы провели мок-интервью по лайфкодингу и рефакторингу. Спросил популярные и редкие задачи у Искандера, молодого крутого инженера.
Премьера завтра.
Ставьте лайки и подписывайтесь на канал
Поддержите начинающего блоггера.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
iOS Mock Interview: Платформа и рефакторинг | Лев Бондаренко и Искандер Ситдиков
Мок собеседование на iOS инженера.
Платформа, архитектура, рефакторинг кода. Проверим, как кандидат справляется с реальными вопросами, которые задают на собеседованиях в крупные продуктовые компании.
Подписаться на сообщество: https://boosty.to/lionbond…
Платформа, архитектура, рефакторинг кода. Проверим, как кандидат справляется с реальными вопросами, которые задают на собеседованиях в крупные продуктовые компании.
Подписаться на сообщество: https://boosty.to/lionbond…
Swift Ownership: путь к предсказуемой производительности Swift
Язык Swift развивается пугающими шагами. Вопрос его изящности и дружелюбности становится под вопросом. Новые фичи языка дают много крутых возможностей, но увеличивают порог входа. Без бутылки уже не обойтись.
Странно, что этот доклад почти никто нигде не публиковал. Автор доклада рассказывает многие неочевидные детали языка, которые могут сильно повлиять на производительность.
Крайне рекомендую доклад.
Язык Swift развивается пугающими шагами. Вопрос его изящности и дружелюбности становится под вопросом. Новые фичи языка дают много крутых возможностей, но увеличивают порог входа. Без бутылки уже не обойтись.
Странно, что этот доклад почти никто нигде не публиковал. Автор доклада рассказывает многие неочевидные детали языка, которые могут сильно повлиять на производительность.
Крайне рекомендую доклад.
Forwarded from Московский кэш
👨💻В России заработала платформа для подтверждения навыков айтишников
Программисты, которые успешно справятся, получат сертификат Минцифры и отметку на Госуслугах.
Программисты, которые успешно справятся, получат сертификат Минцифры и отметку на Госуслугах.
Сократите расходы, а не углы. Модуляризация с помощью SPM
Когда речь идёт об архитектуре, важно понимать: MVC, MVP, VIPER, TCA — это не архитектуры, а лишь паттерны уровня UI. Настоящая архитектура — это о структуре всего приложения, а не одного экрана.
Модуляризация отвечает на прямые вопросы:
- Где будет бизнес-логика?
- Как делятся модули?
- Как они взаимодействуют?
- Как добавлять новые фичи?
Эти вопросы особенно важны, когда проект растёт и превращается в монолит: сборка становится медленной (привет банки с часом сборки проекта), а багов всё больше. В такой ситуации уже не до споров про TCA или VIPER — хочется просто, чтобы всё работало.
Автор этого видео рассказывает, как модуляризация с помощью SPM помогла избежать им множество реальных проблем:
- разделить код проекта на логические блоки
- ускорить билд проекта
- чётко разграничить зоны ответственности,
- упростить переиспользование кода
- улучшить чтение и понимание проекта
- повысить общее качество проект
Архитектура — это не стиль, а система с понятными метриками и последствиями. И если решать архитектурные проблемы — то с опорой на реальную структуру проекта, а не только на паттерны UI.
Ее не натянешь на готовый шаблон, ее нужно сформулировать с учетом бизнес требований проекта и его особенностей.
Когда речь идёт об архитектуре, важно понимать: MVC, MVP, VIPER, TCA — это не архитектуры, а лишь паттерны уровня UI. Настоящая архитектура — это о структуре всего приложения, а не одного экрана.
Модуляризация отвечает на прямые вопросы:
- Где будет бизнес-логика?
- Как делятся модули?
- Как они взаимодействуют?
- Как добавлять новые фичи?
Эти вопросы особенно важны, когда проект растёт и превращается в монолит: сборка становится медленной (привет банки с часом сборки проекта), а багов всё больше. В такой ситуации уже не до споров про TCA или VIPER — хочется просто, чтобы всё работало.
Автор этого видео рассказывает, как модуляризация с помощью SPM помогла избежать им множество реальных проблем:
- разделить код проекта на логические блоки
- ускорить билд проекта
- чётко разграничить зоны ответственности,
- упростить переиспользование кода
- улучшить чтение и понимание проекта
- повысить общее качество проект
Архитектура — это не стиль, а система с понятными метриками и последствиями. И если решать архитектурные проблемы — то с опорой на реальную структуру проекта, а не только на паттерны UI.
Ее не натянешь на готовый шаблон, ее нужно сформулировать с учетом бизнес требований проекта и его особенностей.
Некоторые считают, что Singleton разрушает архитектуру.
Другие, что без него не построить хорошую DI.
Че думаете вы?
Другие, что без него не построить хорошую DI.
Че думаете вы?
Anonymous Poll
6%
лютый антипаттерн на 100%, нельзя его использовать
11%
отличная глобальная переменная на стероидах
64%
Если аккуратно, то все ок
10%
Рабочая штука не для всех
9%
Что вообще с ним не так?
В закрытой базе я начал новую серию статей про модуляризацию. В комьюнити очень часто приходят с запросами по модуляризации и другим архитектурным вопросам.
За последние пол года уже 3-4 разработчика спрашивали лучшие практики или полезные материалы. Кто-то готовился к собесам, кто-то получал задачи на текущем проекте. Информации в сети не так много и поэтому многие не знали как к этому вопросу подойти.
Я и сам на своем проекте буду заниматься распилом фичей команды, поэтому мне нужно хорошо освежить, структурировать и улучшить знания, чтобы выбрать наилучшие подходы.
В первой статье собрал большой материал:
В следующих статьях будем погружаться глубже в практику. Разбирать такие инструменты как CocoaPods, SPM, Tuist, Xcodegen и другое. Какие архитектуры выбирают при разбиении, а также как избавляться от монолита.
Please open Telegram to view this post
VIEW IN TELEGRAM
SwiftUI in 2025: Забудьте MVVM
Мы уже заметили, что тема архитектур пробуждает в разрабах что-то первобытное и животное. Уходят рациональность и объективность, приходит что-то религиозное и стилистическое.
Я перестал воспринимать все архитектурные решения субъективно и оценивать «по уюту» как только осознал, что мы — коммерческие разрабы. Мы не строим удобный загородный дом. Мы строим коммерческие помещения, заводы, пароходы. Высокого качества.
Поэтому мне до сих пор странно видеть, как западные авторы рассказывают об угрозах в свой адрес, когда они высказывают непопулярное мнение. Или как мы переходим на оскорбления споря про синглтоны или ТСА/Вайперы.
Решил вас добить и скинуть еще одну провокационную статью🥲
Автор утверждает:
🟣 SwiftUI и MVVM несовместимы по философии.
Многие разрабы принесли в SUI свои привычки из UIKit. Автор утверждает, что многие привычки и так были встроены в фреймворк и мы лишь дублируем или усложняем то, что задумано by design.
🟣 на его практике все чаще встречаются приложения без ViewModel. Они отлично живут, все замечательно.
🟣 потребность в ViewModel появляется потому, что многие разрабы не понимают хорошо стандартные механизмы биндинга: @observable, @state, @binding
🟣 вся философия SwiftUI заложена на написания простого и понятного кода. Не усложняйте.
А вы как считаете? Заслуживает автор оскорблений и линчевания?
Мы уже заметили, что тема архитектур пробуждает в разрабах что-то первобытное и животное. Уходят рациональность и объективность, приходит что-то религиозное и стилистическое.
Я перестал воспринимать все архитектурные решения субъективно и оценивать «по уюту» как только осознал, что мы — коммерческие разрабы. Мы не строим удобный загородный дом. Мы строим коммерческие помещения, заводы, пароходы. Высокого качества.
Поэтому мне до сих пор странно видеть, как западные авторы рассказывают об угрозах в свой адрес, когда они высказывают непопулярное мнение. Или как мы переходим на оскорбления споря про синглтоны или ТСА/Вайперы.
Решил вас добить и скинуть еще одну провокационную статью
Автор утверждает:
Многие разрабы принесли в SUI свои привычки из UIKit. Автор утверждает, что многие привычки и так были встроены в фреймворк и мы лишь дублируем или усложняем то, что задумано by design.
А вы как считаете? Заслуживает автор оскорблений и линчевания?
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
SwiftUI in 2025: Forget MVVM
Let me tell you why
Мок-интревью: Modern iOS System Design | Senior SwiftUI engineer
На выходных записали мок-интервью с моим хорошим товарищем Владом, iOS разработчиком из Авито (иногда пишет бэк). Мы с ним давно знакомы и когда я ему предложил сделать мок-интервью, то сразу знал, что выйдет пушечный контент.
Мы много раз переносили и почти передумали, но все же записали. Сейчас пересматривая понимаю, что не прогадал. И спешу поделиться с вами впечатлениями от полтора часа лютой базы.
Это прям эталонная интервью крепкого инженера образца 2025 года. Когда хорошие харды сочетаются с софтами. Когда инженер предлагает множество решений и очень внимательно слушает бизнес и коллег.
На собесах за год формат интервью систем дизайна сильно изменился. Рынок перестал просить рисовать вас диаграмы. Теперь он просит открывать вас реальный проект и проектировать в максимально реальных условиях.
И спроектировать джиру :) Влад один из самых красноречивых парней, с четкой речью и понятными объяснениями. Поэтому было очень круто слушать его.
Такой формат интервью помогает оценить кандидата по трем важным пунктам:
- знание и владение рабочими инструментами
- ширина и глубина теории теории
- крепкость закрепления практикой
Влад не просто показал мастер класс владения SwiftUI, но и:
- рассказал как грамотно собирать продуктовые и технические требования
- обсудили выбор архитектуры для проекта
- поделился стратегией выбора компонентов
- оценили потенциальную нагрузку и перфоманс приложения
В пятницу опубликую в бусти. На очереди еще много контента.
Круто, что мы по кирпичикам складываем инженерную культуру вместе.
Успевай взять по скидкам💰 тут или ⭐️ тут 🥲
На выходных записали мок-интервью с моим хорошим товарищем Владом, iOS разработчиком из Авито (иногда пишет бэк). Мы с ним давно знакомы и когда я ему предложил сделать мок-интервью, то сразу знал, что выйдет пушечный контент.
Мы много раз переносили и почти передумали, но все же записали. Сейчас пересматривая понимаю, что не прогадал. И спешу поделиться с вами впечатлениями от полтора часа лютой базы.
Это прям эталонная интервью крепкого инженера образца 2025 года. Когда хорошие харды сочетаются с софтами. Когда инженер предлагает множество решений и очень внимательно слушает бизнес и коллег.
На собесах за год формат интервью систем дизайна сильно изменился. Рынок перестал просить рисовать вас диаграмы. Теперь он просит открывать вас реальный проект и проектировать в максимально реальных условиях.
И спроектировать джиру :) Влад один из самых красноречивых парней, с четкой речью и понятными объяснениями. Поэтому было очень круто слушать его.
Такой формат интервью помогает оценить кандидата по трем важным пунктам:
- знание и владение рабочими инструментами
- ширина и глубина теории теории
- крепкость закрепления практикой
Влад не просто показал мастер класс владения SwiftUI, но и:
- рассказал как грамотно собирать продуктовые и технические требования
- обсудили выбор архитектуры для проекта
- поделился стратегией выбора компонентов
- оценили потенциальную нагрузку и перфоманс приложения
В пятницу опубликую в бусти. На очереди еще много контента.
Круто, что мы по кирпичикам складываем инженерную культуру вместе.
Успевай взять по скидкам
Please open Telegram to view this post
VIEW IN TELEGRAM
Как я уже говорил — любой фреймворк, библиотека, патч решая одни проблемы, приносит новые.
Будь это SUI, архитектура, BDUI, кроссплатформа. Есть большая разница между разрабами инструментов и теми, кто ими пользуется. Это как создатель автомата и стрелок. Последний оценивает полноценно как инструмент показывает себя в бою и выставляет оценку.
И чаще новые проблемы не такие очевидные, для их поиска нужно много времени и ресурсов. Если бы код и система были бы идеальными, то мы бы сидели на Swift 1.0, Xcode 0.0.1 и бесконечно не обновлялись.
Вот и Swift Concurrency тоже неидеальный. Под громкими ослепительными обещаниями казалось, что проблем нет и вот это тот инструмент, который будет работать без прошлых проблем. Но чтобы получить все его плюсы, нужно одолеть много трудностей.
Автор поделился своим опытом проблем, которые SC приносил в проект при адаптации:
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Swift Concurrency в iOS SDK Яндекс Доставки / Ярослав Смирнов
На Яндекс Dev Day&Night Ярослав Смирнов, старший iOS-разработчик, рассказал, как в SDK Доставки добавляли поддержку Swift Concurrency, как решали типичные и не очень задачи и какие выводы из этого сделали.
Подписывайтесь на наши телеграм-каналы:
Yandex…
Подписывайтесь на наши телеграм-каналы:
Yandex…
iOS Makes Me Hate
ну че, желаю всем, чтоб в "убийцах телеграма" также платили, как в телеграме
Смерть мобильной разработки или временная трудность?
Все чаще слышу, как многие иос инженеры не могут найти работу. Бывает, что их поиски длятся больше чем полгода. В целом, итишка переживает не лучшие времена. Но неужели все так печально?
В США уже итшники побили рекорд по безработице. Еще немного напрягает в целом ситуация что удаление из сторов продолжается, а новые учетки разработчиков все сложнее купить
Поделитесь своим опытом поиска работы в СНГ и в мире? Дело только в иос или вообще проблема со всем ит?
Все чаще слышу, как многие иос инженеры не могут найти работу. Бывает, что их поиски длятся больше чем полгода. В целом, итишка переживает не лучшие времена. Но неужели все так печально?
В США уже итшники побили рекорд по безработице. Еще немного напрягает в целом ситуация что удаление из сторов продолжается, а новые учетки разработчиков все сложнее купить
Поделитесь своим опытом поиска работы в СНГ и в мире? Дело только в иос или вообще проблема со всем ит?
Futurism
"Learn to Code" Backfires Spectacularly as Comp-Sci Majors Suddenly Have Sky-High Unemployment
It looks like the "learn to code" push is backfiring spectacularly for those who majored in computer science in college.
Media is too big
VIEW IN TELEGRAM
Мне всегда казалось, что любой продукт нейросетей это что-то вторичное и переработанное.
Высушенное и без души. Пока не наткнулся на автора таких видео, где он модернизирует современных классиков. Он душу вкладывает не просто в нейросеть, а в давно забытые стихи.
Работа впечатляет. Еще раз убеждаюсь, что решает не инструмент, а руки, которые его используют.
Высушенное и без души. Пока не наткнулся на автора таких видео, где он модернизирует современных классиков. Он душу вкладывает не просто в нейросеть, а в давно забытые стихи.
Работа впечатляет. Еще раз убеждаюсь, что решает не инструмент, а руки, которые его используют.
Вышел в закрытый доступ для "самураев" новый выпуск мок-интервью с инженером из Авито. Двигаемся глубже в современные технологии.
Я уже писал развернуто свой фидбэк тут, но теперь вы можете сами оценить.
Уметь собирать требования и подбирать под них нужные инструменты — важнейший навык коммерческого инженера.
В новом формате систем дизайна мы решили представить ситуацию, когда Владу нужно спроектировать жиру (а надо было AppStore
Влад не просто показал мастер класс владения SwiftUI, но и:
Отличный вариант занять себя на выходные
Успевай взять по скидкам
Please open Telegram to view this post
VIEW IN TELEGRAM
Мнение про вайбкодинг-собесы: Норм или стрем?
Мы в индустрии обожаем жаловаться на собесы. У каждого были кейсы, где ты чувствовал себя участником шоу "интуиция". Но решений и альтернатив всё ещё мало
Недавно узнал, что некоторые крупные компании вводят пилотный формат собесов по "вайбкодингу". Это когда ты не просто решаешь задачу, а показываешь, как ты это делаешь. Ищешь, спрашиваешь у ИИ, комбинируешь ответы, проверяешь гипотезы. То есть ближе к реальной работе.
Да более того, есть некоторые отдельные команды, которые ОБЯЗАЛИ своих разрабов использовать cursor/claude, а кто этого не делает должен объясниться и получить ярлык "неэффективного".
Я вполне нормально отношусь к таким собесам с гуглином и аишкам. Ведь кто ими не пользуется? Помню даже проходил внутренний собес в авито в спиды (платформенная команда CI/CD) и мы три часа решали разные задачи, где мне легко разрешали гуглить. Оценивая как я собираю информацию и к чему подхожу.
Вроде бы наконец-то. Мы избавились от этих алгосов и зубрежки теории. Заживем. Ушли от этого вайтбординга к вайбкодингу, умеем оценивать главное в разработке сегодня — не помнить всё наизусть, а уметь эффективно находить и применять информацию.
Но и тут мы нашли критику:
- одни жалуются, что теперь еще сложнее находить работу. Ведь только "взломали найм" с его хрупкой системой, то теперь придется не зубрить билеты и идти по шаблону, а уметь думать и творчески подходить к работе.
- другие считают, что мы убиваем инженерность. И теперь остается только копипастить код (который раньше многие копипастили со стэковерфлоу).
Как по мне, наоборот круто, что такие собесы появляются. Ведь оценивают не твою подготовку к собесам или академические знания, а твою работу и практику. Че думаете?
Мы в индустрии обожаем жаловаться на собесы. У каждого были кейсы, где ты чувствовал себя участником шоу "интуиция". Но решений и альтернатив всё ещё мало
Недавно узнал, что некоторые крупные компании вводят пилотный формат собесов по "вайбкодингу". Это когда ты не просто решаешь задачу, а показываешь, как ты это делаешь. Ищешь, спрашиваешь у ИИ, комбинируешь ответы, проверяешь гипотезы. То есть ближе к реальной работе.
Да более того, есть некоторые отдельные команды, которые ОБЯЗАЛИ своих разрабов использовать cursor/claude, а кто этого не делает должен объясниться и получить ярлык "неэффективного".
Я вполне нормально отношусь к таким собесам с гуглином и аишкам. Ведь кто ими не пользуется? Помню даже проходил внутренний собес в авито в спиды (платформенная команда CI/CD) и мы три часа решали разные задачи, где мне легко разрешали гуглить. Оценивая как я собираю информацию и к чему подхожу.
Вроде бы наконец-то. Мы избавились от этих алгосов и зубрежки теории. Заживем. Ушли от этого вайтбординга к вайбкодингу, умеем оценивать главное в разработке сегодня — не помнить всё наизусть, а уметь эффективно находить и применять информацию.
Но и тут мы нашли критику:
- одни жалуются, что теперь еще сложнее находить работу. Ведь только "взломали найм" с его хрупкой системой, то теперь придется не зубрить билеты и идти по шаблону, а уметь думать и творчески подходить к работе.
- другие считают, что мы убиваем инженерность. И теперь остается только копипастить код (который раньше многие копипастили со стэковерфлоу).
Как по мне, наоборот круто, что такие собесы появляются. Ведь оценивают не твою подготовку к собесам или академические знания, а твою работу и практику. Че думаете?
Простая модуляризация для нового приложения
Один из частых споров после архитектур, алгоритмов и собесов — это модуляризация.
Что на работе, что на конференциях, что в чатах. Здесь много свободы, а шаблонные решения не всегда подходят под реальные требования. Куда класть презентейшен-логику, а куда UI? Создавать ли Services для бизнес логики, или UseCases?
Модуляризация — это как ремонт в семье. Есть риск что все разосрутся и разведутся.
Автор предлагает очень простую структуру для модуляризации приложения: App, Features, Core, Shared. Без магии, без оверинжиниринга.
- Меньше связей между частями кода
- Легче тестировать
- Быстрее понимать, что где находится
В ноушене готовлю кстати подборку таких структур и шаблонов, которые встречал в реальной жизни и интернетах. Где можно оценить как инженеры нарезают на слои свои приложения
Один из частых споров после архитектур, алгоритмов и собесов — это модуляризация.
Что на работе, что на конференциях, что в чатах. Здесь много свободы, а шаблонные решения не всегда подходят под реальные требования. Куда класть презентейшен-логику, а куда UI? Создавать ли Services для бизнес логики, или UseCases?
Модуляризация — это как ремонт в семье. Есть риск что все разосрутся и разведутся.
Автор предлагает очень простую структуру для модуляризации приложения: App, Features, Core, Shared. Без магии, без оверинжиниринга.
- Меньше связей между частями кода
- Легче тестировать
- Быстрее понимать, что где находится
В ноушене готовлю кстати подборку таких структур и шаблонов, которые встречал в реальной жизни и интернетах. Где можно оценить как инженеры нарезают на слои свои приложения