Как помогает регулярное решение задач?
В нашем чате мы уже почти год регулярно решаем задачи. Это скорее стало полезной традицией и дисциплиной.
Какую пользу дают регулярные задачи:
🟣 твой навык кодинга не деградирует
🟣 ты тренируешь мышление
🟣 лучше формулируешь мысли кодом.
🟣 находишь краевые кейсы
🟣 твой код становится лучше
Последнее утверждение самое холливарное. «Хороший код» у всех разное определение. Но насмотренность уж точно полезна.
В скриншотах можно посмотреть насколько же разные решения выдают на задачу написать функцию, которая определяет монотонную последовательность.
Угадайте где код написанный чатгпт
В нашем чате мы уже почти год регулярно решаем задачи. Это скорее стало полезной традицией и дисциплиной.
Какую пользу дают регулярные задачи:
Последнее утверждение самое холливарное. «Хороший код» у всех разное определение. Но насмотренность уж точно полезна.
В скриншотах можно посмотреть насколько же разные решения выдают на задачу написать функцию, которая определяет монотонную последовательность.
Угадайте где код написанный чатгпт
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Сейчас я активно изучаю тему процессов собеседований. Нахожусь прям внутри кухни и держу в руках реальные рецепты, общаюсь напрямую с поворами. Это нужно, чтобы и самому понять, и в компании законтрибьютить в процесс, и для контента с книгой.
Чем глубже погружаюсь, тем больше вижу заблуждений среди обычных разработчиков и в общем медиаполе. Главное массовое заблуждение — на грейд влияет только результаты технического собеседования. На практике результаты технических интервью лишь 1/5 часть общей оценки. Давайте разберемся.
Многие разработчики думают, что грейды формируются только за классные ответы на теорию и отличные решения технических задач. Ну вот я же решил задачи хорошо, то чем я не подхожу? Но это не так. Давайте верхнеуровнево поговорим как устроен процесс и какие заинтересованные лица в нем:
1️⃣. Созвон с HR. Тут все понятно, hr собирает у вас комментарии о ваших требованиях и примерно оценивает взаимный матч. Смотрит на опыт.
2️⃣. Техническое интервью. Тут все сложнее. Технических интервью обычно несколько и их проводят разные инженеры:
Эту секцию проводят технические эксперты, которые дают свою оценку.
3️⃣. После всех интервью вас оценивает нанимающий менеджер. Чаще это тимлид или, если его пока нет, руководитель тимлида. Здесь нужно понимать, что это самый важный этап. Тк, вопреки общему мнению, на ваши года опыта и задачи смотрят не только hr, но еще внимательней — ваши руководители.
У руководителей чаще всего есть общий или свой чеклист или матрица оценки. Для них оценка технических навыков лишь небольшая часть и совсем незначительная. После стандартного интервью они смотрят на последние задачи, которые вы делали в прошлом месте. Процессы последних команд. Ваше мышление, лидерство и желание выходить за рамки своего стэка. После общей оценки он может согласиться с технической оценков или дать другую.
Наглядный пример: кандидат уверенно закрыл технические секции и средняя оценка у него сеньор, но последние два года он занимался очень простыми задачами и или он совсем не имеет опыта в крупных компаниях, а значит не сможет взять под ключ запуск фичи. Средняя оценка будет мидл.
Или наоборот. Кандидат средне прошел техническое интервью, но на финальном рассказал какие сложные задачи решал, проявлял лидерство и готов выполнять проблемы бизнеса, а не зарываться в комфортную платформенную разработку. Не редко нанимающий менеджер повышал финальный грейд.
В следующем интервью (надеюсь выйдет на неделе) мы подробнее поговорим про это
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Problem Solving Skill?
Вся суть алгоритмических секций в крупные компании как FAANG — это оценка навыка problem solving. Нас нанимают не просто решать однотипные задачи, а уметь решать любую проблему. Под любой проблемой можно легко представить задачу из литкода.
Problem Solving оценивает:
🔘 как кандидат анализирует и понимает суть задачи
🔘 декомпозирует и оценивает приоритеты
🔘 генерирует идеи и учитывает компромиссы
🔘 реализует чистый и понятный код
🔘 обрабатывает edge case'ы
🔘 оценивает решения по тестированию и предлагает оптимизацию
🔘 ведет хорошую коммуникацию и умеет объяснять свое решение интервьюеру
Я все сильнее считаю problem solving interview — лучшим процессом собеседований
Вся суть алгоритмических секций в крупные компании как FAANG — это оценка навыка problem solving. Нас нанимают не просто решать однотипные задачи, а уметь решать любую проблему. Под любой проблемой можно легко представить задачу из литкода.
Problem Solving Skill (навык решения задач) — это способность эффективно анализировать, структурировать и решать проблемы, используя технические, логические и аналитические подходы. В контексте FAANG (Facebook/Meta, Apple, Amazon, Netflix, Google), этот навык является критически важным, поскольку компании ищут инженеров, которые могут справляться со сложными, неопределёнными проблемами в условиях высоких нагрузок и сложных систем.
Problem Solving оценивает:
Я все сильнее считаю problem solving interview — лучшим процессом собеседований
Please open Telegram to view this post
VIEW IN TELEGRAM
Forage
What Are Problem-Solving Skills? Definition and Examples
Problem-solving skills are valuable soft skills that help you identify the root of a problem, analyze potential solutions, and decide what to do.
Определение хорошего разработчика в каждой компании свое. Но проводя опросы аудитории и изучая рынок я формирую средние требования по больнице. Нет снижинок, у инженера высокого качества чаще одна понятная линейка.
Пройдемся по основным требованиям для разработчиков у нас и на западе:
В любом направлении углубленное знание языка приводит на новый уровень понимания и компетенции. Если у тебя только поверхностные знания, то вероятнее всего ты не углубишься и не выполнишь задачу наилучшим качеством. Так как наработал привычку делать только необходимый минимум.
Нужно лучшие практики написания кода и почему они используются. Как язык влияет на многопоточность, управление памятью и производительность. Отдельно эти блоки бесполезно знать, если ты не понимаешь как на них влияешь используя свой язык.
Например, если мы iOS разработчики, то очень хорошо должны владеть UIKit или SwiftUI, GCD или Swift Concurrency.
Если ты JavaScript разработчик, то должен хорошо знать React.js или Angular.
Изучая другие языки ты:
- понимаешь сильные и слабые стороны своего
- глубже понимаешь первый
- уходишь от привычки использовать только первый язык
- проще изучаешь другие языки
С развитием AI это стало в разы проще.
Начни изучать инструменты своего IDE. Пойми, чем они помогают и какие их плюсы или минусы.
После выйди за пределы среды разработки и найди другие инструменты. Например, написание тестов или методологии поиска проблем.
Разбираться в чужом коде и править сложные баги чаще сложнее, чем переписать. Почти все задачи сейчас — это переписывание старых библиотек, модулей, экранов. Мало делать как было — нужно делать лучше.
Please open Telegram to view this post
VIEW IN TELEGRAM
isKnownUniquelyReferenced
Про CoW, наверное, знаю все. Но не все, удивительно, понимают когда нам это пригодится. Немного про реализацию своего Deep Copy механизма.
На скриншотах два поведения:
1. Когда value семантика ведет себя как reference
2. Мы исправили поведение на ожидаемое
Здесь на помогает isKnownUniquelyReferenced.
Это функция, которая проверяет, существует ли только одна сильная ссылка на объект.
Эта функция также используется и в стандартных коллекция, где до изменения массива или строк, мы имеем одну область памяти.
Когда нам требуется Value семантика? Например, в создании своих структур или коллекций
А еще я сделаю подборку задач на CoW, когда нам полезно понять или сделать на практике
Про CoW, наверное, знаю все. Но не все, удивительно, понимают когда нам это пригодится. Немного про реализацию своего Deep Copy механизма.
На скриншотах два поведения:
1. Когда value семантика ведет себя как reference
2. Мы исправили поведение на ожидаемое
Здесь на помогает isKnownUniquelyReferenced.
Это функция, которая проверяет, существует ли только одна сильная ссылка на объект.
Эта функция также используется и в стандартных коллекция, где до изменения массива или строк, мы имеем одну область памяти.
Когда нам требуется Value семантика? Например, в создании своих структур или коллекций
А еще я сделаю подборку задач на CoW, когда нам полезно понять или сделать на практике
Делаем офлайн мобильную конфу в мск в 2025?
Anonymous Poll
32%
Определенно да
11%
Точно да
12%
Неуверенно да
28%
Лучше онлайн
17%
Не знаю
Эту тему разбирают почти все, когда затрагивают тему управления памятью.
В этом сборнике вы наконец поймете:
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Делюсь отрывком из двух часового подкаста с Сашей Сычевым
Саша Сычев руководитель в Яндексе и сильный эксперт. Мы очень насыщенно поговорили с ним о найме, грейдах, матрицах, красных флагах и о многом другом. Выпуск вышел заряженным на контент разных масштабов.
В этом отрывке он делится почему "накрутка опыта" — это показатель твоих скиллов и индикатор доверия. А доверие — это новый софт скилл
Саша Сычев руководитель в Яндексе и сильный эксперт. Мы очень насыщенно поговорили с ним о найме, грейдах, матрицах, красных флагах и о многом другом. Выпуск вышел заряженным на контент разных масштабов.
В этом отрывке он делится почему "накрутка опыта" — это показатель твоих скиллов и индикатор доверия. А доверие — это новый софт скилл
Mobile Meetup SberHealth
Привет, коллеги 👋
18 декабря в 18:00 приглашаем на предновогодний открытый митап для мобильных разработчиков в Москве 🩵
В программе доклады от:
▪️ Смирнова Кирилла, Технического лидера iOS команды, про компиляцию массивного проекта и как её готовить.
▪️Беспалова Владислава, Старшего разработчика, о процессе оптимизации аналитики в компании.
⭐️ В качестве приглашенного спикера Сычев Александр — руководитель разработки рекомендательной ленты Яндекс Go, он расскажет про будущее мобильной разработки на основе грядущих трендов.
Принять участие можно как офлайн, так и онлайн.
Узнать подробнее и зарегистироваться🔗
Привет, коллеги 👋
18 декабря в 18:00 приглашаем на предновогодний открытый митап для мобильных разработчиков в Москве 🩵
В программе доклады от:
▪️ Смирнова Кирилла, Технического лидера iOS команды, про компиляцию массивного проекта и как её готовить.
▪️Беспалова Владислава, Старшего разработчика, о процессе оптимизации аналитики в компании.
⭐️ В качестве приглашенного спикера Сычев Александр — руководитель разработки рекомендательной ленты Яндекс Go, он расскажет про будущее мобильной разработки на основе грядущих трендов.
Принять участие можно как офлайн, так и онлайн.
Узнать подробнее и зарегистироваться
Please open Telegram to view this post
VIEW IN TELEGRAM
На днях я снова купил блоки литкода, чтобы пройти курсы по систем дизайну и алгоритмам.
После чатгпт мой контент не станет прежним. Я почти перестал гуглить и сейчас методы поиска информации сильно изменились. Я начал больше искать проверенные источники, вместо "гуглинка". Даже само слово "гуглить" и метод кажется уже сильно устаревшим и для думеров.
Теперь я даже понимаю почему стало так мало статей. Ведь они просто не несут никакой пользы. Вся ценность технического контента будет в уникальных авторских историях, форме или структуруе. А не очередном пересказе технологии и обзоре новых функций.
Иногда я буду делать посты, которые дают лучшее понимание и другой взгляд на обычные вещи. Сегодня разберем топ три популярные техники, которые нужно обязательно изучить, чтобы эффективно работать с массивами и строками:
Эти техники очень сильно помогают улучшить навыки программирования
Please open Telegram to view this post
VIEW IN TELEGRAM
Неваляшка
Вчера я писал о контенте с уникальным опытом. Вот текст, которым я хочу с вами поделиться.
Не так часто, но не очень редко, мне дают фидбэк, который почему-то трогает больше всего. Будь это менти, который захотел поучиться дисциплине. Руководитель, который хвалит за смелость. Родственники, которые довольны решительностью. Моя жена называет это «бойцовский iq». А мой психолог важным свойством, которое я не должен стесняться или пугаться.
Если вы меня спросите что для меня важнее всего в людях — я скажу что смелость. Смелость быть честным и не унижаться до обмана. Смелость быть справедливым. Смелость не бояться системы. Смелость решиться сделать первый шаг. Смелость пройти испытания, на которые не решаются многие. Смелость защитить близких. Смелость отстаивать границы.
Психологи говорят все идет с детства. Мой отец всю жизнь имел смелость заниматься тем, что ему нравилось. В 90е он испытывал проблему с работой в нашем поселке, месяцами в нашем дома даже не было света. В такие времена смелость набирает в цене. Каждый день он занимался спортом и пока все сбегали в алкоголь он с ним воевал, тк он забрал его отца. К нему пришли родители и сказали, что хотят чтоб он воспитывал их детей. Давал пример силы и характера. Так, не имея образования, каждый день делая свое любимое дело, его нашла не просто работа. Его нашло призвание.
Прошло 30 лет. Из простого учителя в поселке Казахстана он стал одни из лучших учителей боевого самбо в России.
Пусть традиционное воспитание оставляет свои шрамы, и наши отношения сильно похожи на отношения Атрея и Кратоса, но его история стала для меня тем примером, когда вера, смелость и сила сама приводит к тебе счастье.
Вчера я писал о контенте с уникальным опытом. Вот текст, которым я хочу с вами поделиться.
Не так часто, но не очень редко, мне дают фидбэк, который почему-то трогает больше всего. Будь это менти, который захотел поучиться дисциплине. Руководитель, который хвалит за смелость. Родственники, которые довольны решительностью. Моя жена называет это «бойцовский iq». А мой психолог важным свойством, которое я не должен стесняться или пугаться.
Если вы меня спросите что для меня важнее всего в людях — я скажу что смелость. Смелость быть честным и не унижаться до обмана. Смелость быть справедливым. Смелость не бояться системы. Смелость решиться сделать первый шаг. Смелость пройти испытания, на которые не решаются многие. Смелость защитить близких. Смелость отстаивать границы.
Психологи говорят все идет с детства. Мой отец всю жизнь имел смелость заниматься тем, что ему нравилось. В 90е он испытывал проблему с работой в нашем поселке, месяцами в нашем дома даже не было света. В такие времена смелость набирает в цене. Каждый день он занимался спортом и пока все сбегали в алкоголь он с ним воевал, тк он забрал его отца. К нему пришли родители и сказали, что хотят чтоб он воспитывал их детей. Давал пример силы и характера. Так, не имея образования, каждый день делая свое любимое дело, его нашла не просто работа. Его нашло призвание.
Прошло 30 лет. Из простого учителя в поселке Казахстана он стал одни из лучших учителей боевого самбо в России.
Пусть традиционное воспитание оставляет свои шрамы, и наши отношения сильно похожи на отношения Атрея и Кратоса, но его история стала для меня тем примером, когда вера, смелость и сила сама приводит к тебе счастье.
Три года назад я написал статью про управлению памятью. Тогда некоторые каналы называли «одной из самых подробных статей», а некоторые компании давали ее как рекомендацию для подготовки. Тогда это можно было считать знания для мидл+/сеньор-, но знания не стоят на месте.
Все обесценивается, улучшается. Смотря некоторые фильмы или играя в игры ты чувствуешь кринж, удивляешься почему это тебе нравилось. Сейчас этой статье я бы не дал и мидл-.
Я хочу переписать эти статьи и сделать расширенный материал. В этой статье мы изучим фундаментальные вещи связанные с управлением памятью.
В этой статье мы разберем:
Подходящая статья, чтобы изучить глубже на выходных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Принес задачи на выходные. Выше я писал про самые популярные техники по версии литкода. В этой подборке делюсь задачами, которые литкод советует для закрепления этих техник.
Я очень много собесил людей по алгормитческой сессии и прекрасно понимаю на своей шкуре как это непросто. Волнение и отсутствие практики собеседований сильно дебафает и усложняет прохождение. Поэтому вот гайд как решать такие задачи продуктивно.:
Two pointers:
557. Reverse Words in a String III
917. Reverse Only Letters
2540. Minimum Common Value
283. Move Zeroes
2000. Reverse Prefix of Word
Sliding window:
209. Minimum Size Subarray Sum
1456. Maximum Number of Vowels in a Substring of Given Length
1208. Get Equal Substrings Within Budget
Prefix sum
1732. Find the Highest Altitude
724. Find Pivot Index
303. Range Sum Query - Immutable
Please open Telegram to view this post
VIEW IN TELEGRAM