📗 Книгу "Web scalability for startup engineers" советуют как более лёгкую, в сравнение с Клеппманом.
Встретил её совсем недавно.
Давайте по ней изучим Шардирование. Сделал перевод начала раздела стараясь выразить суть и уложится в формат поста телеграмма.
Сценарий
📈 Возрастают нагрузки на 1 сервер с Базой Данных. Необходимо разделить данные по серверам.
Проблема
➡️ Для получения данных, нужно не опрашивать все сервера, а пойти на целевой - где эти данные находятся.
Решение
🔑 Использовать ключ шардирования - сущность, которая позволит определить целевой сервер.
Пример
📦 Онлайн магазин. Сервис изначально имел одну Базу Данных. Для горизонтального масштабирования необходимо распределить данные по серверам.
Необходимо понять, по какому признаку произвести распределение. Поскольку пользователи в магазине не взаимодействуют друг с другом, можно распределить по пользователям.
Тогда при необходимости обновления или получения данных о пользователе запрос пойдёт в определенный инстанс БД.
Пользователя можно идентифицировать по полю user_id - уникальному идентификатору пользователя. Такой id и будет называться ключом шардирования.
Алгоритм шардирования
⚙️ Осталось понять какой user_id к какому серверу будет отнесен. Для этого выбирается алгоритм маппинга/роутинга/маршрутизации/распределения.
Для простоты, у нас есть 2 сервера БД == 2 шарда. В качестве алгоритма будет определение чётности.
Его можно реализовать с помощью операции взятия остатка от деления: user_id % 2 => 1, 0
Получаем распределение данных по признаку "чётности".
Шардировать можно средствами самой БД. Или же создать дополнительный слой/сервис для маршрутизации.
#Books #Sharding
Встретил её совсем недавно.
Давайте по ней изучим Шардирование. Сделал перевод начала раздела стараясь выразить суть и уложится в формат поста телеграмма.
Сценарий
📈 Возрастают нагрузки на 1 сервер с Базой Данных. Необходимо разделить данные по серверам.
Проблема
➡️ Для получения данных, нужно не опрашивать все сервера, а пойти на целевой - где эти данные находятся.
Решение
🔑 Использовать ключ шардирования - сущность, которая позволит определить целевой сервер.
Пример
📦 Онлайн магазин. Сервис изначально имел одну Базу Данных. Для горизонтального масштабирования необходимо распределить данные по серверам.
Необходимо понять, по какому признаку произвести распределение. Поскольку пользователи в магазине не взаимодействуют друг с другом, можно распределить по пользователям.
Тогда при необходимости обновления или получения данных о пользователе запрос пойдёт в определенный инстанс БД.
Пользователя можно идентифицировать по полю user_id - уникальному идентификатору пользователя. Такой id и будет называться ключом шардирования.
Алгоритм шардирования
⚙️ Осталось понять какой user_id к какому серверу будет отнесен. Для этого выбирается алгоритм маппинга/роутинга/маршрутизации/распределения.
Для простоты, у нас есть 2 сервера БД == 2 шарда. В качестве алгоритма будет определение чётности.
Его можно реализовать с помощью операции взятия остатка от деления: user_id % 2 => 1, 0
Получаем распределение данных по признаку "чётности".
Шардировать можно средствами самой БД. Или же создать дополнительный слой/сервис для маршрутизации.
#Books #Sharding
👍3👏1
Forwarded from Владимир в IT
Почему взлетел "Тинькофф"?
Расписал начало нашего интервью с техническим директором Тинькоффа Александр Поломодовым в текстовую статью.
Затронутые темы:
1️⃣ Развитие компании, переход на свою технологическую платформу;
2️⃣ Вклад в сотрудников, возможности роста за достижения;
3️⃣ Рождение System Design Interview. Мотивация введения этого этапа интервью.
https://habr.com/ru/articles/784860/
Расписал начало нашего интервью с техническим директором Тинькоффа Александр Поломодовым в текстовую статью.
Затронутые темы:
1️⃣ Развитие компании, переход на свою технологическую платформу;
2️⃣ Вклад в сотрудников, возможности роста за достижения;
3️⃣ Рождение System Design Interview. Мотивация введения этого этапа интервью.
https://habr.com/ru/articles/784860/
Хабр
Технологическое бум Тинькофф, рождение System Design интервью
Привет, Хабр! На полях конференции Yandex.Talks взял интервью у Александра Поломодова , который за 7 лет вырос в Тинькофф до технического директора. Александр рассказал про технологический бум...
👍4💩1
📖 Нужно больше шардирования!
⚡️Ребята с #faangtalk пригласили выступить со своей темой.
Поскольку последний контекст был про шардирование, решил про него глубже и шире рассказать.
📍Рассмотрим исторический контекст, алгоритмы шардирования, проблемы миграций данных.
Также посмотрим, как AliExpress внедрил свой велосипед для шардирования PostgreSQL баз данных для управления 8 ТБ данных.
🎦 Встретимся у них 20 февраля.
#Sharding
⚡️Ребята с #faangtalk пригласили выступить со своей темой.
Поскольку последний контекст был про шардирование, решил про него глубже и шире рассказать.
📍Рассмотрим исторический контекст, алгоритмы шардирования, проблемы миграций данных.
Также посмотрим, как AliExpress внедрил свой велосипед для шардирования PostgreSQL баз данных для управления 8 ТБ данных.
🎦 Встретимся у них 20 февраля.
#Sharding
🔥7👍1
Mock Interview. URL shortener.
💡Важный аспект подготовки к интервью - практика.
В случае System Design интервью её можно получить как на самом интервью, так и заранее - сходив на мок интервью.
✅ Нашёл руководителя одного из подразделения BigTech компании для проведения мока со мной.
Задача выпала такая:
"Разработать сервис по сокращению url"
▶️ Держа в голове схему прохождения принялся за дизайн.
Получалось бодро проходить по шагам интервью. Неожиданно для себя шустро делал вычисления🙂
Порой интервьювер замолкал. Воспринимал это за сигнал для проявления инициативы.
Спрашивал - "Подойдёт ли такое решение? Переходим к следующему этапу?".
Ведь собеседование - это обоюдный процесс. Монолог здесь не проходит.
⏰ Уложились в 53 минуты.
После была дана ценная обратная связь.
Сделал обзор этого мока. Сократил до 8 минут выделяя основные этапы:
Обзор mock интервью по System Design. Url shortener.
#Interview
💡Важный аспект подготовки к интервью - практика.
В случае System Design интервью её можно получить как на самом интервью, так и заранее - сходив на мок интервью.
✅ Нашёл руководителя одного из подразделения BigTech компании для проведения мока со мной.
Задача выпала такая:
"Разработать сервис по сокращению url"
▶️ Держа в голове схему прохождения принялся за дизайн.
Получалось бодро проходить по шагам интервью. Неожиданно для себя шустро делал вычисления🙂
Порой интервьювер замолкал. Воспринимал это за сигнал для проявления инициативы.
Спрашивал - "Подойдёт ли такое решение? Переходим к следующему этапу?".
Ведь собеседование - это обоюдный процесс. Монолог здесь не проходит.
⏰ Уложились в 53 минуты.
После была дана ценная обратная связь.
Сделал обзор этого мока. Сократил до 8 минут выделяя основные этапы:
Обзор mock интервью по System Design. Url shortener.
#Interview
Telegram
System Design World
🎁 Для желающих быстро уловить суть законспектировал часовое видео в 3 листа System Design Interview cheat_sheets.
#cheat_sheets
#cheat_sheets
🔥7❤1👍1
🌠 Mock Interview. URL shortener. II.
📝 В этот раз интервьюировал уже я.
Делал краткие заметки по ходу интервью.
⚙️ Этапы интервью
Немного изменил условия. Собеседник бодро шёл по пунктам проектирования.
1. Начал с уточнений функциональных, нефункциональных требований. Очертил скоп задачи.
2. Рассчитал нагрузку.
3. Создал подробное REST API.
4. Нарисовал небольшой дизайн.
5. Расписал 2 версии генерации короткого url.
6. Ответил на дополнительные вопросы.
7. Обратная связь.
При этом, добротно комментировал. В инициативном порядке переходил к следующим пунктам.
❓Редкие вопросы
Видя его бодрый настрой старался не сбивать. Из самых больших вопросов спросил:
1) "Что будет, если короткой ссылки не окажется?" До этого был расписан лишь "happy path" в api.
2) "Давай вернёмся к требованиям и проверим, всё ли реализовали?". Чтобы натолкнуть на мысль по поводу самого сервиса генерации. До этого был описан лишь алгоритм, без подробностей кто его будет исполнять. И как с этим кем-то будут взаимодействовать его бэкэнд stateless сервисы.
=> Дорисовал оранжевый ромб. Объяснил взаимодействие.
💤 Медленная SHA
Я хотел сказать, что SHA может оказаться медленной.
Потом вспомнил, что условие "Получать url как можно быстрее" было в ранее решаемой мною задачи. А здесь я его не указал.
Можно взять на заметку, что криптографические функции медленные. Если есть требование по скорости и есть другой вариант(здесь 2ой - последовательное деление по модулю числа) - лучше выбрать его.
⏱ Тайминг.
ts - завершенная активность
5 - чтение задачи, уточнение ф/нф требований, цифр
11 - подсчёт места для хранения данных
19 - создание API
22 - верхнеуровневый дизайн системы
33 - описание алгоритмов
43 - размышление о storage - SQL, NoSQL, sharding
46 - финал, ответ на вопрос по требованиям
50 - доп вопрос(*) - "Как будем мониторить систему? Как понимать, что она работает?"
55 - доп вопрос(**) - "Стартап пользуется популярностью. Решили ввести платный функционал. Пользователь сам можем задать свой короткий желаемый url."
#Interview
📝 В этот раз интервьюировал уже я.
Делал краткие заметки по ходу интервью.
⚙️ Этапы интервью
Немного изменил условия. Собеседник бодро шёл по пунктам проектирования.
1. Начал с уточнений функциональных, нефункциональных требований. Очертил скоп задачи.
2. Рассчитал нагрузку.
3. Создал подробное REST API.
4. Нарисовал небольшой дизайн.
5. Расписал 2 версии генерации короткого url.
6. Ответил на дополнительные вопросы.
7. Обратная связь.
При этом, добротно комментировал. В инициативном порядке переходил к следующим пунктам.
❓Редкие вопросы
Видя его бодрый настрой старался не сбивать. Из самых больших вопросов спросил:
1) "Что будет, если короткой ссылки не окажется?" До этого был расписан лишь "happy path" в api.
2) "Давай вернёмся к требованиям и проверим, всё ли реализовали?". Чтобы натолкнуть на мысль по поводу самого сервиса генерации. До этого был описан лишь алгоритм, без подробностей кто его будет исполнять. И как с этим кем-то будут взаимодействовать его бэкэнд stateless сервисы.
=> Дорисовал оранжевый ромб. Объяснил взаимодействие.
💤 Медленная SHA
Я хотел сказать, что SHA может оказаться медленной.
Потом вспомнил, что условие "Получать url как можно быстрее" было в ранее решаемой мною задачи. А здесь я его не указал.
Можно взять на заметку, что криптографические функции медленные. Если есть требование по скорости и есть другой вариант(здесь 2ой - последовательное деление по модулю числа) - лучше выбрать его.
⏱ Тайминг.
ts - завершенная активность
5 - чтение задачи, уточнение ф/нф требований, цифр
11 - подсчёт места для хранения данных
19 - создание API
22 - верхнеуровневый дизайн системы
33 - описание алгоритмов
43 - размышление о storage - SQL, NoSQL, sharding
46 - финал, ответ на вопрос по требованиям
50 - доп вопрос(*) - "Как будем мониторить систему? Как понимать, что она работает?"
55 - доп вопрос(**) - "Стартап пользуется популярностью. Решили ввести платный функционал. Пользователь сам можем задать свой короткий желаемый url."
#Interview
👍8
🔱 Не боги горшки обжигают
▶️ Доступность, отказоустойчивость, избыточность - популярные термины из мира System Design.
⛔️ Почему же сверхнагруженная и быстрая биржа "не сумела в System Design"? Почему лишь один сервер? И не совсем горячий failover.
Там нет таких собеседований на входе? Или дело в другом?
#Question #RealLifeExample
▶️ Доступность, отказоустойчивость, избыточность - популярные термины из мира System Design.
⛔️ Почему же сверхнагруженная и быстрая биржа "не сумела в System Design"? Почему лишь один сервер? И не совсем горячий failover.
Там нет таких собеседований на входе? Или дело в другом?
#Question #RealLifeExample
👍5🤔2😢1
📹 Mock Interview. URL shortener. III. English version.
✍️ Закрепим тему 3им решением.
Сегодня в онлайн проведём интервью с англоговорящим коллегой.
Если есть пожелания по дополнению требований, условий задачи - you are welcome :)
✅ Кандидат поддержал идею наблюдателей.
🕗 8 p.m. GMT+3 / 20:00 по Москве.
https://meet.google.com/wky-yehd-saw
#Interview
✍️ Закрепим тему 3им решением.
Сегодня в онлайн проведём интервью с англоговорящим коллегой.
Если есть пожелания по дополнению требований, условий задачи - you are welcome :)
✅ Кандидат поддержал идею наблюдателей.
🕗 8 p.m. GMT+3 / 20:00 по Москве.
https://meet.google.com/wky-yehd-saw
#Interview
Google
Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.
👍8
©️ URL shortener. Community edition.
▶️ Закончил монтаж состоявшегося коллективного мок интервью.
👥 Вместе размышляли. Не подгоняли. Кажется, что это хорошо.
Когда нет deadline, до которого дрожащими руками нужно успеть пройти все шаги.
🆙 В один момент инициативу взял один из участников, которому помогали советами и дополнительными вопросами для движения вперёд.
https://youtu.be/1g7JBd-pS5s
#Interview
▶️ Закончил монтаж состоявшегося коллективного мок интервью.
👥 Вместе размышляли. Не подгоняли. Кажется, что это хорошо.
Когда нет deadline, до которого дрожащими руками нужно успеть пройти все шаги.
🆙 В один момент инициативу взял один из участников, которому помогали советами и дополнительными вопросами для движения вперёд.
https://youtu.be/1g7JBd-pS5s
#Interview
YouTube
System design. URL shortener. Mock together.
Interviews are hard!
Together try to make it easier! In this mock session we're building url shortener step by step!
🙌 My personal channel:
https://www.tgoop.com/vladimir_v_it
⭐️ System Design Interview preparation:
https://www.tgoop.com/system_design_world
Together try to make it easier! In this mock session we're building url shortener step by step!
🙌 My personal channel:
https://www.tgoop.com/vladimir_v_it
⭐️ System Design Interview preparation:
https://www.tgoop.com/system_design_world
❤7👍1
🎬 Завтра встречаемся с ребятами из дружественного канала, где доложусь на тему Шардирования в System Design.
upd. Запись видео:
https://www.youtube.com/watch?v=xNBN7ZigRA0
#Sharding
upd. Запись видео:
https://www.youtube.com/watch?v=xNBN7ZigRA0
#Sharding
YouTube
#FaangTalk 52 - Шардирование. Масштабирование баз данных для highload систем
Канал с анонсами https://www.tgoop.com/faangtalk_news
Чат по подготовке к интервью: https://www.tgoop.com/faangtalk
В гостях - Владимир, автор канала https://www.tgoop.com/system_design_world
Рассмотрим исторический контекст, алгоритмы шардирования, проблемы миграций данных.
Также…
Чат по подготовке к интервью: https://www.tgoop.com/faangtalk
В гостях - Владимир, автор канала https://www.tgoop.com/system_design_world
Рассмотрим исторический контекст, алгоритмы шардирования, проблемы миграций данных.
Также…
👍10
⭐️Анонс проектирования youtube
Состоялась серия System Design Mock Interview с зарубежными коллегами, посвященная проектированию сервисов-аналогов youtube.
2 из них на английском.
Такой массовый заход на одну задачу позволит лучше погрузиться в её тематику.
Благодаря просмотру становится понятней, что:
1️⃣ Идеального решения не существует;
2️⃣ Каждый интервьюер расставляет свои акценты;
3️⃣ Интервьюер не обязательно знает больше твоего и других интервьюеров :)
Важно понять, что именно он хочет и дать ему это.
Просмотр 4ёх реализаций также:
1) Расширит кругозор проведения интервью;
2) Снабдит дополнительными техническими приёмами;
3) Поможет отвечать интервьюеру по теме.
✅ Всё это увеличивает шансы на успешное прохождение реального собеседования.
▶️ Интервью в процессе монтажа. Скоро будет опубликовано 1ое.
#Interview #Pack
Состоялась серия System Design Mock Interview с зарубежными коллегами, посвященная проектированию сервисов-аналогов youtube.
2 из них на английском.
Такой массовый заход на одну задачу позволит лучше погрузиться в её тематику.
Благодаря просмотру становится понятней, что:
1️⃣ Идеального решения не существует;
2️⃣ Каждый интервьюер расставляет свои акценты;
3️⃣ Интервьюер не обязательно знает больше твоего и других интервьюеров :)
Важно понять, что именно он хочет и дать ему это.
Просмотр 4ёх реализаций также:
1) Расширит кругозор проведения интервью;
2) Снабдит дополнительными техническими приёмами;
3) Поможет отвечать интервьюеру по теме.
✅ Всё это увеличивает шансы на успешное прохождение реального собеседования.
▶️ Интервью в процессе монтажа. Скоро будет опубликовано 1ое.
#Interview #Pack
👍20
⚡️ Youtube design. "1ый пошёл!"
☁️ Я не помню, чтобы инструктор кричал или хлопал меня по плечу в знак поддержки. Я был первый в колоне на выход в неизвестную 600 метровую бездну.
🗯 Мною двигало желание попробовать что-то новое. Как и в этот раз.
👥 Предлагаю окунуться в атмосферу 1ого мок интервью по проектированию Youtube.
📍 Можно бесконечно готовиться к таким интервью. Думать, что проектировать можно лишь когда готов идеально на все 100% по какой-то неведомой шкале.
📌 А можно в какой-то момент решиться и применить принцип "Глаза боятся, руки делают". И сделать так хорошо, как ты можешь сделать сейчас. Умея так, как умеешь сейчас.
▶️ Итак, первое мок интервью по Youtube. Поехали!
#Interview
☁️ Я не помню, чтобы инструктор кричал или хлопал меня по плечу в знак поддержки. Я был первый в колоне на выход в неизвестную 600 метровую бездну.
🗯 Мною двигало желание попробовать что-то новое. Как и в этот раз.
👥 Предлагаю окунуться в атмосферу 1ого мок интервью по проектированию Youtube.
📍 Можно бесконечно готовиться к таким интервью. Думать, что проектировать можно лишь когда готов идеально на все 100% по какой-то неведомой шкале.
📌 А можно в какой-то момент решиться и применить принцип "Глаза боятся, руки делают". И сделать так хорошо, как ты можешь сделать сейчас. Умея так, как умеешь сейчас.
▶️ Итак, первое мок интервью по Youtube. Поехали!
#Interview
YouTube
Youtube System Design Mock
Разработаем High-Level Design Youtube в рамках System Design mock интервью. В конце обогатимся обратной связью. По итогу расширим кругозор по решению данного типа задачи.
00:00 - Intro
01:15 - Background
02:27 - Functional, Non-functional Requirements
12:00…
00:00 - Intro
01:15 - Background
02:27 - Functional, Non-functional Requirements
12:00…
👍15🔥2
Что было важно интервьюверу? По стопам проведенного интервью предлагаю проанализировать обратную связь. Интервьюверу:
Anonymous Poll
15%
Хотелось услышать конкретные технологии
19%
Хотелось больше вопросов в начале по функционалу системы
15%
Хотелось большего освещения логики добавления видео в CDN
27%
Хотелось услышать про GEO масштабирование
12%
Хотелось больше вопросов в процессе интервью
4%
Были важны расчёты
23%
Было важно понимание, что это read-heavy system
8%
Хотелось увидеть изнутри работу по форматированию видео в разные форматы
69%
Хотелось увидеть анализ bottlenecks
YouTube
Youtube System Design Mock
Let's overcome the fear of the real interviews by making more mock System Design Interviews!
This time we are dealing with Youtube Design task.
00:00 - Intro
00:19 - Background
01:37 - Functional, Non-functional Requirements
09:36 - High-level Design
25:00…
This time we are dealing with Youtube Design task.
00:00 - Intro
00:19 - Background
01:37 - Functional, Non-functional Requirements
09:36 - High-level Design
25:00…
⚡️ Youtube design. English version.
🤷 Где можно найти англоязычного собеседника для мок интервью?
Могу привести несколько ресурсов:
1) pramp.com
2) system_design_interview tm channel
❗️ Дерзайте смело! Но не спешите начинать без моего предостережения... И совета.
🇮🇳 Все разы в собеседниках у меня были представители Индии.
👂 На интервью я превращался в слух чтобы не пропустить ни одного слова, вопроса. Я даже и представить не мог, что можно так концентрироваться на обычной речи.
🗣 Английская речь для меня не была проблемой. До этого дня.
Учился по учебникам с совершенным оксфордским акцентом. Смотрел тех же "Друзей" с уже менее разборчивым языком. Встречался с natives из различных штатов.
🐚 Превращаться в слух мне пришлось поскольку именно такого индийского акцента я ещё не встречал.
💥 Совет
На самом деле всё оказалось не так страшно. Слух привыкает. Организм из стрессового состояния переходит в режим нормального восприятия.
Достаточно помнить одно - если что-то не понятно, всегда можно спросить:
"Could you write it down, please?", - коллеги воспринимали всегда спокойно.
В представленном мок интервью мне повезло. По сравнению с другим будущим здесь я чувствовал себя "pretty comfortable" как в плане восприятия языка, так и в целом касательно атмосферы интервью.
▶️ Итак, второе мок интервью по Youtube. Поехали!
#Interview
https://www.youtube.com/watch?v=cB9Ph8xHA0A
🤷 Где можно найти англоязычного собеседника для мок интервью?
Могу привести несколько ресурсов:
1) pramp.com
2) system_design_interview tm channel
❗️ Дерзайте смело! Но не спешите начинать без моего предостережения... И совета.
🇮🇳 Все разы в собеседниках у меня были представители Индии.
👂 На интервью я превращался в слух чтобы не пропустить ни одного слова, вопроса. Я даже и представить не мог, что можно так концентрироваться на обычной речи.
🗣 Английская речь для меня не была проблемой. До этого дня.
Учился по учебникам с совершенным оксфордским акцентом. Смотрел тех же "Друзей" с уже менее разборчивым языком. Встречался с natives из различных штатов.
🐚 Превращаться в слух мне пришлось поскольку именно такого индийского акцента я ещё не встречал.
💥 Совет
На самом деле всё оказалось не так страшно. Слух привыкает. Организм из стрессового состояния переходит в режим нормального восприятия.
Достаточно помнить одно - если что-то не понятно, всегда можно спросить:
"Could you write it down, please?", - коллеги воспринимали всегда спокойно.
В представленном мок интервью мне повезло. По сравнению с другим будущим здесь я чувствовал себя "pretty comfortable" как в плане восприятия языка, так и в целом касательно атмосферы интервью.
▶️ Итак, второе мок интервью по Youtube. Поехали!
#Interview
https://www.youtube.com/watch?v=cB9Ph8xHA0A
🔥3👍2
Расширяем контекст задачи. По стопам проведенного интервью предлагаю проанализировать обратную связь. Интервьюверу:
Anonymous Poll
19%
Хотелось услышать конкретные технологии
25%
Хотелось больше вопросов в начале по функционалу системы
13%
Хотелось большего освещения логики добавления видео в CDN
25%
Хотелось услышать про GEO масштабирование
19%
Хотелось больше вопросов в процессе интервью
13%
Были важны расчёты
38%
Было важно понимание, что это read-heavy system
13%
Хотелось увидеть изнутри работу по форматированию видео в разные форматы
69%
Хотелось увидеть анализ bottlenecks
👍3
🍰 Приглашаю отпраздновать текущее достижение в кафе.
Пообщаться на тему System Design Interview, архитектуры, суровой жизни в IT.
Есть подходы - стиснуть зубы и идти постоянно ставя перед собой новые цели.
А ещё можно радоваться процессу 😊 Давайте порадуемся вместе)
Меньше, чем за год с момента создания канала были освящены такие стороны System Design как:
1️⃣ Нефункциональные требования. В формате видео и #cheat_sheets
2️⃣ Алгоритм успешного прохождения интервью
3️⃣ Книжные материалы для подготовки:
а) от Александра Поломодова. Спасибо Андрею за запрос!
б) от Михаила. Спасибо Михаилу!
4️⃣ Освящены крупные IT конференции HighLoad++, yatalks.
На yatalks взял интервью у Александра Поломодова, в котором поговорили о System Design в Тинькове.
Текстовая версия. Можно почитать, понять, в том числе чем дышит компания сейчас. #conference
5️⃣ Сделан доклад на тему Шардирования, на подготовку которого ушёл примерно месяц активного изучения текущих докладов с конференций, разрозненной информации, личному общению с разработчиками БД(tarantool, GaussDB) . Всё основное сведено в единый рассказ от простого к сложному. С реальным примером в конце.
6️⃣ Начата серия проведения, прохождения и анализа mock interview с популярными задачами. #Interview
💪 Дальше-больше!
Предложение по освящению дальнейшим тем приветствуются!
На нашей офлайн встречи будет гвоздь номера - задача с конференции HighLoad++, которую я встретил на стенде yandex.cloud. А затем на yatalks :)
Полагаю, что её дают и на реальном интервью.
Порешаем, обсудим, найдём лучшее решение.
📝 Можно списаться в личных сообщениях или ниже в комментариях.
Ориентировочно - Москва, центр, начало июня.
You are welcome!🖐
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1🔥1👀1
System Design Party
Anonymous Poll
22%
За офлайн встречу в Москве в начале июня
58%
За онлайн встречу
20%
За оба варианта
🫵 Это твой шанс потренировать навыки прохождения System Design Интервью!
Не упусти его!
⚡️Поступило интересное предложение по стримингу тренировочного собеседования.
Осталось найти собеседника)
🥇 У нас на канале каждый уже победитель. Мы интересуемся темой, читаем материал, смотрим интервью.
Пора действовать!
🫶 Гарантируем уютную поддерживающую атмосферу. Пройдемся вместе по этапам прохождения. Обсудим в конце саму задачу. Пиши скорей "+" в комментариях, что готов дерзать!
...а между тем, голосуем за сложность задачи для 1ого смельчака :)
💯 - легкий уровень сложности
⚡️ - легкий уровень сложности + дополнительный вопрос
🏆 - средний уровень сложности
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆18👍3⚡2💯2🤡1
😎 В этот раз я оказался в роли собеседующего. Хочу отметить, что концентрироваться надо не меньше, чем при собственном прохождение.
Кандидат инициативно проходится по этапам интервью. Задаёт уточняющие вопросы. Ему важно, что его слышат, отвечают. И что он делает именно то и в том объёме, что предполагается для данной сессии интервьюером.
⭐️ Осветил основные точки дизайна и переходы между этапами сжав интервью 1 час -> 7 минут.
⚙️ Ближе к концу была задета тема масштабирования NoSQL БД с комментариями к видео. Говорили о выборе shard_key, consistent hashing(помним доклад?).
От выбора этого ключа зависит хорошее распределение нагрузки.
💪 Обзор будет полезен для улучшения понимания строительства данной системы и прохождения интервью в целом.
🙂 Приятного просмотра!
🔽 P.S. А какой бы ключ шардирования выбрали вы и почему?...
https://www.youtube.com/watch?v=rJHu-3ZFwBg
#Interview
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Обзор интервью по System Design - проектирование youtube / ex-sber techlead
7 минутная выжимка System Design интервью по проектированию сервиса youtube.
Хорошего просмотра!
Временные метки:
00:00 - Intro
00:16 - Выявление функциональных и нефункциональных требований
01:40 - Расчёт нагрузки
02:27 - Высокоуровневый дизайн
3:00 - …
Хорошего просмотра!
Временные метки:
00:00 - Intro
00:16 - Выявление функциональных и нефункциональных требований
01:40 - Расчёт нагрузки
02:27 - Высокоуровневый дизайн
3:00 - …
👍4
YouTube
Интервью по System Design. youtube
Проектируем youtube с необычным интервьюером, который предоставил максимум свободы по проектированию, смене этапов интервью. Вопросы задавались не часто, зато в точку. Чувствовалось как от моего ответа зависит успешность прохождения.
⭐️ Подготовка к System…
⭐️ Подготовка к System…
✅ Финальное 4ое интервью по теме youtube завершено!
Опубликованный набор позволяет понять специфику данной задачи, популярные вопросы.
✈️ Особенностью данного собеседования было то, что интервьюер(спасибо Alex!) дал максимум свободы.
Перешёл в режим слушателя. Спрашивал редко, но метко. Чувствовалось, как от корректности и полноты ответов зависит успех прохождения.
❓ Интервью можно смотреть фокусируясь на вопросах интервьюера. Попытаться понять, что именно он хотел узнать. И насколько ответ был дан в полном объёме.
🎟 Из фишек самого видео - вставлены визуальные памятки наступления очередных этапов и их особенности.
😊 Приятного и полезного просмотра!
🔽 Как считаете, остались ли неосвещенные вопросы по теме проектирования youtube?
https://www.youtube.com/watch?v=WDEiIz3WtgA
#Interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
😕 Дизайнить станет ещё сложней
🌩 "Google Cloud" в результате цепочки событий уничтожил инфраструктуру пенсионного фонда.
Фонду повезло(спасибо инженерам?), что сделали бекап у другого облачного провайдера.
🤔 Возможно теперь на собеседованиях в добавок к распределениям по зонам доступности(Availability Zone) будут оценивать предложит ли кандидат дубликацию у другого провайдера.
Не участились ли подобные аварии?
#RealLifeExample
https://habr.com/ru/news/813439/
🌩 "Google Cloud" в результате цепочки событий уничтожил инфраструктуру пенсионного фонда.
Фонду повезло(спасибо инженерам?), что сделали бекап у другого облачного провайдера.
🤔 Возможно теперь на собеседованиях в добавок к распределениям по зонам доступности(Availability Zone) будут оценивать предложит ли кандидат дубликацию у другого провайдера.
Не участились ли подобные аварии?
#RealLifeExample
https://habr.com/ru/news/813439/
👍9