Веб-версияОткрыть в Telegram
AArt of Code

Art of Code

✅ Высокое доверие
@codeof_art · канал · Технологии · в индексе с 2026-07-10
2 232подписчиков+66 за неделю
1 209средний охват поста
54.2%ER — охват к подписчикам
24постов за 30 дней
A
Art of Code
Открываем новую серию постов. Смысл такой: берём известный проект, смотрим, как в нём решили какую-нибудь неочевидную проблему, и разбираемся, чем этот приём полезен лично тебе в твоём коде. Без душной теории — только то, что реально пригодится. И начать хочу с истории, которая случалась с каждым, кто хоть раз что-то куда-то сохранял. Ты сохранил данные. Сервис ответил «готово». Ты выдохнул и пошёл дальше. Знакомо? А теперь неприятная новость: «сервис ответил готово» и «данные действительно на месте» — это два разных события. Между ними есть щель, и данные умеют в неё проваливаться. Причём случается это ровно в тот момент, когда что-то ломается, — то есть в самый неподходящий. Чтобы увидеть эту щель во всей красе, посмотрим, как с ней воюет Kafka. А потом вернёмся к твоему коду, потому что проблема там ровно та же. Как Kafka бережёт данные. Она хранит каждую порцию сообщений сразу на нескольких серверах: один главный, он принимает записи, остальные — его копии, они за ним повторяют. Звучит надёжно. Но вот ловушка, в которую попадают почти все. Главный сервер принял сообщение, записал у себя, ответил «принято» — и в следующую секунду умер. А копии не успели повторить за ним. На его место встаёт одна из копий, но у неё этого сообщения нет. Всё, сообщение исчезло. А отправитель-то уверен, что всё хорошо, — ему же ответили «принято». Как эту дыру закрывают. У отправителя есть настройка, которая решает, когда считать сообщение сохранённым. Можно сказать «мне хватит, что его принял главный» — быстро, но это ровно та история с исчезновением. А можно потребовать «считать сохранённым, только когда его повторили и живые копии тоже». Вот тогда появляется настоящая гарантия: даже если главный умрёт, сообщение уже есть на других. Но и это не всё. Что, если копии отстали и по одной повыпадали, а живым остался только главный? Тогда правило «пусть подтвердят копии» тихо превращается в «пусть подтвердит главный» — и мы снова там же, откуда начали. Поэтому есть ещё одна настройка
1 · 917 ·
Art of Code
Как стать миддлом По стеку джуна и мидла сегодня спрашивают почти одно и то же. Открой любые вакансии - знание своего ЯП/фреймворка, SQL, Docker, Kafka/Redis, везде одно и то же. Так за что мидлу платят вдвое больше? Разбираемся на актуальных вакансиях Т-Банка и Ozon. Джуну дают задачу. Мидлу — проблему Джуну пишут конкретно, например, написать API под новый микросервис для техподдержки. Задача с границами: понятно, что на входе, что на выходе, когда готово. Бери и делай. Мидлу пишут абстрактные вещи, для примера, рефакторить интеграционные решения и обеспечивать стабильность работы сервисов. Границ нет, не особо понятно, а какой конечный результат вообще и с чего начать-то. Тебе дают проблему, а задачу из неё ты достаёшь сам. И отвечаешь за результат, если твои микросервисы упадут в разгар рабочего дня и заказчик потеряет деньги, тут уже другой уровень отвественности по сравнению с джуном. Вот и вся граница: джуна берут за умение закрывать задачи, мидла — за умение отвечать за систему. Всё остальное — следствие. Стек тот же — уровень владения разный В вакансиях джуна и мидла — одни и те же технологии. Разница в том, что от тебя с ними ждут. Джуну: «знать Python», «понимать архитектуру ETL». Знать и понимать. Мидлу: «проектировать микросервисы», «оптимизировать запросы», «самому работать с Docker». Не слышал про Kubernetes, а крутил руками. Что конкретно учить, чтобы стать мидлом «Бери больше ответственности и качай харды» - совет ни о чём. Ниже дам несколько конкертных советов, они не зависят от языка - работают хоть на Go, хоть на Python, хоть на Java. System design. Главный навык мидла. Спроектировать сервис с нуля: где узкое место, что реплицировать, где кэш, что будет под нагрузкой в 10 раз больше. Это спрашивают почти на каждом собесе на мидла — и именно тут валятся вчерашние джуны. Базы на уровне оптимизации. Не «умею писать SELECT», а читать план запроса, ставить индексы, понимать, почему запрос тупит на проде под реальными данными. Docker и Kub
40 · 1.9K ·
A
Фотография
нажмите — покажем
Стажировка в Яндексе одна из лучших возможностей для старта в разработке: • МНОГО КРАСИВЫХ СВОБОДНЫХ ЖЕНЩИН • специалисты высокого класса • зарплаты в среднем выше рынка • современный стек и проекты • хорошо выстроены процессы • корпоративная культура Для участия нужно подать анкету заполнить анкету и зарешать контест. Разбор контеста уже выложен на нашем курсе бэкенд про, алгоритмы про. ➡ Записаться. Как заполнять анкеты смотрим этот ролик. После контеста вас ждет два алгособеса на 2 литкод задачи medium + вопросы по языке и возможно серверам. И наконец собеседования с командами. На моем опыте максимально, сколько может быть собесов с командой - 9. Финальные собесы Если команда точно понимает, что им нужен стажёр закрыть пару дыр и после он не нужен, то собес больше про твой опыт, почему Яндекс, как планируешь совмещать с учебой, а что будешь делать, если стажку не продлим/не возьмём в штат. Такие больше на метч с командой и посмотреть не будешь ли ты ныть, что на стажке будешь заниматься скучной фигней, расскажут какой есть пул задач и спросят, что из этого интересно. Обычно такое в продуктовые команды. Или, например наш студент, собесился в команду Поиска, которая занимается инфраструктурой. Устроили настоящий собес по систем дизайну, просили спроектировать калькулятор, который вот выдаётся после запроса в поисковой строке, как накрутить серверный рендеринг, гоняли по сетям, по знанию тулов реакта (линтер, сборщик кода как работает, как то-то настроить). И после этого другой интервьюер давил, что вот нам нужны гении, ты явно не такой, а вот чем ты занимаешься, а почему учишься в залупинске, а не в мск, говорил, что на удаленку никого не берём и тд. Или другой наш студент собесился в другую команду Яндекс 360 календарь, там максимально чилово было, поспрашивал за опыт, так вышло что они выпускники одного факультета, пообсуждали преподов, хобби, и всё. По итогу еще раз многое зависит от команды и кто собесит. Выбирайте команду с умом, ее можно поменя
34 · 2.3K ·
A
Art of Code
Второй пост серии про паттерны на реальном коде. В прошлый раз говорили, почему «сохранилось» и «точно сохранилось» — не одно и то же. Сегодня — про идею, на которой держится половина софта вокруг нас, хотя мало кто задумывается про нее. Если тебе приходится запускать чужой код, которому ты не доверяешь, — держи его от себя подальше, в отдельном процессе. Причина простая: чужой код умеет падать, зависать намертво и течь по памяти. Пусти его внутрь своего приложения — и однажды он утащит тебя за собой на дно. А отдельный процесс работает как стена: за ней хоть потоп, а на твою сторону вода не дойдёт. Поэтому одна упавшая вкладка в браузере не роняет остальные, и поэтому же плагины в редакторах живут отдельно от самого редактора. Посмотрим, как это сделано в VS Code — там всё честно и наглядно. Расширения крутятся не внутри редактора, а в собственном процессе, у него и название есть — extension host. Замысел в одну строчку: что бы ни стряслось с расширениями, редактор обязан устоять. И он выдерживает. Процесс с расширениями рухнул целиком — а редактор даже бровью не повёл: курсор мигает, текст на месте, файл спокойно сохраняется. Разработчики так и ставили задачу — пусть расширения хоть все разом отвалятся, но ни строчки твоей работы пропасть при этом не должно. Когда процесс падает, сверху выезжает плашка «расширения отключились, перезапустить?», жмёшь — и он поднимается заново. На то он и отдельный, что пересоздать его можно, ничего вокруг не задев. А теперь то, из-за чего у людей годами пригорает. Стена стоит между редактором и расширениями — но между самими расширениями никакой стены нет. Все они набиты в один общий процесс и делят на всех единственный поток выполнения. А в JavaScript поток ровно один. И получается некрасивое: стоит одному расширению уйти в тяжёлые вычисления и занять поток надолго — как замирают вообще все расширения сразу. Не только виновник, а все соседи по процессу. Человек видит, что редактор целиком отупел и не реагирует, ругает VS Code
7 · 2.1K ·
A
Art of Code
System Design: frontend Сегодня разберём задачу с собеса в геодезическую компанию — из тех, где приложение для полевых работ должно работать там, где связи нет в принципе. Спроектируй фронт, который живёт без интернета: специалист видит данные, что-то в них меняет, а когда сеть возвращается — всё уезжает на сервер и синхронизируется. Почему такое вообще спрашивают. Геодезист выезжает на объект — поле, стройка, лес за городом, — и связи там может не быть весь день. А работать надо: открыть карту участка, занести замеры, отметить точки, что-то поправить. Если приложение при потере сети показывает белый экран, им попросту нельзя пользоваться в поле. Значит, оно должно работать так, будто интернет и не нужен, а сеть подхватывать само, когда специалист вернётся в зону покрытия. Первое, что хочется ляпнуть, — «закешируем данные и всё». И вот это ловушка. Как только ты разрешаешь не только читать офлайн, но и менять данные, ты, по сути, строишь маленькую распределённую систему: у тебя появляется две копии правды (на устройстве и на сервере), и они умеют разъезжаться. Все классические боли распределёнки — конфликты, рассинхрон, порядок операций — теперь твои. Не подумал про них — решение развалится на первом же реальном сценарии. Поэтому до того как проектировать, спроси интервьюера две вещи. Первая: что именно должно пахать офлайн — только чтение или запись тоже? Это небо и земля по сложности. Чисто чтение — задачка на кэш. Запись — уже та самая распределёнка. Вторая, и это гвоздь всей задачи: что делать, если геодезист поменял данные офлайн, а на сервере их за это время тоже кто-то поменял — например, коллега в офисе? Пока ты не ответил, как разруливать такой конфликт, — задача не закрыта. Теперь как устроено внутри. Данные храним прямо на устройстве. Для структурированных данных — IndexedDB (это встроенная в браузер база; localStorage не годится — он крохотный и синхронный, тормозит всё вокруг). Картинки, стили, саму оболочку приложения кладём через Service Worker —
14 · 2.4K ·
Art of Code
Ссылка
нажмите — покажем
Сходил на собеседование в Шушу. Предложили интересную задачу: спроектировать агрегатор проституток. Смотрим! Смотрим! По ссылке: https://www.youtube.com/shorts/PyVM4NU5ero
13 · 2.4K ·
A
Фотография
нажмите — покажем
В Яндекс без опыта с первого раза Товарищи, продолжаем рассказывать про наших талантливых учеников. На днях записали интервью с Полиной, нашей ученицей летнего потока Бэкенд СТАРТ. ➡ Записаться. У неё не было опыта работы, топового вуза и олимпиад. И всего за 2 месяца получилось взять оффер в Яндекс. Самое интересное, что она не откликалась на стажировку 👀 Смотрите в ролике как все получилось: https://www.youtube.com/watch?v=k6yYBESFHIs В видео обсудили: ➡️как попасть на мероприятия Яндекса, где можно пройти собеседование ➡️как готовилась к алгосекциям и что на них спрашивали ➡️о чём говорили на финалах ➡️правда ли в Яндексе 500 этапов и сколько собесов было у неё ➡️с какими компаниями были еще собесы ➡️советы тем, кто сейчас ищет первую работу
3 · 805 ·
A
Art of Code
System Design: backend Сегодня разберём задачу, которую мне давали на собесе в Яндекс. Штука на стыке проектирования и алгоритмов: мало накидать красивую схему на доске — надо ещё нормально объяснить, как данные поедут через систему. И вот тут сразу видно, шаришь ты или просто заучил модные слова. Условие такое. Надо забэкапить данные — до терабайта. При сжатии они ужмутся где-то в полтора-три раза. Хранилище, куда мы всё складываем, принимает файлы не больше 100 мегабайт за раз. Нужно собрать конвейер: прочитать данные, сжать, записать. И главный подвох, вокруг которого вся задача: целиком в память это не влезет. Первое, что приходит в голову, — «читаем файл, жмём, отправляем». И это ловушка. Терабайт в оперативку просто не поместится, так что про «прочитать файл целиком» надо забыть сразу. Задача с самого начала не про файл, а про поток: данные текут через тебя, ты хватаешь их по кусочку, обрабатываешь и отпускаешь — и никогда не держишь всё разом. Но прежде чем что-то проектировать, я бы задал интервьюеру один вопрос. Как по мне, ради него задачу и придумали. Что делать, если данные сожмутся хуже обещанного, и очередной сжатый кусок всё равно вылезет за 100 мегабайт? Полтора-три раза — это как средняя температура по больнице, а не гарантия. Попадётся кусок, который жмётся плохо (уже сжатое видео, случайный мусор), — и он не влезет в лимит. Если ты сам спотыкаешься об этот момент, до того как тебя носом ткнули, — считай, полдела сделал: дальше этот вопрос всё равно вылезет. Заодно спроси, нужна ли параллельность и надо ли уметь продолжить с места обрыва, если всё грохнется на середине. Теперь как оно работает внутри. Читаем данные небольшими порциями, каждую жмём и отправляем в хранилище куском не больше лимита. Получается конвейер из трёх шагов: читаем, жмём, отправляем. И логично, чтобы шаги крутились не по очереди, а разом — пока один кусок улетает в хранилище, следующий уже читается, а средний в это время жмётся. Само сжатие — самое прожорливое место, так
7 · 819 ·
A
Art of Code
Товарищи, Поступашкам нужны контент мейкеры в основной канал по алгоритмам и другим дисциплинам. Если вы творческая личность, интересующейся алгоритмами (или другим), вам нравится писать посты/ придумывать идеи для контента, то обязательно пишите @vice22821. Оплата сдельная, ориентировочно за один пост от 2 тыс до 15 тыс рублей. Обязательно делитесь с ребятами, которым это может быть интересно.
1 · 736 ·
A
Art of Code
Видео
generated_video (4).mp4 · 4.9 МБ · нажмите — покажем
❗️ Яндекс открыл Intern Week Offer на стажировку, где всего за неделю ты можешь получить оффер, а не растягивать процесс на месяца. Залетаем с ноги в Яндекс: регистрация проходит до октября, а задания уже лежат тут. А чтобы ты точно получил оффер, мы уже сделали разбор контеста и технических этапов, они доступны нашим студентам на наших курсах: ➡️ алгоритмы про ➡️ фронтенд и бэкенд ➡️ бэкенд разработка про➡️ бэкенд ➡️ машинное обучение про ➡️ МЛ ➡️ ИИ-агенты ПРО ➡️ МЛ Помимо разборов, которые проходят все скрытые тесты на наличие ИИ в решениях, на наших курсах вы получаете: 🔽 Доступ к закрытой базе собесов и тестовых заданий 🔽 Разбор стажировки ДС Авито (на МЛ ПРО и ИИ агенты ПРО) 🔽 Курс по выходу на доход в валюте 🔽 Гарантия оффера 🔽 Рефералка в бигтех после защиты пет-проекта 🔽 mock-собеседования с обратной связью Успей написать администратору и не откладывай: задания могут скоро поменять!
4 · 728 ·
A
Art of Code
Полный цикл собесов в Яндекс (Бэкенд 2026) Сейчас студенты наших курсов под чутким сопровождением проходят отборы в Яндекс, поэтому продолжаю радовать вас инсайдами и актуальными вопросами. Далее представлен слегка отредактированный текст нашего студента. Кстати разбор стажировки Яндекс и Яндекс Intern Week Offer по бэкенду уже выложен на наших курсах Бэкенд ПРО, Алгоритмы ПРО. ➡️ Записаться Вступительный контест Началось всё с Яндекс Контеста. На текущем наборе после подачи через yaintern приходит ссылка на пять задач, запустить его можно в любой момент в течение недели. На решение пяти задач дается пять часов, решать можно на любом языке, независимо от того, какой ты указал в анкете. Я решил четыре задачи из пяти. Пятую посмотрел в разборе на курсе и попросил GPT переписать код, чтобы антиплагиат не нашёл совпадения. Четырёх хватило, хотя я часто слышал от ребят в чате, что проходили и с тремя, так что не стоит ставить на себе крест, если контест не закрыт полностью. Также тут стоит отметить, что на контесте включён антиплагиат, и тут я советую следующее, как я сам обходил систему при использовании решения от GPT: - руками вписывать решение, а не копировать из буфера обмена; - не выделять и копировать условие, лучше сделать скрин и его уже отправить нейронке; - не отправлять сразу лучшее решение, если у вас все пять задач с первой посылки решены верно, то либо вы гений, либо мухлюете; - постарайтесь равномерно по времени делать посылки, а не закидывать все сразу, это первый звоночек, что вы решили их нечестно. Что после контеста Если приглашение долго не приходит, можно написать на [email protected], другу это сдвигало процесс. Ещё нюанс: лучше отдельно уточнять у HR город стажировки, ведь информация на сайте и фактический набор могут отличаться. Дальше технические интервью. Их было два, каждое примерно по часу, в Zoom, с камерой и редактором без автокомплита и нельзя запускать код, так будьте к такому готовы, заранее стоит потренироваться писать все р
50 · 2.4K ·
A
Art of Code
Новый пост из серии про паттерны на реальном коде. Разбираем штуку, с которой рано или поздно встречается любой сервис, живущий в интернете: в него начинают лить больше, чем он способен переварить. Ситуация простая. У тебя есть сервис, который что-то принимает извне — запросы, события, сообщения. И в какой-то момент поток на входе становится больше, чем ты успеваешь обрабатывать. Причины разные: у клиента выкатили баг, и он спамит одним и тем же по кругу; резкий наплыв пользователей; банальный DDoS. Если просто сидеть и принимать всё подряд, исход один из двух — либо сервис ложится под нагрузкой, либо копит необработанное в памяти, пока она не кончится, и падает уже намертво. Защита от этого называется backpressure: сервис не молча захлёбывается, а сам говорит источникам «э, притормозите». Разберём на Sentry. Если не знаком: это сервис, куда приложения шлют информацию о своих ошибках и падениях — упало что-то в проде, полетел отчёт с деталями, разработчики видят его в удобном интерфейсе, а не роются в логах. Нагрузка у неё дикая: тысячи чужих приложений долбят её событиями безостановочно. На входе у Sentry стоит отдельный компонент — Relay, он первым встречает весь этот поток и решает, что с ним делать. На нём и посмотрим, как грамотно держать удар. Код открыт: https://github.com/getsentry/relay Первое, что там сделано с умом, — ограничение стоит не одним общим рубильником на всё, а раздельно, по типам данных и по каждому проекту. Можно прижать один вид событий у одного клиента, не задев остальной трафик. Клиенту, который упёрся в лимит, прилетает ответ 429 и заголовок с числом: «подожди столько-то секунд». И вот ключевая тонкость: правильный клиент в ответ на это НЕ шлёт то же самое заново — он выбрасывает событие и ждёт. Потому что если в ответ на «перегруз» все дружно начнут повторять запросы, они этим перегруз только усилят. В этом и суть backpressure: смысл ответа — «перестань слать вообще», а не «попробуй ещё разок». Обычная ошибка говорит «повтори», backpr
7 · 726 ·
Art of Code
Фотография
нажмите — покажем
Фотография
нажмите — покажем
Фотография
нажмите — покажем
Фотография
нажмите — покажем
Ты поступишь в ШАД Старт набора на наши ШАДовские курсы: без воды и лишней теории, 3 месяца семинаров, пробников и лекций! За результат отвечаем ⭐️пройдешь курсы, но не поступишь в ШАД - вернем деньги⭐️ Программы и подробности: ⏩Алгоритмы ⏩Анализ данных ⏩Линейная алгебра ⏩Теория вероятностей ⏩Дискретная математика ⏩Математический анализ Можно взять один курс, или комбо по спеццене! Даже все 6 сразу — программа выстроена так, что ты все успеешь. Не веришь — чекай отзывы наших выпускников! Курсы для тебя, если ты: 🔵Только задумался о подготовке 🔵Уже готовился, но не уверен в себе 🔵Подзабыл математику, но хочешь в ШАД 🔵Хочешь совмещать подготовку с работой 🔵Готовишься к собесам в BigTech, АА и маги Записи и материалы остаются навсегда, а сдать ДЗ, пробники, пройти мок-собес и получить фидбэк куратора можно после окончания курса! Только у нас ты получишь: 🔵Онлайн-семинары, лекции, ДЗ и пробники с проверкой 🔵Разбор отбора 2027, саппорт с анкетой и мотивацией 🔵Доступ к закрытой базе знаний и протоколам ШАД 🔵Пробное тестирование, экзамен и собеседование 🔵Сборник всех задач ШАДа для самоподготовки Для вопросов и записи пиши менджеру: @menshe_treh ▶️
1 · 561 ·
A
Осень обычно время, когда компании запускают свои образовательные потоки, и в этом году многие уже успели закрыть набор. Я прошёлся по крупным программам и оставил только те, куда реально можно подать заявку сейчас и где учёба начинается в ближайшие недели. Всё бесплатно, а лучших выпускников почти везде зовут на стажировку. Начнём с самого срочного. YADRO набирает студентов на курс «Системное программирование с использованием языка C». Заявки принимают до 28 сентября, то есть до завтра, так что если давно хотел разобраться, как код работает поближе к железу, откладывать некуда. Дальше будет отбор с 29 сентября по 12 октября, а занятия стартуют 19 октября и идут раз в неделю до мая. Формат онлайн, большая часть времени уходит на практику с разбором домашек от инженеров компании, а самых сильных участников приглашают на стажировку в YADRO. Подать заявку могут студенты со второго курса. После окончания регистрации на канале будет оперативно выложен разбор тестового задания. Если хочется войти в разработку с нуля и без всякого профильного бэкграунда, стоит посмотреть на Школу 21 от Сбера. Поступление идёт через «бассейн», двухнедельный очный интенсив в кампусе, на котором как раз погружают в основы и командную работу. Ближайшие бассейны пройдут в Магасе с 12 октября (заявки до 7 октября, иногородним там ещё и дают бесплатное жильё), в Ярославле тоже с 12 октября и в Казани с 26 октября. Участвовать может любой человек старше 18 лет, опыт программирования не нужен. Напоследок вариант для тех, кто не хочет привязываться к расписанию. У VK Education открыт набор на асинхронные курсы, среди которых есть «Системное программирование», «Алгоритмы и структуры данных» и «Базовый Python». Лекции уже записаны, смотреть их можно в своём темпе, а подать заявку получится до 31 декабря. Неплохой способ подтянуть базу параллельно с учёбой или работой. Подписаться: @codeof_art Вступить в чатик: @code_of_art
5 · 1.3K ·
A
Art of Code
System Design: backend Эту задачу дают на бэковых собесах в Ozon, и звучит она затрагивает максимально типичную задачу. Есть сервис, который принимает оплату заказа. Когда платёж прошёл, складу нужно узнать, что заказ оплачен и его можно собирать, поэтому сервис отправляет событие в Kafka. Интервьюер описывает ситуацию, в которой платёж уже записан в базу, а Kafka именно в эту секунду недоступна, и просит рассказать, что будет с заказом и как сделать так, чтобы ничего не потерялось. Большинство кандидатов в этот момент рисуют ровно тот код, который потом и разбирают на части. Выглядит он так: сначала коммитим платёж в базу, потом отправляем событие в брокер. Проблема в том, что это две операции в двух разных системах, и между ними может случиться что угодно. Процесс упадёт после коммита или сеть пропадёт на полсекунды, и в итоге деньги у клиента списаны, а склад про заказ так и не узнал. Если поменять порядок и сначала отправить событие, получится зеркальная беда, потому что транзакция в базе может откатиться уже после того, как склад начал собирать заказ, за который никто не заплатил. Хороший кандидат на этом месте останавливается и спрашивает интервьюера, что для бизнеса хуже, потерять событие или получить его два раза. Ответ почти всегда одинаковый. Потерянный заказ обходится дороже, потому что о нём никто не узнает, пока клиент не придёт ругаться в поддержку, а лишнюю копию события получатель может просто отбросить. Раз так, задача сводится к тому, чтобы гарантировать доставку хотя бы один раз и научить получателя спокойно относиться к повторам. Для этого используют приём, который называется Transactional Outbox. В той же базе, где лежат платежи, заводится отдельная таблица для исходящих событий, и строка в неё пишется в той же транзакции, что и сам платёж. База умеет гарантировать атомарность внутри себя, поэтому после коммита у нас либо есть и платёж, и событие о нём, либо нет ни того, ни другого. В Kafka эти строки перекладывает отдельный процесс, его обыч
12 · 533 ·
A
Art of Code
Файл
Вопросы на Go-разработчика в Ozоn.pdf · 3.3 МБ · нажмите — покажем
Файл
Вопросы на System Design в Ozon.pdf · 2.1 МБ · нажмите — покажем
Ozon: Полный слив направления Go-разработки Продолжаем грабить бигтехи, чтобы вы реально почувствовали насколько круты наши курсы. Делимся гайдом, на основе внутренних материалов Ozona, которые предоставили наши выпускники: техчасть Go и System Design. Если на языковой секции ты хорошо себя показал и интервьюер видит уровень мидла+, тебя отправляют дальше на архитектурную секцию. Все закрывается нашими курсами Бэкенд Старт и Бэкенд ПРО. ➡️ Записаться. В файле самое полезное: ответы разбиты по уровням. Не просто «правильно вот так», а видно, что ждут от джуна, что уже должен знать мидл и где начинается сеньор. Плюс комментарии интервьюера: где ответ выглядит подозрительно, где красный флаг, а где можно, наоборот, хорошо себя показать. Go — 63 задачи и 7 больших тем: ОС и сети, теория, практика, структуры данных, БД, архитектура и скрининг. Практика — реальные продовые кейсы: код-ревью кеша, странности со слайсами и каналами, проблемы с производительностью. Уточняющие вопросы. System Design — ещё 33 задачи. Стартует с базовых концептов (CAP, консистентное хеширование, гарантии доставки), а дальше доходит до полноценных кейсов: спроектировать мессенджер, поисковик или Instagram с нуля. С расчётом нагрузки и разбором, где система начнёт разваливаться. Для бота советую наш канал @codeof_art Еще больше материалов в наших открытых банках собесов. — Аналитика — ML & DS — Бэкенд — Фронтенд — Алгоритмы Обсудить задачи можно в нашей боталке. Подписаться: @postypashki_old
38 · 698 ·
A
Art of Code
ШАД и Лаборатории ШАД — это не просто диплом и не просто строчка в резюме. Это еще и доступ к специалистам, которые делают науку и индустрию. Но работают они в разных местах, и далеко не везде ШАД одинаково ценят. Где-то он открывает двери, а где-то на него вообще не смотрят. Мы собрали два списка, чтобы ты понимал, куда идти, если хочешь использовать ШАД как трамплин, а куда — если у тебя другие цели. Где ШАД в плюс - Лаборатория компьютерной графики и мультимедиа ВМК МГУ - её заведующий ведёт в ШАДе компьютерное зрение - AIRI - в ШАДе преподают руководители групп «Пространственный интеллект» и FusionBrain.Robotics, а также старший научный сотрудник института - Группа генеративного ИИ Сколтеха - её руководитель сам выпускник ШАДа и читает там курс по генеративному ИИ вместе с сотрудницей группы - Лаборатория теоретической информатики ФКН ВШЭ - завлаб ведёт в ШАДе теорию информации - Научно-учебная лаборатория Яндекса на ФКН ВШЭ - её сотрудники преподают в совместной с ШАДом магистратуре - Лаборатория ИИ Яндекса - руководитель группы ML-разработки ведёт в ШАДе машинное обучение - Лаборатория машинного интеллекта МФТИ и лаборатория МФТИ-Сбербанк - их руководители приложили руку к развитию ШАДа Где на ШАД не смотрят Лабы по железу и системному ПО от YADRO и Huawei. Ни одного преподавателя ШАДа оттуда нет, и в их материалах для студентов ШАД не упоминается. У них свои каналы: лаборатория YADRO в НГУ, программы Huawei при МФТИ, Бауманке и Сколтехе, Excelsior at Huawei в Новосибирске. Туда берут через свой отбор: задачи, профильная база, публикации Хочешь в ШАД, но не знаешь, с чего начать? Наши курсы закрывают всю базу за 3 месяца, а доступ к материалам и мокам остаётся навсегда. Записывайся с гарантией поступления. ➡ Записаться Подписаться: @codeof_art
8 · 2.1K ·
A
Art of Code
Файл
Разбор_отборочного_теста_Ядро_—_курс_по_Си.pdf · 2.1 МБ · нажмите — покажем
Кто подался на курс YADRO по системному программированию на Си, отборочный тест нужно пройти до сегодняшнего вечера, дедлайн 1 октября в 23:59 по Москве. Времени мало, поэтому мы разобрали отборочный тест целиком: 19 вопросов по Си и 4 вопроса на мотивацию, по каждому есть правильный ответ, объяснение и ловушка, на которой чаще всего спотыкаются. На тест дают около 25 минут, и проверяет он в первую очередь знание тёмных углов языка. Почти у каждого вопроса есть очевидный ответ, который оказывается неверным. Попробуй навскидку: что лежит в указателе после вызова free, если многие уверены, что там NULL? Сколько вернёт strlen("Hello\n"), 5, 6 или 7? Скомпилируется ли switch, у которого в case стоит обычная переменная? Нужно ли освобождать массив, объявленный на стеке, если один из вариантов ответа уверяет, что в C23 завезли сборщик мусора? Если хоть где-то засомневался, разбор тебе пригодится. Вопросы в файле сгруппированы по четырём темам: поток управления, биты и числа, сборка и препроцессор, указатели и память. Внутри разобраны static в функции, XOR и дополнительный код, трюк с n & (n - 1), макросы без скобок, strtok и указатели на функции. В конце есть ключ на одной странице и таблица «десять ловушек Си», которую полезно держать под рукой и после отбора, перед любым собесом на позицию с Си. Мотивационную часть мы тоже разобрали, но готовых ответов там нет и быть не может, это вопросы про тебя. Для каждого описано, что хотят увидеть проверяющие, как выстроить ответ и чего избегать, а ещё есть каркас с пропусками под твой опыт. Одинаковые шаблонные тексты у разных кандидатов видно сразу, а детали могут уточнить на следующем этапе, так что пиши своими словами и только про то, что действительно делал. Подписаться: @codeof_art Вступить в чатик: @code_of_art
34 · 3.5K ·
A
Art of Code
Файл
System Design Т-банк.pdf · 1.1 МБ · нажмите — покажем
Как устроены System Design и troubleshooting в Т-банке Дают их бэкендерам и фуллстекам на любом грейде. Джуну достаточно простого решения, мидлу еще нужно закрыть функциональные требования, сеньору ещё и нефункциональные (масштабирование, точки отказа, инфра). Дают их обычно после секции по языку/стеку. Подробный гайд по внутренним протоколам Т-банка в прикрепленном файле. Спасибо нашим выпускникам, которые делятся с нами инсайдерской информаций! Систем дизайн. Тебе дают задачу и 60 минут. Интервьюер играет продакта — у него можно уточнять всё. Главный критерий простой: есть решение или нет. Не смог сам собрать даже требования, считай завалил секцию. На практике это выглядит так: тебя просят спроектировать, допустим, сервис доставки. И первое, что ты должен сделать спросить: сколько пользователей, какой RPS, сколько дата-центров, какой SLA, есть ли легаси. Потом выбрать стек и обосновать каждый выбор требованиями. Потом компоненты и API. Потом верхнеуровневая схема: где кеш, где балансировка, где точки отказа. Потом производительность и безопасность. На каждом шаге могут подловить. Интервьюер может намеренно подсказать кривое решение и смотреть, согласишься или нет. Troubleshooting. Тебе описывают архитектуру и говорят: «техподдержка жалуется, сайт не работает» или «алерт: 500-х стало в 10 раз больше». Дальше ты задаёшь вопросы, а интервьюер отвечает, что ты при этом увидишь. Подробнее в прикрепленном файле. Там мы разобрали 6 реальных кейсов troubleshooting, чеклисты ответов и шпаргалку концепций. Этого хватит, чтобы понять структуру интервью. Но одной теории мало, нужна и качественная практика, которую мы даем на наших курсах Бэкенд СТАРТ и Бэкенд ПРО с помощью семинаров, домашнего задания, пет проектов, доступа к закрытой базе собесов, пробных собеседований и наставников из индустрии. ➡️ Записаться Подписаться: @postypashki_old
19 · 453 ·
A
Art of Code
Инфра - самый недооценённый трек ШАДа Все сейчас спорят, кого первым заменит ИИ. А есть профессия, где с приходом ИИ людей нужно только больше, - инфраструктура: DevOps, SRE, разработка распределённых систем. В посте обсудим, почему так и почему лучший вход туда - направление «Инфраструктура больших данных» в ШАДе. В инфре платят бабки Если ошибся типичный разработчик, на сайте поедет кнопка/не так отработает отработает бэкенд. Если ошибся инфраструктурщик, то встает весь проект, бизнес, иногда масштабы проблемы уходят даже дальше: - 30 января 2024 года при плановой ротации ключей DNSSEC сломалась подпись зоны .ru, и сайты в рунете массово перестали открываться. На восстановление ушло около двух часов, а эксперты назвали самую вероятную причину - кривые руки - 28 июля 2025 года после хакерской атаки легла IT-инфраструктура «Аэрофлота»: за день отменили 54 пары рейсов, пострадали 75 тысяч пассажиров. Только прямой ущерб от отмен эксперты оценили минимум в 260 млн ₽, а с восстановлением инфраструктуры - в несколько миллиардов. Расписание вернули в норму за пару дней, и сделали это не нейросети, а инженеры - особенно остро эти вопросы возникают сейчас, когда ИИ уже активно делает эти ваши кибер атаки Поэтому инфраструктурщикам и платят столько много. По данным hh.ru, в январе 2026 медианная предлагаемая зарплата DevOps была 216 800 ₽ - топ-5 самых высокооплачиваемых вакансий месяца. И это при том, что зарплаты в IT в целом растут медленнее инфляции. Компания экономит на многом, но не на людях, от которых зависит, работает ли она вообще. Почему туда сложно зайти Раз цена ошибки такая, ответственность дают только тем, кто понимает, как система устроена под капотом. Поэтому джунов в инфре почти не берут, и поэтому DevOps-курсы не спасают: они учат инструментам - Kubernetes, Terraform, CI/CD. А на собесе в сильную команду спросят, что происходит с диском при fsync и почему отстала реплика. Как это решает ШАД На ИБД учат ровно тому, что лежит под инструментами: файло
8 · 395 ·
A
Art of Code
Ссылка
нажмите — покажем
System Design: frontend На собесе во фронтенд Wildberries на архитектурной секции могут попросить спроектировать аналитику для главной страницы, которая выдерживает 500 тысяч запросов в секунду. Звучит как задача для бэкенда с хранилищами и дашбордами, однако интервьюера в первую очередь интересует браузер. Ему важно, как страница собирает клики, скролл и показы карточек и как доставляет всё это на сервер так, чтобы витрина не начала тормозить от собственной аналитики. Первая версия, которую предлагает почти каждый, отправляет отдельный запрос на каждое событие. На небольшом сайте это сойдёт, но на главной маркетплейса у каждого посетителя за визит набираются десятки событий, а посетителей одновременно сотни тысяч. Запросы аналитики начинают делить канал с картинками товаров, на слабом мобильном интернете страница заметно дольше грузится, и в итоге падает конверсия, то есть ровно та метрика, ради которой аналитику и строили. Поэтому до того как рисовать схему, стоит выяснить у интервьюера, насколько быстро данные должны оказаться на сервере и нужен ли там каждый клик. От ответа зависит многое, потому что для оплаты рекламных показов терять события нельзя, а для тепловой карты главной страницы спокойно хватит части сессий. Дальше разговор строится вокруг буфера. События складываются в память вкладки и уходят на сервер одной пачкой, когда их накопилось несколько десятков или прошло несколько секунд. Общие данные вроде id сессии и модели устройства кладутся в пачку один раз, поэтому каждое событие весит совсем немного, а у буфера есть предел, чтобы при недоступном сервере вкладка не съела всю память. Самое интересное начинается, когда пользователь уходит со страницы, потому что последняя пачка содержит как раз то, что аналитикам нужнее всего, момент, в который человек бросил просмотр. Обычный fetch браузер при закрытии вкладки может оборвать, поэтому для последней отправки используют navigator.sendBeacon, который отдаёт запрос браузеру, и тот доставит его уже после
2 · 88 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем