Що таке System Design Interview та як розробникам проходити його з легкістю

Привіт! Я — Іван Веркалець, співзасновник та CTO в українській компанії COAX. У цьому блозі я поділюся нашим підходом до впровадження System Design Interview та дам кілька порад щодо підготовки. Маю надію, що цей погляд допоможе розробникам краще зрозуміти логіку всього процесу й упевненіше його проходити.

Що таке System Design Interview і для чого компанії його запроваджують

Почну з контексту. У COAX ми працюємо над проєктами малими командами — троє-восьмеро спеціалістів, — де кожен інженер суттєво впливає на результат роботи. Наші інженери також часто спілкуються з клієнтами під час етапів discovery та pre-sales. Тому проходження System Design Interview є важливим кроком під час відбору кандидатів. Нам потрібно від початку розуміти, наскільки людина готова працювати в такому форматі.

Чому ми запровадили цей етап?

Традиційні методи відбору кандидатів зосереджені на перевірці теоретичних знань, скілів та знань у конкретних доменах, а також умінь розв’язувати одиничні задачі. Хоча такий підхід відповідає стандартам галузі, він не завжди покриває запити й потреби в роботі з реальними клієнтами. Наприклад, ми стикались із ситуаціями, коли кандидати після хорошого перформансу на технічному інтерв’ю не могли розробити цілісне рішення та оцінити ризики його імплементації.

System Design Interview — це комплексна перевірка здатності кандидата вирішувати реальні проблеми та проєктувати ефективні системи. Цей інструмент допомагає нам оцінити, наскільки кандидат може мислити на системному рівні, ухвалювати рішення та комунікувати їх як команді, так і клієнту.

На практиці це виглядає як симуляція високорівного проєктування системи для клієнта в реальному часі. Під час інтерв’ю кандидат отримує одну з 15 розроблених нами задач. Зазвичай вона містить:

  1. початковий запит від клієнта;
  2. технічний мінімум, якого він очікує;
  3. питання та вимоги, що були у клієнта на дзвінку із сейлз-менеджером;
  4. контекст про клієнта: звідки він, чи має технічний бекграунд, скільки часу відведено на зустріч тощо.

У ролі клієнта під час інтерв’ю виступаємо я і competence lead. Далі все відбувається як на звичному колі з потенційним клієнтом. Кандидат має можливість поставити уточнювальні запитання, підготувати, презентувати та захистити своє рішення.

Кожне інтерв’ю завершується аналізом перформансу, і кандидати отримують від нас фідбек.

Що оцінюють у кандидатах

Ми розробили для себе 19 критеріїв, за якими оцінюємо кандидатів під час проходження System Design Interview. Серед них, зокрема, такі:

  • Functional Requirements
  • Non-Functional Requirements / Quality Attributes
  • Technology Relevance / Tech Stack
  • Container / Service Design
  • DFA / Feature Architecture
  • Communication
  • Database Structure
  • Infrastructure

Враховуючи наш контекст, про який згадував у розділі вище, під час інтерв’ю ставимо за мету зрозуміти:

  1. Як мислить і якого рівня задачі може вирішувати кандидат?
  2. Як він комунікує з клієнтом і презентує своє рішення?
  3. Як він працює в стресових умовах (спроєктувати, а тим паче захистити систему на високому рівні за короткий проміжок часу — досить непросто)?

Ми не дивимося на System Design Interview як на контрольну роботу з одним правильним рішенням. Завдання кандидата — розв’язати динамічну задачу, знайти рішення, яке передбачить ризики, розрахувати час на його імплементацію та вкластися в дедлайн. Тому ми також звертаємо увагу на те, як кандидат збирає functional та non-functional вимоги, обирає стек, вміє шукати й працювати з інформацією, контейнеризація.

Поради для успішної підготовки

System Design Interview — як екзамен з фізкультури: за ніч до нього не підготуєшся. Підготовка — гра в довгу. Розробник має здобувати ці знання під час щоденної роботи. І, по-перше, він має виконувати її добре. По-друге, заглиблюватися не лише у свою частину та зону відповідальності, а й розуміти, чому вся система спроєктована так, а не інакше, які були альтернативи та чому обрали саме цей варіант.

Для експрес-підготовки раджу ознайомитися з методами й підходами до проєктування. Наприклад, почитайте більше про С4 model або інші моделі проєктування.

Що варто пам’ятати під час самого інтерв’ю

Ось кілька порад на основі нашого досвіду та поширених помилок кандидатів під час самого інтерв’ю:

  1. Не бійтеся і не соромтеся демонструвати свої скіли. Багато кандидатів ніяковіє під час презентації свого рішення.
  2. Пам’ятайте, що ваше основне завдання — практичне вирішення проблеми. Для нас немає значення, що ви знаєте 100 патернів розв’язку. Важливо, щоб ви обрали конкретний патерн і змогли аргументувати, чому саме він підійде найкраще. Підготуйте лайтовий план Б, і цього досить. Ви маєте спроєктувати максимально оптимальну систему як з технічного боку, так і з боку бізнесу.
  3. Будьте впевненими. Це важливий складник не тільки в роботі з клієнтом, але й у роботі з командою. Невпевненість людини, на яку покладена функція проєктування системи, відчуває вся команда, і це погано впливає на її продуктивність.
  4. Ставте питання клієнту, бо ваше завдання — зрозуміти бізнес. Але витримуйте баланс, не перетворюйте цей етап на бомбардування клієнта запитаннями (чим часто зловживають).
  5. Будьте грамотні в таймменеджменті. Залишайте вдосталь часу на проєктування рішення.
  6. Не ускладнюйте. Деякі завдання можна вирішити просто. Не потрібно проєктувати складно лише через те, що це System Design Interview, і переповідати все, що ви чули про highload та мікросервіси.

Матеріали для підготовки

  • Designing Data-Intensive Applications Мартіна Клеппманна — вичерпний посібник, який охоплює принципи й практики розробки масштабованих та надійних систем.
  • System Design Interview Алекса Сюя — ця книга пропонує ґрунтовне дослідження концепцій проєктування систем, стратегій та порад для підготовки до співбесід.
  • DesignGuru’s Grokking System Design Course — інтерактивна платформа для навчання з практичними вправами та реалістичними сценаріями для зміцнення навичок проєктування систем.
  • System Design Primer на GitHub — класний список ресурсів, зокрема статті, книги та відео, які допоможуть підготуватися до співбесіди з проєктування систем.
  • High Scalability Blog — блог, який містить статті й кейси про архітектуру високонавантажених вебсайтів та масштабованих систем.
  • Exponent — спеціалізований сайт для підготовки до співбесід, особливо в компаніях FAANG, таких як Amazon та Google. Вони також мають чудовий курс з проєктування систем і багато іншого матеріалу, який може допомогти вам пройти співбесіди в FAANG.
  • Microservices Patterns Кріса Річардсона — класика патернів для проєктування високонавантажених систем.
👍ПодобаєтьсяСподобалось12
До обраногоВ обраному13
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
контекст про клієнта: звідки він, чи має технічний бекграунд, скільки часу відведено на зустріч тощо.
питання та вимоги, що були у клієнта на дзвінку із сейлз-менеджером;
Як він комунікує з клієнтом і презентує своє рішення?
Як він працює в стресових умовах (спроєктувати, а тим паче захистити систему на високому рівні за короткий проміжок часу — досить непросто)?

Вміння уточнювати вимоги до системи в процесі дизайну і перевіряти свої припущення це звичайно важливо, але знати стільки детальної інформації про клієнта це вже не System Design Interview а скоріше Pre-sales Engineer Interview.

І інтервʼю це завжди стрес особливо для того, кому його проводять і він значно вищий ніж фоновий рівень стресу при виконанні робочих задач. Тому задача того хто проводить співбесіду все ж таки цей рівень стресу максимально знизити, а не посилити щоб подивитись як людина працює в стресових умовах. Якщо кандидат не стресує на співбесіді, то можливо це означає що він/вона не дуже зацікавлені у вакансії.

Вміння уточнювати вимоги до системи в процесі дизайну і перевіряти свої припущення це звичайно важливо

Тут ще 2 цікавих моменти:
1) Вміння працювати з вимогами і комунікувати з нетехнічними стейкхолдерами можна значно краще перевірити цілеспрямованими питаннями на цю тему або малими сценаріями (ось я клієнт і хочу систему з 2 кнопками і щастя)
2) Для вирішення дизайн інтерв’ю задач є принаймні кілька алгоритмів (я найчастіше бачив той який від АПІ), які «демонструють» вміння працювати з вимогами, але якщо ви прийдете з готовим АПІ та датамоделями питати вимоги, клієнт буде ... дещо здивований.

Очікував побачити що це інтерв’ю в продуктову компанію з складними системами.
А це черговий маленький аутсорс, де весь цей систем дизайн до лямпочки.
Хлопці, ви не Гугл і навіть не бла-бла-кар, щоб тратити на вас час.

«Архітектура сучасних веб додатків» — 404

Теж кекнув з цього моменту. Xu вимовляється як щось середнє між «шу» і «шю». Буквально значить rising sun. en.wiktionary.org/wiki/

Добре хоч «H» дослівно не транслітерували

System Design Ukraine

Невалідне посилання — каже, що такого каналу не існує. Можливо десь опечатка.

Тільки сьогодні думала, чому ми не робим system design інтерв’ю для рівнів Senior та вище.
Дуже класний тест сеньорності людини та його/її аналітичних скілів.

Дуже класний тест сеньорності людини та його/її аналітичних скілів.

... був, коли його років 10+ назад почали використовувати ФААНГи. За цей час вже зявилась купа ресурсів та порад як його проходити. Власне посилання на «телеграм-канал про дизайн систем з обговореннями та підказками» натякає, що і у нас кандидати почали це задрачувати.

Питання — що ви реально перевірите цим інтерв’ю? Що кандидат вміє проходити інтерв’ю?
1-2 питання на дизайн варто задавати, але вони покриють менше ніж 8 пунктів (які ТС називає 19 критеріїв)

Жартуєш? Сис диз питання набагато адекватніші, ніж оті укр інтерв’ю в стилі ану розкажи які там параметри в такого то метода такої то версії такого то фреймворка :)
Ті питання покажуть, чи дійсно людина шарить як все працює і як скейлити систему, чи вона просто вивчила якийсь фреймворк і все :)

як все працює і як скейлити систему,

Розробники тут яким боком? Як все працює — питання до архітекта, як скейлити — до архітекта та девопса. Розробник інтегрує код та створює клієнтський код для взаємодії з іншими продуктами чи сервісами. Як скейлити базу даних — взагалі питання до DBA та DevOps.

Ага. Ну то зрозуміло. Коли на один інстанс бази багато запитів на читання то ДБА просто зробить дві слейв репліки і все одразу буде працювати)
І навіть код змінювати не треба щоб ці репліки юзалися, правильно?)))

Що і як скейлити та які технології використовувати вирішує Техлід та/або Архітект, інколи ці задачі делегують «сійньорній команді» (ну ви ж всі сіньори, що не розберетесь ©).

Розробник дійсно має знати про вертикальне, горизонтальне (репліки, шардинги, партиції) маштабування, проте без деталей реалізації з архітектурної та деплоймент сторони, бо не його зона відповідальності. Йому скажуть — робимо один мастер та три слейва, от і він вже має почухати голову, що і як запитувати, але не лізти в DevOps/DBA/TechLead/Architect сторону (окрім за власним бажанням чи умов контракту)

окрім за власним бажанням

так тут же і мають на увазі те, що хороший розробник не «для компанії повинен це знати» а «для свого розвитку повинен мати прагнення узнавати більше про суміжні області». компаніі ти дійсно нічого не винен, окрім того що написано в контракті.

Розробники тут яким боком? Як все працює — питання до архітекта, як скейлити — до архітекта та девопса

Плох той розробник, що не хоче стати архітектом. Мене дуже дивують люди, які по 10+ років в мідлах просто тому що вона не знають (і не хочуть знати) всяких штук, які знає сеньор++.

Плюс, розробники є різні — від рівня джуніор до рівня lead. У нас би лід який не знає як скейлити не пройшов співбесіду.

Плох той розробник, що не хоче стати архітектом.

Відкрию вам секрет: Розробка і архітектура — це дуже різні речі. Ви ж не говорите те саме про стати менеджером чи девопсом.
Системний дизайн все ще треба на рівні сеньйор+.

Я в курсі що це різні речі, я проходила декілька курсів по архітектурі, не вмерла, тобто в мозок розробника це може поміститися, місця вистачить. Мені навіть сподобалося.

Архітектори це завжди колишні розробники. Я би здивувалася якби це було не так. А менеджментом можна займатися навіть якщо ти не кодив.

Архітектори це завжди колишні розробники. Я би здивувалася якби це було не так.

Сядьте, глибоко вдихніть та видихніть 3 рази.
Готові?
Точно?
Не завжди.
Один з прикладів — це бізнес аналітики, що освоїли певні технічні навички, це працює, бо архітектура — це в першу чергу робота з бізнесом.
Інший приклад — адміни/девопси (десь про це писав inmondayhard). Зараз є можливість/практики відділити влесне розробку від задоволення багатьох якісних атрибутів. Той же куб так люблять, бо він дозовляє закривати якісні атрибути на рівні деплоймент елементів, а не коду.

Знову ж в сучасному аутсорсі, архітектори частіше виходить з адмінів, а якщо розробників, то тих хто багато займався девопсовими задачами.

Аа. Ну може і так. Значить, буває :D
Мені такі, як ви описуєте, не попадалися. Попадалися такі що йшли таким шляхом Девелопер -> Сеньор -> (Лід чи ще шось подібне, Staff зараз придумали) -> Архітектор (Solution чи ще якийсь)

Попадалися такі що йшли таким шляхом Девелопер -> Сеньор -> (Лід чи ще шось подібне, Staff зараз придумали) -> Архітектор (Solution чи ще якийсь)

Це проблема аутсорсу і потреби вводити нові лички (замість ЗП :) ).
Власне Лід — це вже напрямок в менеджмент.
Теоретично після сеньйора має бути вибір:
— лід — менеджмент шлях;
— архітектор — робота більше з бізнесом, але як індивідуальний контриб’ютор;
— стаф/прінсіпл — індивідуальний контриб’ютор сконцентрований на технологіях.

У нас випрямили так як ви описали. Тому архітектор став просто насупний крок після ліда. А особлива ржака коли проект робить команда де кілька лідів, пару солюшн/софтвер архітекторів, а їх лідить сеньйор солюшн архітект; при тому вони пиляють просто 1 сервіс, чисто розробницькі задачі да можна було нормально мідлами вирулили. Ще смішніше, що архітектура там всрата — оті всі спеціалісти не змогли пріоритезувати НФРи нормально і пояснюють всі рішення «з мого досвіду так краще» або «це краща практика для клауда» (це про використання кліент-сайд лоад балансінг :) )

Архітектори є різні — application, cloud, solution, data, security та enterprise architect. Ліди теж, теХлід це більше по технологічним рішенням, тіМлід більше по людським ресурсам

Архітектори є різні — application, cloud, solution, data, security та enterprise architect.

А ви цікавились класифікацією і організацією/типами архітекторів? Тут вже маємо наслідки вже не аутсорсу, а маркетингу:
Що таке клауд архітект? Чи використовувати хмару — це рішення яке приймає архітектор.
Секуріті архітект що таке? Зазвичай це знову ж наступна личка після лід секуріті спеціаліст.
З Дата взагалі цікаво, бо дата архітектор по класифікаціям — це людина що працює з моделями даних (їх документуванням та керованістю, тут до речі не дуже треба програмерський бекграунд), а зараз це просто наступна личка для дата інженера.

Ліди теж, теХлід це більше по технологічним рішенням, тіМлід більше по людським ресурсам

Знову ж розмиті класифікації. Почитайте обов’язки аплікейшн архітектора і порівняйте з тим, що ви вкладаєте в поняття ТехЛід.
Тут ще важливо, що ТехЛід — це в першу чергу роль, а не ступінь після сеньйора, тобто її може виконувати сеньйор (в рідкісних випадках мідл, що дуже розібрався с домені, бачив таке в ААА) для невеликих систем, для більших аплікейшн архітектор.

Якщо відматати на 30+ років назад, то архітектори — це скоріше ті кого тоді називали системний аналітик. Зараз ця сфера розділилась на бізнес аналітиків (фокус на ФР) та архітекторів (фокус на НФР)

Жартуєш? Сис диз питання набагато адекватніші, ніж оті укр інтерв’ю в стилі ану розкажи які там параметри в такого то метода такої то версії такого то фреймворка :)

І що ви зрозумієте по завченим відповідям на УРЛ шортенер?
Ви коли останній раз проходили співбесіду в украутсорс? По методам вже років 5+ не питають норм контори. Максимум — це щось в стилі «розкажіть різницю Контролер та РестКонтролер», але це не по АПІ

На жодній співбесіді не було такого питаня. Де ви таких знаходите?

В чому суть твоєї претензії?
В тому, що з’явилося багато навчальних матеріалів і загальна температура по палаті підвищився рівень обізнаності багатьох спеціалістів?

Ну так, не всі будували Hyperscaled Highload системи і знають які там підводні камені, але те, що вже дуже багато хто знає, що таке горизонтальне масштабування і що таке лоадбалансер, це вже дуже добре.

В чому суть твоєї претензії?
В тому, що з’явилося багато навчальних матеріалів і загальна температура по палаті підвищився рівень обізнаності багатьох спеціалістів?

Суть претензії в тому, що ви досвідчена людина, і при цьому чомусь думаєте, що виріс рівень обізнаності, а не просто завченості стандартних питань.
Наведіть приклад питання на системний дизайн і висновки, які ви можете з нього зробити.

вже дуже багато хто знає, що таке горизонтальне масштабування і що таке лоадбалансер, це вже дуже добре.

Чому це добре? Які проблеми це дозволяє вирішити? Особливо в контексті задачі, яка формулюється як «підібрати оптимального спеціаліста на певний проект»

Іншої відповіді від Епам Архитекта я і не очікував. 😈

Іван дякую за статтю сам періодично юзаю вище зазначені ресурси

Іншої відповіді від Епам Архитекта я і не очікував. 😈

Тобто аргументів по темі у вас немає і все що ви змогли згенерувати — це перехід на особистості

Тільки сьогодні думала, чому ми не робим system design інтерв’ю для рівнів Senior та вище.

Бо воно вам швидше за все непотрібно, якщо ви раніше успішно наймали сінйьорів без цих питань.
А почнете питати — багато почнуть сипатись, хоча на проектах ці знання зайві, бо людина з тим не стикнеться.

Я таке бачив сто раз — дають питання, що не відповідають вимогам проекту, а потім дивуються, чого нікого не можуть найняти.

Колись один розробник просив на співбесідах інших писати ручкою на папері код рішення задачі Чисел Фібоначчі.
Ті сипались і він їх реджектав, хоча на проекті за 10 років нічого складнішого остачі без ділення не було. Але совєцка закалка то совєцка закалка — «без вишкі ти не програміст і точка». Потім про це дізнались і йому заборонили проводити співбесіди, а найм швидко закрився.

Бо воно вам швидше за все непотрібно, якщо ви раніше успішно наймали сінйьорів без цих питань.

Оце дуже круте твердження.

Чомусь при проведенні технічних співбесід люди просто тягнуть розпіарені практики нерозуміючи, що вони лише інструменти для вирішення певної задачі. Що смішно в контексті «систем дизайн інтерв’ю», яке мало б демонструвати здатність людини робити усвідомлений вибір :)

Проста задача. В продакшені навряд чи використовується, але показує здатність думати головою, а не тільки круди малювати.

Або навпаки, триндіти про складні солюшени, а на ділі не вміти норм написать круд і тест до нього)

враховуючи тенденції, то скоро це будуть питати на позіцію трейні/джуніор html — верстальщика

Інженер після ВНЗ має знати що він будує, навіть якщо він трейні.
І якщо він не може описати словами наступне — то як він планує це імплементувати?

Functional Requirements
Non-Functional Requirements / Quality Attributes
Technology Relevance / Tech Stack
Container / Service Design
DFA / Feature Architecture
Communication
Database Structure
Infrastructure

P.S. верстка зараз теж вже далеко не лише HTML

Може десь і готують супер спеців які зі старту можуть будувати архітектуру і описувати все, але більшість сучасних розробників цього в очі не бачили, а якщо і бачили і знають теорію то імпементувати не можуть. І це я не рахую вихідців курсів «фроненд за 3 місяці»

Інженер після ВНЗ має знати що він будує, навіть якщо він трейні.

Знати у сенсі запам’ятати визначення, скоріше так ніж ні. При тому чел, який наче як отримував стипендію ВРУ, на контрольній неправильно списав визначення якісного атрибуту.
Знати в сенсі розуміти — це приходить з досвідом. Є купа людей, які поняття якісного атрибуту і С4 (або інший фреймворк) відкривають для себе через 10+ років ОР.
Багато хто в універі вчив IDEF. Багато ви бачили його застосування? UML ще смішніше, коли людина адвокує його використання, але при цьому невірно використовує нотацію :)

І якщо він не може описати словами наступне — то як він планує це імплементувати?

Дуже просто — за вказівками старших спеціалістів. Під час роботи трейні/джун побачить як те що він вчив в універі (якщо вчив) співвідноситься з реальним життям.

Фух, дякувати Богу не закінчував ВНЗ, тож можу просто працювати та створювати нові додатки не знаючи на памʼять визначень із підручників.

і патерни програмування вчити під час співбесід)

Я зараз у Чехії працюю, тут достатньо очі не дуже викатувати коли питають про Singlton і в принципі вже візьмуть.

Воно так і в США на прямі контракти. Ніхто не питає весь цей маразм, що питають на пост-радянському просторі. Українці в нульових навчились цього в росіян, бо всі тоді сиділи на російських форумах і слухали російських спікерів. Все було російськомовне. Так от, росіяни досі настільки відірвані від життя (нічого нового), що на кацапохабрі досі перед тим, як починати вчити програмування, всі твердять, що потрібно:

а) Вивчити матаналіз
б) Вивчити всю внутрішню кухню роботи компютера (більшість на цьому кроці відвалюється)
в) Навчитись збирати компютер з комплектуючих, щоб все підходило (інакше який ти майбутній програміст?)
г) Вивчати першою мовою Асемблер та С, потім С++
д) Паралельно зубрити всі можливі та неможливі алгоритми
е) Після цього починати вчити якусь мову програмування як джава, джаваскрипт чи пайтон на олімпіадних задачах з математики
є) Далі вчити патерни розробки та DDD
ж) Вчити SQL на найскладнішому рівні (трейні має вміти писати тригери, вюхи та кілометрові SQL-простині)
з) Пробувати подаватись на трейні, де буде лайвкодинг по математиці
и) Отримати роботу та не знати як написати базовий АРІ-клієнт, бо це не «математика», а змінні не "x"/"y"

Того, хто не знав, чому в нас так задрочують на співбесідах, особливо ті кому за 35, будете знати.

На мою думку, це не ’відірваність від життя’, а специфіка їх ринку, де більше роботи з контролерами, мікросхемами та ін. ’електронікою’, хай навіть і морально застарілою, зате власною, великий внутрішній ринок банківських, державних, мілітарних та ін. enterprise-проектів, який і потребує власне цих самих ’фундаментальніших’ знань, часто і підкріплених дипломом, бо наймають в штат.

Та ні, в них навіть на звичайного пайтон розробника девять кіл пекла на зарплату в 3 тисячі умовних одиниць. На кацапохабрі є стаття на більше чим тисячу коментарів під назвою «Собеседование в Яндекс: театр абсурда :/» (посилання на кацапів не даватиму, але якщо цікаво — то загугліть заголовок).

В них екстремальна помішаність на математиці та алгоритмах неважливо від сфери застосування та рівня розробника.

ну, пайтон розробник в яндексі цілком собі може собі займатись якимсь складним проектом, де математика потрібна.

Припускаю, що вони більше за нас виробляють ракет та літаків не тільки через те що мають нафту, а і через те що вивчають фізику, матаналіз, асемблер, C та C++.

Припускаю, що вони більше за нас виробляють ракет та літаків не тільки через те що мають нафту, а і через те що вивчають фізику, матаналіз, асемблер, C та C++.

Ні, через те що там ще збереглись «наукові містечка» і культура працювати в яндексі за нижчу ніж ринкова ЗП, при тому з більшими зайобами на співбесіді, але пишатись тим, що працюють в яндексі. А робота вона приблизно однакова: в яндексі купа круду або перепаковок ДТО в ДТО так само як в західному ентерпрайзі, і в аутсорс ентерпрайзі вам можуть попадатись — числодробилки.

Щодо того,

що вони більше за нас виробляють ракет та літаків
через те що там ще збереглись «наукові містечка»

я згоден, а щодо того, що

культура працювати в яндексі

якимось суттєвим чином впливає на кількість вироблених ракет та літаків, мене беруть великі сумніви.
Так от, я вважаю, що через те і збереглися у них «наукові містечка», бо вони фізику учать, тобто результат той самий —

вони більше за нас виробляють ракет та літаків не тільки через те що мають нафту, а і через те що вивчають фізику

вони ще і постійно воють, не до порівняння з нашими миротворчими місіями — Придністров’я, Абхазія, Чечня, Грузія, Сирія, Україна, Африка — в таких умовах ВПК буде розвиватися шаленими тепмапи

Не зрозумів чому ви окремо написали Абхазію і Грузію — це одна й та ж сама війна 2008 року

Припускаю, що саме вивчення фізики дозволяє їм мати настільки розвинений ВПК, що високотехнологічної зброї в них вистачає на таку велику кількість війн.

можливо, але думаю їх ВПК розвивався б в будь-якому разі, можливо з гіршими технологіями, але і на таке знайдеться покупець
як хтось колись писав в твіттері, вони з цього живуть — арабські країни експортують нафту, Тайвань чіпи, Індія таблетки, а москва — війни, конфлікти і террор

Гаразд, первинність курки і яйця тут може бути дещо сплутана. Вони хочуть воювати, люблять воювати, готуються воювати, розуміють, що знання фізики дозволить створювати для війни кращу зброю, тому мотивують вивчення фізики талановитими школярами — в першій десятці золотих медалістів міжнародної олімпіади з фізики за 2024 рік троє з росії (решта з Китаю). Ну а потім ті хто добре вивчили фізику закінчують провідні кацапські університети, влаштовуються на роботу у «наукові містечка» і вдосконалюють керовані авіабомби, дрони та ракети.

Підписатись на коментарі