Просмотр исходного кода

Add translation of system design section

Oxana Kostikova 5 лет назад
Родитель
Сommit
4a62da67b6
1 измененных файлов с 121 добавлено и 123 удалено
  1. 121 123
      translations/README-ru.md

+ 121 - 123
translations/README-ru.md

@@ -1,4 +1,4 @@
-# Google Interview University
+https://twitter.com/home# Google Interview University
 
 Оригинальная версия: [Английский](../README.md) 
 
@@ -1160,130 +1160,128 @@ Google не возьмёт тебя на работу.
 
 ---
 
-## System Design, Scalability, Data Handling
-- **You can expect system design questions if you have 4+ years of experience.**
-- Scalability and System Design are very large topics with many topics and resources, since 
-      there is a lot to consider when designing a software/hardware system that can scale. 
-      Expect to spend quite a bit of time on this.
-- Considerations from Yegge:
-    - scalability
-        - Distill large data sets to single values
-        - Transform one data set to another
-        - Handling obscenely large amounts of data
-    - system design
-        - features sets
-        - interfaces
-        - class hierarchies
-        - designing a system under certain constraints
-        - simplicity and robustness
-        - tradeoffs
-        - performance analysis and optimization
-- [ ] **START HERE**: [System Design from HiredInTech](http://www.hiredintech.com/system-design/)
-- [ ] [How Do I Prepare To Answer Design Questions In A Technical Inverview?](https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023)
-- [ ] [8 Things You Need to Know Before a System Design Interview](http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/)
-- [ ] [Algorithm design](http://www.hiredintech.com/algorithm-design/)
-- [ ] [Database Normalization - 1NF, 2NF, 3NF and 4NF (video)](https://www.youtube.com/watch?v=UrYLYV7WSHM)
-- [ ] [System Design Interview](https://github.com/checkcheckzz/system-design-interview) - There are a lot of resources in this one. Look through the articles and examples. I put some of them below.
-- [ ] [How to ace a systems design interview](http://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/)
-- [ ] [Numbers Everyone Should Know](http://everythingisdata.wordpress.com/2009/10/17/numbers-everyone-should-know/)
-- [ ] [How long does it take to make a context switch?](http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html)
-- [ ] [Transactions Across Datacenters (video)](https://www.youtube.com/watch?v=srOgpXECblk)
-- [ ] [A plain English introduction to CAP Theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem/)
-- [ ] Paxos Consensus algorithm:
-    - [short video](https://www.youtube.com/watch?v=s8JqcZtvnsM)
-    - [extended video with use case and multi-paxos](https://www.youtube.com/watch?v=JEpsBg0AO6o)
-    - [paper](http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf)
-- [ ] [Consistent Hashing](http://www.tom-e-white.com/2007/11/consistent-hashing.html)
-- [ ] [NoSQL Patterns](http://horicky.blogspot.com/2009/11/nosql-patterns.html)
-- [ ] Scalability:
-    - [ ] [Great overview (video)](https://www.youtube.com/watch?v=-W9F__D3oY4)
-    - [ ] Short series:
-        - [Clones](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones)
-        - [Database](http://www.lecloud.net/post/7994751381/scalability-for-dummies-part-2-database)
-        - [Cache](http://www.lecloud.net/post/9246290032/scalability-for-dummies-part-3-cache)
-        - [Asynchronism](http://www.lecloud.net/post/9699762917/scalability-for-dummies-part-4-asynchronism)
-    - [ ] [Scalable Web Architecture and Distributed Systems](http://www.aosabook.org/en/distsys.html)
-    - [ ] [Fallacies of Distributed Computing Explained](https://pages.cs.wisc.edu/~zuyu/files/fallacies.pdf)
-    - [ ] [Pragmatic Programming Techniques](http://horicky.blogspot.com/2010/10/scalable-system-design-patterns.html)
-        - [extra: Google Pregel Graph Processing](http://horicky.blogspot.com/2010/07/google-pregel-graph-processing.html)
-    - [ ] [Jeff Dean - Building Software Systems At Google and Lessons Learned (video)](https://www.youtube.com/watch?v=modXC5IWTJI)
-    - [ ] [Introduction to Architecting Systems for Scale](http://lethain.com/introduction-to-architecting-systems-for-scale/)
-    - [ ] [Scaling mobile games to a global audience using App Engine and Cloud Datastore (video)](https://www.youtube.com/watch?v=9nWyWwY2Onc)
-    - [ ] [How Google Does Planet-Scale Engineering for Planet-Scale Infra (video)](https://www.youtube.com/watch?v=H4vMcD7zKM0)
-    - [ ] [The Importance of Algorithms](https://www.topcoder.com/community/data-science/data-science-tutorials/the-importance-of-algorithms/)
-    - [ ] [Sharding](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html)
-    - [ ] [Scale at Facebook (2009)](https://www.infoq.com/presentations/Scale-at-Facebook)
-    - [ ] [Scale at Facebook (2012), "Building for a Billion Users" (video)](https://www.youtube.com/watch?v=oodS71YtkGU)
-    - [ ] [Engineering for the Long Game - Astrid Atkinson Keynote(video)](https://www.youtube.com/watch?v=p0jGmgIrf_M&list=PLRXxvay_m8gqVlExPC5DG3TGWJTaBgqSA&index=4)
-    - [ ] [7 Years Of YouTube Scalability Lessons In 30 Minutes](http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html)
-        - [video](https://www.youtube.com/watch?v=G-lGCC4KKok)
-    - [ ] [How PayPal Scaled To Billions Of Transactions Daily Using Just 8VMs](http://highscalability.com/blog/2016/8/15/how-paypal-scaled-to-billions-of-transactions-daily-using-ju.html)
-    - [ ] [How to Remove Duplicates in Large Datasets](https://blog.clevertap.com/how-to-remove-duplicates-in-large-datasets/)
-    - [ ] [A look inside Etsy's scale and engineering culture with Jon Cowie (video)](https://www.youtube.com/watch?v=3vV4YiqKm1o)
-    - [ ] [What Led Amazon to its Own Microservices Architecture](http://thenewstack.io/led-amazon-microservices-architecture/)
-    - [ ] [To Compress Or Not To Compress, That Was Uber's Question](https://eng.uber.com/trip-data-squeeze/)
-    - [ ] [Asyncio Tarantool Queue, Get In The Queue](http://highscalability.com/blog/2016/3/3/asyncio-tarantool-queue-get-in-the-queue.html)
-    - [ ] [When Should Approximate Query Processing Be Used?](http://highscalability.com/blog/2016/2/25/when-should-approximate-query-processing-be-used.html)
-    - [ ] [Google's Transition From Single Datacenter, To Failover, To A Native Multihomed Architecture]( http://highscalability.com/blog/2016/2/23/googles-transition-from-single-datacenter-to-failover-to-a-n.html)
+## Проектирование систем, Масштабируемость, Обработка данных
+- **Вы можете ожидать вопросов по проектированию систем если у вас 4+ лет опыта.**
+- Масштабируемость и Проектирование систем это очень большие темы с большим количеством разделов и ресурсов, так как нужно многое учитывать при создании расширяемой программной/аппаратной системы. На освоение этого может уйти немало времени. 
+- Заметки от Стива Йеги:
+    - масштабируемость
+        - Извленечние отдельных значений из больших наборов данных
+        - Преобразование одних наборы данных в другие
+        - Обработка неприлично больших объёмов данных
+    - проектирование систем
+        - наборы функций
+        - интерфейсы
+        - иерархии классов
+        - проектирование системы удовлетворяющей определённым ограничениям
+        - простота и надёжность
+        - компромиссы
+        - анализ производительности и оптимизации
+- [ ] **НАЧНИТЕ С ЭТОГО**: [Проектирование систем от HiredInTech](http://www.hiredintech.com/system-design/)
+- [ ] [Как я готовлюсь отвечать на вопросы по проектированию систем на технических интервью?](https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023)
+- [ ] [8 вещей которые вам нужно узнать прежде чем проходить собеседование по проектированию систем](http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/)
+- [ ] [Проектирование алгоритмов](http://www.hiredintech.com/algorithm-design/)
+- [ ] [Нормализация баз данных - 1NF, 2NF, 3NF and 4NF (видео)](https://www.youtube.com/watch?v=UrYLYV7WSHM)
+- [ ] [Собеседование по проектированию систем](https://github.com/checkcheckzz/system-design-interview) - Здесь собрано много ресурсов. Просмотрите статьи и примеры. Некоторые из них выложены ниже.
+- [ ] [Как пройти собеседование по проектированию систем](http://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/)
+- [ ] [Числа которые следует знать всем](http://everythingisdata.wordpress.com/2009/10/17/numbers-everyone-should-know/)
+- [ ] [Сколько времени занимает переключение контекста?](http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html)
+- [ ] [Транзакции через центры обработки данных (видео)](https://www.youtube.com/watch?v=srOgpXECblk)
+- [ ] [Простое английское введение в теорему CAP](http://ksat.me/a-plain-english-introduction-to-cap-theorem/)
+- [ ] Алгоритм Паксос:
+    - [короткое видео](https://www.youtube.com/watch?v=s8JqcZtvnsM)
+    - [более длинное видео со сценарием использования и мульти-паксосом](https://www.youtube.com/watch?v=JEpsBg0AO6o)
+    - [статья](http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf)
+- [ ] [Последовательное хэширование](http://www.tom-e-white.com/2007/11/consistent-hashing.html)
+- [ ] [NoSQL Шаблоны](http://horicky.blogspot.com/2009/11/nosql-patterns.html)
+- [ ] Масштабируемость:
+    - [ ] [Большой обзор (видео)](https://www.youtube.com/watch?v=-W9F__D3oY4)
+    - [ ] Серия коротких статей:
+        - [Клоны](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones)
+        - [Базы данных](http://www.lecloud.net/post/7994751381/scalability-for-dummies-part-2-database)
+        - [Кэш](http://www.lecloud.net/post/9246290032/scalability-for-dummies-part-3-cache)
+        - [Асинхронность](http://www.lecloud.net/post/9699762917/scalability-for-dummies-part-4-asynchronism)
+    - [ ] [Масштабируемая Веб-архитектура и Распределённые системы](http://www.aosabook.org/en/distsys.html)
+    - [ ] [Объяснение ошибок распределённых вычислений](https://pages.cs.wisc.edu/~zuyu/files/fallacies.pdf)
+    - [ ] [Прагматичные методы программирования](http://horicky.blogspot.com/2010/10/scalable-system-design-patterns.html)
+        - [дополнительно: обработка графиков Google Pregel](http://horicky.blogspot.com/2010/07/google-pregel-graph-processing.html)
+    - [ ] [Джефф Дин - создание программных систем в Google и извлечённые уроки (видео)](https://www.youtube.com/watch?v=modXC5IWTJI)
+    - [ ] [Введение в проектирование расширяемых систем](http://lethain.com/introduction-to-architecting-systems-for-scale/)
+    - [ ] [Масштабирование мобильных игр для глобальной аудитории с использованием App Engine и Cloud Datastore (видео)](https://www.youtube.com/watch?v=9nWyWwY2Onc)
+    - [ ] [Как Google разрабатывает планетарное масштабирование для инфраструктуры планетарного масштаба (видео)](https://www.youtube.com/watch?v=H4vMcD7zKM0)
+    - [ ] [Важность алгоритмов](https://www.topcoder.com/community/data-science/data-science-tutorials/the-importance-of-algorithms/)
+    - [ ] [Разбиение на части](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html)
+    - [ ] [Расширение в Facebook (2009)](https://www.infoq.com/presentations/Scale-at-Facebook)
+    - [ ] [Расширение в Facebook (2012), "Разработка для миллиарда пользователей" (видео)](https://www.youtube.com/watch?v=oodS71YtkGU)
+    - [ ] [Проектирование для "долгой игры" - Основной принцип Астрид Аткинсон (видео)](https://www.youtube.com/watch?v=p0jGmgIrf_M&list=PLRXxvay_m8gqVlExPC5DG3TGWJTaBgqSA&index=4)
+    - [ ] [7 лет уроков масштабирования с YouTube за 30 минут](http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html)
+        - [видео](https://www.youtube.com/watch?v=G-lGCC4KKok)
+    - [ ] [Как PayPal расширили для миллиардов транзакций в день используя всего лишь 8 виртуальных машин](http://highscalability.com/blog/2016/8/15/how-paypal-scaled-to-billions-of-transactions-daily-using-ju.html)
+    - [ ] [Как удалять дубликаты из больших наборов данных](https://blog.clevertap.com/how-to-remove-duplicates-in-large-datasets/)
+    - [ ] [Взгляд на масштабируемость и инженерную культуру Etsy с Джоном Кови (видео)](https://www.youtube.com/watch?v=3vV4YiqKm1o)
+    - [ ] [Что привело Amazon к созданию собственной микросервисной архитектуры](http://thenewstack.io/led-amazon-microservices-architecture/)
+    - [ ] [Сжимать или не сжимать - такой вопрос стоял перед Uber](https://eng.uber.com/trip-data-squeeze/)
+    - [ ] [Asyncio Tarantool Queue, вставай в очередь](http://highscalability.com/blog/2016/3/3/asyncio-tarantool-queue-get-in-the-queue.html)
+    - [ ] [Когда следует использовать приблизительную обработку запросов?](http://highscalability.com/blog/2016/2/25/when-should-approximate-query-processing-be-used.html)
+    - [ ] [Переход Google с единого центра обработки данных на отказоустойчивый, на собственную многосетевую архитектуру]( http://highscalability.com/blog/2016/2/23/googles-transition-from-single-datacenter-to-failover-to-a-n.html)
     - [ ] [Spanner](http://highscalability.com/blog/2012/9/24/google-spanners-most-surprising-revelation-nosql-is-out-and.html)
-    - [ ] [Egnyte Architecture: Lessons Learned In Building And Scaling A Multi Petabyte Distributed System](http://highscalability.com/blog/2016/2/15/egnyte-architecture-lessons-learned-in-building-and-scaling.html)
-    - [ ] [Machine Learning Driven Programming: A New Programming For A New World](http://highscalability.com/blog/2016/7/6/machine-learning-driven-programming-a-new-programming-for-a.html)
-    - [ ] [The Image Optimization Technology That Serves Millions Of Requests Per Day](http://highscalability.com/blog/2016/6/15/the-image-optimization-technology-that-serves-millions-of-re.html)
-    - [ ] [A Patreon Architecture Short](http://highscalability.com/blog/2016/2/1/a-patreon-architecture-short.html)
-    - [ ] [Tinder: How Does One Of The Largest Recommendation Engines Decide Who You'll See Next?](http://highscalability.com/blog/2016/1/27/tinder-how-does-one-of-the-largest-recommendation-engines-de.html)
-    - [ ] [Design Of A Modern Cache](http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html)
-    - [ ] [Live Video Streaming At Facebook Scale](http://highscalability.com/blog/2016/1/13/live-video-streaming-at-facebook-scale.html)
-    - [ ] [A Beginner's Guide To Scaling To 11 Million+ Users On Amazon's AWS](http://highscalability.com/blog/2016/1/11/a-beginners-guide-to-scaling-to-11-million-users-on-amazons.html)
-    - [ ] [How Does The Use Of Docker Effect Latency?](http://highscalability.com/blog/2015/12/16/how-does-the-use-of-docker-effect-latency.html)
-    - [ ] [Does AMP Counter An Existential Threat To Google?](http://highscalability.com/blog/2015/12/14/does-amp-counter-an-existential-threat-to-google.html)
-    - [ ] [A 360 Degree View Of The Entire Netflix Stack](http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html)
-    - [ ] [Latency Is Everywhere And It Costs You Sales - How To Crush It](http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it)
-    - [ ] [Serverless (very long, just need the gist)](http://martinfowler.com/articles/serverless.html)
-    - [ ] [What Powers Instagram: Hundreds of Instances, Dozens of Technologies](http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances)
-    - [ ] [Cinchcast Architecture - Producing 1,500 Hours Of Audio Every Day](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html)
-    - [ ] [Justin.Tv's Live Video Broadcasting Architecture](http://highscalability.com/blog/2010/3/16/justintvs-live-video-broadcasting-architecture.html)
-    - [ ] [Playfish's Social Gaming Architecture - 50 Million Monthly Users And Growing](http://highscalability.com/blog/2010/9/21/playfishs-social-gaming-architecture-50-million-monthly-user.html)
-    - [ ] [TripAdvisor Architecture - 40M Visitors, 200M Dynamic Page Views, 30TB Data](http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html)
-    - [ ] [PlentyOfFish Architecture](http://highscalability.com/plentyoffish-architecture)
-    - [ ] [Salesforce Architecture - How They Handle 1.3 Billion Transactions A Day](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html)
-    - [ ] [ESPN's Architecture At Scale - Operating At 100,000 Duh Nuh Nuhs Per Second](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html)
-    - [ ] See "Messaging, Serialization, and Queueing Systems" way below for info on some of the technologies that can glue services together
+    - [ ] [Архитектура Egnyte: уроки, извлеченные при построении и масштабировании многопетабайтной распределенной системы](http://highscalability.com/blog/2016/2/15/egnyte-architecture-lessons-learned-in-building-and-scaling.html)
+    - [ ] [Программирование на основе машинного обучения: новое программирование для нового мира](http://highscalability.com/blog/2016/7/6/machine-learning-driven-programming-a-new-programming-for-a.html)
+    - [ ] [Технология оптимизации изображений, которая обслуживает миллионы запросов в день](http://highscalability.com/blog/2016/6/15/the-image-optimization-technology-that-serves-millions-of-re.html)
+    - [ ] [Архитектура Patreon коротко](http://highscalability.com/blog/2016/2/1/a-patreon-architecture-short.html)
+    - [ ] [Tinder: как одна из самых больших систем рекомендаций решает кого вы увидите следующим?](http://highscalability.com/blog/2016/1/27/tinder-how-does-one-of-the-largest-recommendation-engines-de.html)
+    - [ ] [Современное проектирование кэша](http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html)
+    - [ ] [Прямая трансляция видео в масштабе Facebook](http://highscalability.com/blog/2016/1/13/live-video-streaming-at-facebook-scale.html)
+    - [ ] [Руководство для начинающих по масштабированию до 11 миллионов пользователей на Amazon AWS](http://highscalability.com/blog/2016/1/11/a-beginners-guide-to-scaling-to-11-million-users-on-amazons.html)
+    - [ ] [Как использование Docker влияет на время задержки?](http://highscalability.com/blog/2015/12/16/how-does-the-use-of-docker-effect-latency.html)
+    - [ ] [Представляет ли AMP Counter угрозу существованию Google?](http://highscalability.com/blog/2015/12/14/does-amp-counter-an-existential-threat-to-google.html)
+    - [ ] [360-градусный обзор всего стека Netflix](http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html)
+    - [ ] [Время задержки везде и это стоит вам продаж - как с ним бороться](http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it)
+    - [ ] [Бессерверность (очень длинная, нужна только суть)](http://martinfowler.com/articles/serverless.html)
+    - [ ] [Из чего состоит Instagram: Сотни экземпляров, десятки технологий](http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances)
+    - [ ] [Архитектура Cinchcast - 1500 часов аудио каждый день](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html)
+    - [ ] [Архитектура прямого видео вещания Justin.Tv](http://highscalability.com/blog/2010/3/16/justintvs-live-video-broadcasting-architecture.html)
+    - [ ] [Социальная игровая архитектура Playfish - 50 миллионов пользователей в месяц и более](http://highscalability.com/blog/2010/9/21/playfishs-social-gaming-architecture-50-million-monthly-user.html)
+    - [ ] [Архитектура TripAdvisor - 40 миллионов посетителей, 200 миллионов динамических представлений страниц, 30TB данных](http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html)
+    - [ ] [Архитектура PlentyOfFish](http://highscalability.com/plentyoffish-architecture)
+    - [ ] [Архитектура Salesforce - Как они обрабатывают 1.3 миллиарда транзакций в день](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html)
+    - [ ] [Архитектура ESPN в процессе расширения - работа со скоростью 100,000 Duh Nuh Nuhs в секунду](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html)
+    - [ ] См. Ниже раздел «Системы обмена сообщениями, сериализации и управления очередями» для получения информации о некоторых технологиях, которые могут "склеивать" сервисы.
     - [ ] Twitter:
-        - [O'Reilly MySQL CE 2011: Jeremy Cole, "Big and Small Data at @Twitter" (video)](https://www.youtube.com/watch?v=5cKTP36HVgI)
-        - [Timelines at Scale](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)
-    - For even more, see "Mining Massive Datasets" video series in the Video Series section.
-- [ ] Practicing the system design process: Here are some ideas to try working through on paper, each with some documentation on how it was handled in the real world:
-    - review: [System Design from HiredInTech](http://www.hiredintech.com/system-design/)
-    - [cheat sheet](https://github.com/jwasham/google-interview-university/blob/master/extras/cheat%20sheets/system-design.pdf)
-    - flow:
-        1. Understand the problem and scope:
-            - define the use cases, with interviewer's help
-            - suggest additional features
-            - remove items that interviewer deems out of scope
-            - assume high availability is required, add as a use case
-        2. Think about constraints:
-            - ask how many requests per month
-            - ask how many requests per second (they may volunteer it or make you do the math)
-            - estimate reads vs. writes percentage
-            - keep 80/20 rule in mind when estimating
-            - how much data written per second
-            - total storage required over 5 years
-            - how much data read per second
-        3. Abstract design:
-            - layers (service, data, caching)
-            - infrastructure: load balancing, messaging
-            - rough overview of any key algorithm that drives the service
-            - consider bottlenecks and determine solutions
-    - Exercises:
-        - [Design a CDN network: old article](http://repository.cmu.edu/cgi/viewcontent.cgi?article=2112&context=compsci)
-        - [Design a random unique ID generation system](https://blog.twitter.com/2010/announcing-snowflake)
-        - [Design an online multiplayer card game](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)
-        - [Design a key-value database](http://www.slideshare.net/dvirsky/introduction-to-redis)
-        - [Design a function to return the top k requests during past time interval]( https://icmi.cs.ucsb.edu/research/tech_reports/reports/2005-23.pdf)
-        - [Design a picture sharing system](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)
-        - [Design a recommendation system](http://ijcai13.org/files/tutorial_slides/td3.pdf)
-        - [Design a URL-shortener system: copied from above](http://www.hiredintech.com/system-design/the-system-design-process/)
-        - [Design a cache system](https://www.adayinthelifeof.nl/2011/02/06/memcache-internals/)
+        - [O'Reilly MySQL CE 2011: Джереми Койл, "Большие и маленькие данные в @Twitter" (видео)](https://www.youtube.com/watch?v=5cKTP36HVgI)
+        - [Timelines в процессе расширения](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)
+    - Чтобы узнать ещё больше, посмотрите серию видео "Mining Massive Datasets" в разделе "Серии видео".
+- [ ] Практика в проектировании систем: несколько идей чтобы проработать их с небольшим количеством информации о том, как это было сделано в действительности:
+    - обзор: [Проектирование систем с HiredInTech](http://www.hiredintech.com/system-design/)
+    - [шпаргалка](https://github.com/jwasham/google-interview-university/blob/master/extras/cheat%20sheets/system-design.pdf)
+    - процесс работы:
+        1. Поймите проблему и контекст:
+            - определите сценарии использования с помощью интервьера
+            - предложите дополнительные функции
+            - уберите детали, которые интервьюер посчитает выходящими за рамки
+            - предположите что нужна очень высокая доступность, добавьте соответствующий сценарий использования
+        2. Подумайте об ограничениях:
+            - спросите сколько предполагается запросов в месяц
+            - спросите сколько предполагается запросов в секунду (вам могут просто сказать или предложить посчитать самостоятельно)
+            - ожидаемое соотношение чтений и записей
+            - держите в голове правило 80/20 когда оцениваете
+            - как много данных записывается в секунду
+            - общее количество памяти, необходимое через 5 лет
+            - как много запросов на чтение происходит в секунду 
+        3. Проектирование абстракций:
+            - слои (сервисный, данные, кэширование)
+            - инфраструктура: балансировка нагрузки, обмен сообщениями
+            - грубая оценка одного из ключевых алгоритмов которые управляют сервисом
+            - примите во внимание "бутылочные горлышки" и определите как от них избавиться
+    - Упражнения:
+        - [Спроектируйте CDN network: старая статья](http://repository.cmu.edu/cgi/viewcontent.cgi?article=2112&context=compsci)
+        - [Спроектируйте систему генерации уникальных ID](https://blog.twitter.com/2010/announcing-snowflake)
+        - [Спроектируйте карточную мультиплеерную онлайн-игру](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)
+        - [Спроектируйте базу данных ключ-значение](http://www.slideshare.net/dvirsky/introduction-to-redis)
+        - [Спроектируйте функцию возвращающую последние k запросов за прошедший период времени]( https://icmi.cs.ucsb.edu/research/tech_reports/reports/2005-23.pdf)
+        - [Спроектируйте систему передачи изображений](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)
+        - [Спроектируйте систему рекомендаций](http://ijcai13.org/files/tutorial_slides/td3.pdf)
+        - [Спроектируйте систему укорачивания URL: скопировано из верхней части](http://www.hiredintech.com/system-design/the-system-design-process/)
+        - [Спроектируйте кэш-систему](https://www.adayinthelifeof.nl/2011/02/06/memcache-internals/)
 
 ---