Форк фреймворка для собесов по систем дизайну
Я устал решать алгоритмы и принялся за наполнение задач по систем дизайну. Или, в простонародье, архитектурам.
Для этого базой будет форк известного репозитория, но он будет адаптирован под iOS и во многих моментах улучшен.
В чате мы вместе с опытными архитекторами сегодня уже набросали около 20 задач. На них я подсчитал мне нужно будет 3-4 месяца🥲
💎 Вступай, чтобы мне помочь
Я устал решать алгоритмы и принялся за наполнение задач по систем дизайну. Или, в простонародье, архитектурам.
Для этого базой будет форк известного репозитория, но он будет адаптирован под iOS и во многих моментах улучшен.
В чате мы вместе с опытными архитекторами сегодня уже набросали около 20 задач. На них я подсчитал мне нужно будет 3-4 месяца
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - levabond/ios-mobile-system-design: A simple framework for mobile system design interviews for iOS
A simple framework for mobile system design interviews for iOS - levabond/ios-mobile-system-design
Худшие приложения made by wolfs часть 3
Anonymous Poll
11%
Телеграм
13%
ОТП Банк
13%
Юла
18%
МТС
15%
Билайн
11%
Мегафон
11%
Qiwi
9%
Okko
13%
hh
33%
Другое
Эта книга главный техно майндченжер года. Абсолютно разрушительная для многих инженеров книга, оголяющая нерв и бьющая по разным болевым точкам аудитории.
Главный враг в обучении — это сомнения. Избыточно самоуверенные только глупцы. Чем больше знаний и навыков, тем больше вопросов. А слепая наивность может привести не к той карьерной лестнице, которая приложенна к другой стенке.
Структурированные книги дают уверенности и фундамент мыслям, которые еще до чтения фрагментами обязательно приходят в дискуссиях или раздумиях.
Они дают опору под ноги и не позволяют упасть нашим хрупким убеждениям. Связывая и объединяя нас, давая зрелость и глубину нашим мыслям. Улучшая качество коммуникации, а значит и ускоряя путь к истинам.
В этой книге разбирается:
Обязательная книга для новичков и опытных, которые слишком долго сидели в одной компании
Please open Telegram to view this post
VIEW IN TELEGRAM
Xamarin RIP
Как-то в прошлом году я собирал внутри внутренний митап, где обсуждали почему кроссплатформищики переходили обратно на натив. Я тогда хотел посмотреть стоит ли затаскивать КМП в команду.
После разговора моя вся вера в кроссплатформы умерла. Инженеры были супер-скилловые, а технологии не выгребали хотелки бизнеса.
В теории и на бумаге, Xamarin лучше любой кроссплатформы:
1. Имееют огромную кодовую базу
2. Любой шарпист легко мог бы писать для мобилок
3. Языку C# кучу лет и он умнее и проработанее Kotlin и Swift
4. Куча готовых решений и библиотек
Но на практике даже эта технология загнулась и любой кроссплатформенный разраб в итоге пишет на нативе
Из минусов:
1. Невозможно в найм.
2. Нет хороших разрабов под все технологии
3. Слишком дорогие
4. Куча лишних абстракций
В итоге, проблемы можно подписать под любую кроссплатформу, где невозможно усидеть на всех стульях
Как-то в прошлом году я собирал внутри внутренний митап, где обсуждали почему кроссплатформищики переходили обратно на натив. Я тогда хотел посмотреть стоит ли затаскивать КМП в команду.
После разговора моя вся вера в кроссплатформы умерла. Инженеры были супер-скилловые, а технологии не выгребали хотелки бизнеса.
В теории и на бумаге, Xamarin лучше любой кроссплатформы:
1. Имееют огромную кодовую базу
2. Любой шарпист легко мог бы писать для мобилок
3. Языку C# кучу лет и он умнее и проработанее Kotlin и Swift
4. Куча готовых решений и библиотек
Но на практике даже эта технология загнулась и любой кроссплатформенный разраб в итоге пишет на нативе
Из минусов:
1. Невозможно в найм.
2. Нет хороших разрабов под все технологии
3. Слишком дорогие
4. Куча лишних абстракций
В итоге, проблемы можно подписать под любую кроссплатформу, где невозможно усидеть на всех стульях
Microsoft
The official Xamarin support policy | .NET
Learn about Xamarin support policies, including Xamarin.Android, Xamarin.Forms, and Xamarin.iOS. Find patch information and end of support dates for each release.
Новая подборка вопросов для собесов. Тема алгосы.
Многие думают, что алгосы это глупая зубрешка задач из литкода, которая оценивает выученное популярное решение. Но это опасное заблуждение.
Код джуна, из готовых конструкций, легко отличить от сеньора, который придумывает уникальные и редкие решения. Это мы часто наблюдаем в чате.
Сеньор вдумчиво и качественно пишит код, который лаконично касается многотонную теорию из книг. Как говорится, идеальный код — это когда нечего убрать, а не добавить.
В этом сборнике я затронул вопросы:
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты не практикующий спец — тебя не слушают
Я вижу много каналов с контентом, но многие не живут и пол года. По своему наблюдению я часто вижу, что мне интересны каналы, если человек правда любит свою работу. Они вдохновляют и я сам начинаю гореть этой любовью, хотя могу быть с ними даже не согласен в чем-то, но наличие преданности к своему делу заставляет меня их уважать. Это очень редкая черта.
Многие ребята тоже благодарят меня, когда оформляют подписку. Пишут спасибо за мотивацию и полезность контента. Это мотивирует думать об еще большем качестве.
Я поэтому не верю в эти инфоцыганские методы. Где стараются вовлечь своим "доходом", а не профессиональными заслугими. "Зарплатным потолком", который банально зависит от гросс или нет. ИП или ТК. Размера налога. Размера премий. От регионального коэфициента и от многих вещей. Наша экспертность не отталкивается от дохода.
Выступление на конференциях, написания статей или другая медийная жизнь тоже не говорит о нас как об экспертах, а скорее как о журналистах. Нашу экспертность доказывает код.
Именно поэтому я не стараюсь скатываться в около-итшные темы, которые больше похожи на дом 2 в ит: скандалы, обсуждение офферов, споры и другое.
Если ты берешь на себя какую-то ответственность за создание комьюнити, то ты должен обладать экспертностью и образцом, а не придумать или накрутить себя. Заставить поверить на слово.
Те, кто тебя будет окружать, чаще умнее тебя. И врать своей аудитории — наивно верить и переоценивать себя. Это как маскировать прыщи, которые выпирают под слоем тоналки.
Я вижу много каналов с контентом, но многие не живут и пол года. По своему наблюдению я часто вижу, что мне интересны каналы, если человек правда любит свою работу. Они вдохновляют и я сам начинаю гореть этой любовью, хотя могу быть с ними даже не согласен в чем-то, но наличие преданности к своему делу заставляет меня их уважать. Это очень редкая черта.
Многие ребята тоже благодарят меня, когда оформляют подписку. Пишут спасибо за мотивацию и полезность контента. Это мотивирует думать об еще большем качестве.
Я поэтому не верю в эти инфоцыганские методы. Где стараются вовлечь своим "доходом", а не профессиональными заслугими. "Зарплатным потолком", который банально зависит от гросс или нет. ИП или ТК. Размера налога. Размера премий. От регионального коэфициента и от многих вещей. Наша экспертность не отталкивается от дохода.
Выступление на конференциях, написания статей или другая медийная жизнь тоже не говорит о нас как об экспертах, а скорее как о журналистах. Нашу экспертность доказывает код.
Именно поэтому я не стараюсь скатываться в около-итшные темы, которые больше похожи на дом 2 в ит: скандалы, обсуждение офферов, споры и другое.
Если ты берешь на себя какую-то ответственность за создание комьюнити, то ты должен обладать экспертностью и образцом, а не придумать или накрутить себя. Заставить поверить на слово.
Те, кто тебя будет окружать, чаще умнее тебя. И врать своей аудитории — наивно верить и переоценивать себя. Это как маскировать прыщи, которые выпирают под слоем тоналки.
Никто не даст вам повышения — вы должны взять его сами
Тема повышений для многих очень больная. Я лично часто сталкивался с практикой, когда ты не можешь повлиять на свой рост ограничиваясь только техническими задачами. Многое упирается в вектор развития компании и ее продуктовый бэклог. От качества продактов и аналитиков. Если твоя команда выбрала цели по развитию, где бэк в приоритете, то сложно с ними конкурировать красив только кнопочки.
Да и повышение это скорее формальный процесс, где сначала тебе нужно доказать своему руководителю, что ты его заслуживаешь. А потом он должен доказать это перед своими коллегами, что ты заслуживаешь больше, чем Петя. Далеко не у всех есть желание или время это делать.
Квоты повышений никогда не распределяются равномерно. Часто ты конкурируешь еще не только с иосерами, но и с андроидом, бэком, фронтом и qa. А если еще и твой руководитель далек от мобилки, то тебе сложнее доказывать свою ценность. Это поэтому считается, что в платформенных командах ты растешь быстрее. Там и задач под твою основную технологию больше, и никого кроме иосеров в командах нету. Но об отличиях продуктовых и платформенных команд когда-нибудь подробнее.
Тут Серега перевел статью, где автор говорит обратное. Что часто многое зависит от нас. Возможно, это так. И если ты инициативен и замотивирован, то легко вырастешь везде.
Только вопрос, а точно ли нужна тебе такая карьерна лестница, где тебе надо повышаться делая вещи, которые может не оценить рынок и довольно сомнительные даже внутри компании? Не о таких ли директорах пишут статьи на хабре, которые выросли внутри одной компании и особо не нужны нигде.
В недавней книге мы разбирали, что выбор компании для роста — очень важная деталь. Ведь если ваш продукт перестал развиваться для мобилок, то вероятней нужно менять стэк или компанию.
Тема повышений для многих очень больная. Я лично часто сталкивался с практикой, когда ты не можешь повлиять на свой рост ограничиваясь только техническими задачами. Многое упирается в вектор развития компании и ее продуктовый бэклог. От качества продактов и аналитиков. Если твоя команда выбрала цели по развитию, где бэк в приоритете, то сложно с ними конкурировать красив только кнопочки.
Да и повышение это скорее формальный процесс, где сначала тебе нужно доказать своему руководителю, что ты его заслуживаешь. А потом он должен доказать это перед своими коллегами, что ты заслуживаешь больше, чем Петя. Далеко не у всех есть желание или время это делать.
Квоты повышений никогда не распределяются равномерно. Часто ты конкурируешь еще не только с иосерами, но и с андроидом, бэком, фронтом и qa. А если еще и твой руководитель далек от мобилки, то тебе сложнее доказывать свою ценность. Это поэтому считается, что в платформенных командах ты растешь быстрее. Там и задач под твою основную технологию больше, и никого кроме иосеров в командах нету. Но об отличиях продуктовых и платформенных команд когда-нибудь подробнее.
Тут Серега перевел статью, где автор говорит обратное. Что часто многое зависит от нас. Возможно, это так. И если ты инициативен и замотивирован, то легко вырастешь везде.
Только вопрос, а точно ли нужна тебе такая карьерна лестница, где тебе надо повышаться делая вещи, которые может не оценить рынок и довольно сомнительные даже внутри компании? Не о таких ли директорах пишут статьи на хабре, которые выросли внутри одной компании и особо не нужны нигде.
В недавней книге мы разбирали, что выбор компании для роста — очень важная деталь. Ведь если ваш продукт перестал развиваться для мобилок, то вероятней нужно менять стэк или компанию.
Хабр
Никто не даст вам повышения — вы должны взять его сами
Получить возможность — это хорошо, но очень важно, чтобы вы развили в себе навыки, позволяющие делать это самостоятельно. Иногда кажется, что одни и те же темы возникают снова и снова. От нескольких...
Media is too big
VIEW IN TELEGRAM
Советы как эффективно тратить деньги:
1. Завести семью и детей
2. Получать образование
3. Оформить бусти подписку у меня
4. Не брать кредитов
1. Завести семью и детей
2. Получать образование
3. Оформить бусти подписку у меня
4. Не брать кредитов
Признаюсь, я почти никогда не смотрел мок-собесы. И здесь я допускал ошибку.
Мне казалось, что текста и книг всегда достаточно. Но процесс собесов — это другое. Это впервую очередь диалог, где ты должен доказать свои знания.
Наша задача провести доступную коммуникацию, чтобы твои знания и навыки адекватно оценили. Даже если процесс собеседований у компаний, куда ты собесишься плохой.
Говорить ртом правильные и понятные слова важно. Не стоит надеясть, что интервьюеры экстрасенсы.
В ноушене сделал подборку мок-собесов, которые помогут понять настроения и атмосферу реальных собеседований.
Please open Telegram to view this post
VIEW IN TELEGRAM
Делюсь частью закрытого контента для проектирования своего центра уведомлений. Наверное, это самая частая задача для iOS инежнера на собесах.
В ней требуется:
Получилось ли у меня можно проверить на скриншоте. Спойлер
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет в консоль?
Anonymous Quiz
8%
4 4; 7 7; 7 7;
32%
4 4; 7 7; 7 100;
27%
4 8; 7 14; 7 100;
27%
4 6; 7 12; 7 100;
7%
Будет ошибка
Как следить за перфомансом своего приложения
Скорость нашего приложения — одна из главных метрик. Например, в Авито есть отдельная платформенная команда Perfomance. Она, с помощью десятков метрик, следит за скоростью приложения. Это сложная наука.
У каждой команды есть предельный лимит. Если команда уронит метрики, то ей будет запрещено раскатывать фичи.
Если вы тоже задумываетесь как улучшить свое приложение и сделать пользователям хороший опыт, то вот статья о перфомансе.
Как-нибудь напишем свои инструменты для профайлинга.
Скорость нашего приложения — одна из главных метрик. Например, в Авито есть отдельная платформенная команда Perfomance. Она, с помощью десятков метрик, следит за скоростью приложения. Это сложная наука.
У каждой команды есть предельный лимит. Если команда уронит метрики, то ей будет запрещено раскатывать фичи.
Если вы тоже задумываетесь как улучшить свое приложение и сделать пользователям хороший опыт, то вот статья о перфомансе.
Как-нибудь напишем свои инструменты для профайлинга.
www.polpiella.dev
How to profile your app's performance and Main Thread usage with Instruments and os_signposts
Learn how to use Instruments to understand the root cause of app hangs and high Main Thread usage and identify areas where you can optimize your app's performance.
Часто говорят, что алгоритмы не встречаются в жизни. Также как и математика. Но красота в глазах смотрящего, как говорится.
Одна из частых задач на собесах у многих — это работа с деревом UIView. Да да, на самом деле это то же дерево, хоть многие этого не замечали.
Есть класс MyView, который имеет subviews такого же типа, как и класс.
Необходимо написать функцию, которая выводит subviews на определенном уровне, как показано на дереве в скриншоте.
Остановитесь здесь и попробуйте решить задачу.
Когда вы вернетесь, то наверное многие из вас догадались, что это обычный алгоритм BFS (обхода в ширину).
Его суть такая:
Он работает путём создания очереди, в которую помещаются вершины, и последовательного просмотра всех вершин из этой очереди.
Попробуем набросать решение во втором скрине. Можете покидать комменты что бы улучшили.
А какие еще примеры использования алгоритмов в реальной жизни вы знаете? Делитесь в комментах.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM