fa
Feedback
2 955
مشترکین
-224 ساعت
+47 روز
+4430 روز
آرشیو پست ها
В тему недавнего outage Cloudflare
В тему недавнего outage Cloudflare

Вебинары 22 и 23 ноября отменены Вебинары на 22 и 23 ноября по темам: 22 ноября 2025, 10 утра по Лондону, 13 по Москве. System Design Interview. Урок 4. Основные концепции, часть 2. RPC, REST, Websockets, Long-Polling, Server-Sent Events. Proxies, Bloom Filter, Heartbeat, Checksum. 23 ноября 2025, 10 утра по Лондону, 13 по Москве. Coding Interview. Prefix/Suffix Tree, Trie. были отменены, т.к. на каждый из них было меньше 3 записей. Средства будут возвращены. Если есть какие-то проблемы с возвратами, напишите мне тут или на почту faangmaster@faangmaster.com Вебинаров в ближайшем будущем не планируется по причине нулевого спроса. Смотрите также: Анонсы вебинаров и моков.

TL;DR Конфигурационные изменения (изменения прав доступа) привели в неправильным результатам запроса, который строит feature-file для ML модели, которая борется с атаками. Увеличенный файл повалил код, который его читал. Т.е. все запустил конфиг ченж, но и код, который он поломал, оказался очень уязвимым к такого рода изменениям.

Cloudflare outage on November 18, 2025 Cloudflare опубликовали отчет про причины недавнего outage: https://blog.cloudflare.com/18-november-2025-outage/ Почему outage Cloudflare положил интернет Cloudflare — это крупный инфраструктурный провайдер: CDN, обратный прокси, DNS и сервисы безопасности. Через его сеть проходит трафик примерно 20% сайтов в интернете: от медиа и ритейла до игровых сервисов и SaaS. Пользователь обращается не напрямую к сайту, а сначала к узлу Cloudflare, который завершает TLS, кеширует контент, фильтрует атаки и только потом ходит к origin-серверу. Если такой слой перестаёт работать, для людей это выглядит как «упал сайт», даже если сам бэкенд жив. Outage Summary 18 ноября 2025 года в 11:20 UTC Cloudflare начал массово отдавать HTTP 5xx. Пострадали X, ChatGPT, Spotify, крупные ритейлеры, госорганизации и многие другие сервисы. Причиной оказался не DDoS и не взлом, а внутренний сбой в модуле Bot Management. Конфигурационный файл с признаками для ML-модели (feature file), который генерируется в ClickHouse каждые несколько минут, неожиданно вырос вдвое из-за изменения прав доступа. Новый файл превысил жёсткий лимит в прокси и начал приводить код к аварийному завершению при каждом чтении. Генерация «плохих» файлов шла до 14:24, исправленный файл развернули к 14:30, полное восстановление — к 17:06. Создание feature-file Файл признаков для Bot Management строится по результатам запроса к ClickHouse:
SELECT
    name,
    type
FROM system.columns
WHERE
    table = 'http_requests_features'
ORDER BY name;
В ClickHouse у них используется связка: в базе default лежат распределённые таблицы, которые перенаправляют запросы к настоящим таблицам в базе r0 на шардах кластера. До изменения прав доступа запросы к system.columns для обычных пользователей возвращали метаданные только по базе default. 18 ноября в 11:05 Cloudflare поменял права так, чтобы пользователи видели метаданные и по базе r0 тоже — для более точного контроля лимитов и прав. После этого приведённый выше запрос, не фильтрующий по имени базы, стал возвращать столбцы и из default, и из r0. То есть список колонок для таблицы http_requests_features фактически удвоился. До изменения система использовала около 60 признаков; с «дубликатами» их стало больше верхнего допустимого порога (200) в коде прокси. Код, который читает feature-file
/// Fetch edge features based on `input` struct into [`Features`] buffer.
pub fn fetch_features(
    &mut self,
    input: &dyn BotsInput,
    features: &mut Features,
) -> Result<(), (ErrorFlags, i32)> {
    // update features checksum (lower 32 bits) and copy edge feature names
    features.checksum &= 0xFFFF_FFFF_0000_0000;
    features.checksum |= u64::from(self.config.checksum);
    let (feature_values, _) = features
        .append_with_names(&self.config.feature_names)
        .unwrap();
}
Этот код на Rust, читает feature-file. Функция append_with_names возвращает Result. В случае превышения лимита Result будет содержать Error. Метод unwrap() возвращает результат, но в случае ошибки, он вызывает panic и аварийно завершает поток. P.S. Справка по Rust В Rust большинство ошибок выражают типом Result<T, E>, где T — успешный результат, а E — тип ошибки. Функция возвращает Result, и вызывающий код обязан явно решить, что делать с ошибкой: обработать (match, if let), пробросить дальше (?), залогировать и т.п. В отличие от исключений в других языках, здесь нет скрытого «выбрасывания» — ошибки видны прямо в типах, поэтому компилятор заставляет не игнорировать их. В крайних случаях можно вызвать unwrap() / expect(), но тогда при ошибке программа упадёт с паникой, поэтому так делают только там, где ошибка действительно считается невозможной.

Вопрос по Rust. Что не так с этим кодом?
/// Fetch edge features based on `input` struct into [`Features`] buffer.
pub fn fetch_features(
    &mut self,
    input: &dyn BotsInput,
    features: &mut Features,
) -> Result<(), (ErrorFlags, i32)> {
    // update features checksum (lower 32 bits) and copy edge feature names
    features.checksum &= 0xFFFF_FFFF_0000_0000;
    features.checksum |= u64::from(self.config.checksum);
    let (feature_values, _) = features
        .append_with_names(&self.config.feature_names)
        .unwrap();
}

Вебинары 22 и 23 ноября На вебинар по System Design на 22 ноября записано - 0 человек, по Алгоритмам на 23 ноября - 1 человек. По темам: 22 ноября 2025, 10 утра по Лондону, 13 по Москве. System Design Interview. Урок 4. Основные концепции, часть 2. RPC, REST, Websockets, Long-Polling, Server-Sent Events. Proxies, Bloom Filter, Heartbeat, Checksum. 23 ноября 2025, 10 утра по Лондону, 13 по Москве. Coding Interview. Prefix/Suffix Tree, Trie. Если до завтра будет меньше 3 человек на вебинар, то я их отменю и сделаю возврат денег. Анонсы вебинаров и моков.

Стоимость акций Cisco восстановилась спустя 25 лет после краха дот-комов. Если проводить аналогию AI и дот-комов, то Nvidia э
Стоимость акций Cisco восстановилась спустя 25 лет после краха дот-комов. Если проводить аналогию AI и дот-комов, то Nvidia это аналог Cisco в эпоху AI.

Задача с собеседования в Google Задача. Дан массив целых чисел. Значения могут быть только 0, 1 и 2. Нужно отсортировать на месте(без доп. памяти). Использовать библиотечные функции сортировки нельзя.

John Hegeman уходит из Мета Еще одна легенда Меты уходит. Он пришел в компанию в 2007 году разрабом. Последнее время он был C
John Hegeman уходит из Мета Еще одна легенда Меты уходит. Он пришел в компанию в 2007 году разрабом. Последнее время он был Chief Revenue Officer. Занимался ключевой вещью в компании - рекламой и монетизацией.

Интересное интервью с Юрием Ребриком Делится своим опытом подачи заявок, участием в разных акселераторах/бизнес инкубаторах. Сумел пройти в YC и получить $2.5M инвестиций. Делает свой стартап Fluently. Его linkedin: Yurii Rebryk Интервью: https://www.youtube.com/watch?v=bUgiIQ-zkjI

Что будет с массовыми сокращения в ближайшие годы? Число массовых сокращений в IT в этом году было немного меньше, чем в прош
Что будет с массовыми сокращения в ближайшие годы? Число массовых сокращений в IT в этом году было немного меньше, чем в прошлом, и значительно меньше, чем в 2023-м. При этом изменились и причины сокращений. Если в 2022–2023 годах основной причиной был оверхайринг в ковидный период: тогда спрос на онлайн-продукты резко вырос, компании наняли много людей. После резкого окончания ковида и снятия ограничительных мер спрос перестал расти экспоненциально, а расходы компаний увеличились из-за найма большого количества сотрудников, поэтому компании прибегли к массовым сокращениям. Более того, парадоксальным образом эти сокращения создали положительную обратную связь: как только компания анонсирует сокращения, её акции резко взлетают в цене. В 2024–2025 годах основная причина сокращений уже другая — перенаправление ресурсов в разработку AI-инфраструктуры и продуктов. Компании вкладывают астрономические ресурсы в AI, но при этом остаётся огромный риск, что всё это не окупится в той степени, в какой туда вкладываются деньги. И всё это может привести к очередной волне мегасокращений из-за избыточного найма людей на проекты, связанные с AI. Кроме того, помимо AI, почти нет новых точек роста: все проблемы масштабирования существующих проектов (поиск, реклама, соцсети, мессенджеры) были решены уже пять лет назад. VR/AR, IoT и блокчейн так и не стали большими секторами. Если и AI «закончится», то может возникнуть серьёзная стагнация IT-сектора. Что вы думаете?

Как вы решали вопрос со служением в армии? Я не служил, но я годен. Я пошел хардкорным путем и защитил кандидатскую. Кандидаты уже считаются негодными.
Anonymous voting

Сколько я заработал за первый год работы в Facebook по сравнению с четвертым годом? Это p60-формы с доходами за предыдущий на
+1
Сколько я заработал за первый год работы в Facebook по сравнению с четвертым годом? Это p60-формы с доходами за предыдущий налоговый год. 1) За 2021 (5 апреля 2020 - 5 апреля 2021) - £214k/$282k/22.9 миллиона рублей 2) За 2024 (5 апреля 2024-5 апреля 2025) - £575/$757k/61 миллионов рублей. Для сравнения, сколько я заработал на этом канале за 2.5 года его ведения (до уплаты расходов и затрат): 1) Мок-собеседования и вебинары: £111/$146/11.8k рублей 2) Видео уроки: £239/£314/25.6k рублей В сумме: £350/$461/37.5 тысяч рублей. С учетом расходов на хостинг видео на vimeo, покупка хостинга и различные сервисы для сайта faangmaster.com я в глубоком минусе без учета потраченного времени😁

Простой вопрос с собеседования по Java Что не так с кодом: static int value = 1; static final Object obj = new Object(); // поток 1 .... synchronized (obj) { value++; } .... // поток 2 ..... int x = value; ....

В Мета на перфоманс ревью будут оценивать AI-driven impact Со следующего года в PSC(перфоманс ревью в Мета) будет введена новая ось: AI-driven impact. На текущий момент, перфоманс оценивается по 4 осям: Project Impact, Operational Excellence, Direction, People. До этого, Мета уже запустила эксперимент, по использыванию AI на собеседовании:https://t.me/faangmaster/808

photo content

Интересное интервью с Distinguished разработчиком из Facebook С 1997 до 2010 работал в Microsoft. C 2010 до 2018 в Facebook и дорос до уровня E9 (Distinguished). Текущие компенсации для этого уровня в Meta - $3.3M в год (266 миллионов рублей в год). Таких людей в Meta ~100. После Меты работал в OpenAI, создал несколько компаний и преподает в Университете Вашингтона. Его линкедин: Philip Su Интервью: https://www.youtube.com/watch?v=v2JxdjTi_1I

Задача с собеседования в Google: Russian Doll Envelopes Задача. Дан двумерный массив envelopes, где envelopes[i] = [wᵢ, hᵢ] — ширина и высота i-го конверта. Один конверт может быть вложен в другой, если его ширина и высота строго меньше ширины и высоты другого конверта. Требуется найти максимальное число конвертов, которые можно вложить друг в друга. Например, envelopes = [[5,4],[6,4],[6,7],[2,3]] Output: 3. Можно вложить максимум 3 конверта друг в друга: [2,3] => [5,4] => [6,7] Input: envelopes = [[1,1],[1,1],[1,1]] Output: 1 По условию, конверты, одинаковые хотя бы по одному измерению, нельзя вкладывать друг в друга. Ссылка на leetcode: https://leetcode.com/problems/russian-doll-envelopes/description/ Решение. Решение разобрал тут: Задача с собеседования в Google: Russian Doll Envelopes Код решения:

Запись на вебинары Анонсы тут: https://t.me/faangmaster/1082. На ближайшие вебинары в эти выходные: 15 ноября вебинар по System Design записалось 2 человека, на 16 ноября по алгоритмам - 0 человек. Если в течении часа на вебинар по System Design не будет записей - вебинар будет отменен.

Задача с собеседования в Google Задача. Дан двумерный массив envelopes, где envelopes[i] = [wᵢ, hᵢ] — ширина и высота i-го конверта. Один конверт может быть вложен в другой, если его ширина и высота строго меньше ширины и высоты другого конверта. Требуется найти максимальное число конвертов, которые можно вложить друг в друга. Разбор решения выложу в течении дня.