From fe6e877a393f75acfcc1731fa3173ee6eb70ff15 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 31 Jan 2021 18:33:56 +0100 Subject: [PATCH 01/25] Add README for DE --- README-de.md | 10 ++++++++++ README.md | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 README-de.md diff --git a/README-de.md b/README-de.md new file mode 100644 index 00000000000..d1faa2124f7 --- /dev/null +++ b/README-de.md @@ -0,0 +1,10 @@ +*[English](README.md) ∙ [日本語](README-ja.md) ∙ [简体中文](README-zh-Hans.md) ∙ [繁體中文](README-zh-TW.md) | [العَرَبِيَّة‎](https://github.com/donnemartin/system-design-primer/issues/170) ∙ [বাংলা](https://github.com/donnemartin/system-design-primer/issues/220) ∙ [Português do Brasil](https://github.com/donnemartin/system-design-primer/issues/40) ∙ [Deutsch](README-de.md) ∙ [ελληνικά](https://github.com/donnemartin/system-design-primer/issues/130) ∙ [עברית](https://github.com/donnemartin/system-design-primer/issues/272) ∙ [Italiano](https://github.com/donnemartin/system-design-primer/issues/104) ∙ [한국어](https://github.com/donnemartin/system-design-primer/issues/102) ∙ [فارسی](https://github.com/donnemartin/system-design-primer/issues/110) ∙ [Polski](https://github.com/donnemartin/system-design-primer/issues/68) ∙ [русский язык](https://github.com/donnemartin/system-design-primer/issues/87) ∙ [Español](https://github.com/donnemartin/system-design-primer/issues/136) ∙ [ภาษาไทย](https://github.com/donnemartin/system-design-primer/issues/187) ∙ [Türkçe](https://github.com/donnemartin/system-design-primer/issues/39) ∙ [tiếng Việt](https://github.com/donnemartin/system-design-primer/issues/127) ∙ [Français](https://github.com/donnemartin/system-design-primer/issues/250) | [Add Translation](https://github.com/donnemartin/system-design-primer/issues/28)* + +**Helfe diesen Leitfaden zu [übersetzen](TRANSLATIONS.md)!** + +# The System Design Primer + +

+ +
+

diff --git a/README.md b/README.md index 7aa808146af..7f259b368c2 100644 --- a/README.md +++ b/README.md @@ -1350,7 +1350,7 @@ The user is not blocked and the job is processed in the background. During this Tasks queues receive tasks and their related data, runs them, then delivers their results. They can support scheduling and can be used to run computationally-intensive jobs in the background. -**Celery** has support for scheduling and primarily has python support. +**[Celery](https://docs.celeryproject.org/en/stable/)** has support for scheduling and primarily has python support. ### Back pressure From 3080142cd16845595c4ba23704985f7b8d158fbd Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 31 Jan 2021 22:35:08 +0100 Subject: [PATCH 02/25] Revert changes to english README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f259b368c2..7aa808146af 100644 --- a/README.md +++ b/README.md @@ -1350,7 +1350,7 @@ The user is not blocked and the job is processed in the background. During this Tasks queues receive tasks and their related data, runs them, then delivers their results. They can support scheduling and can be used to run computationally-intensive jobs in the background. -**[Celery](https://docs.celeryproject.org/en/stable/)** has support for scheduling and primarily has python support. +**Celery** has support for scheduling and primarily has python support. ### Back pressure From 9cf7b355dffaf228181c140b3b6a7d3ca7d7ecfa Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 13 Feb 2021 21:22:23 +0100 Subject: [PATCH 03/25] Anki Flashcards #2 --- README-de.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/README-de.md b/README-de.md index d1faa2124f7..c5570d19f40 100644 --- a/README-de.md +++ b/README-de.md @@ -8,3 +8,34 @@

+ + + +## Anki Karteikarten + +

+ +
+

+ +Die hier zur Verfügung gestellten [Anki Karteikarten](https://apps.ankiweb.net/) nutzen das Konzept der verteilten Wiederholung. Damit sollst du beim Behalten der Schlüsselkonzepte des System Designs zu unterstützt werden. + +* [Karteikarten System Design](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design.apkg) +* [Übungskarteikarten System Design](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design%20Exercises.apkg) +* [Übungskarteikarten Objektorientiertes Design](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/OO%20Design.apkg) + +Super um unterwegs zu üben! + +### Coding Ressourcen: Interaktive Coding Herausforderungen + +Auf der Suche nach Ressourcen um dich bei der Vorbereitung auf ein [**Coding Interview**](https://github.com/donnemartin/interactive-coding-challenges) vorzubereiten? + +

+ +
+

+ +Schau dir das Partner Repo [**Interactive Coding Herausforderungen**](https://github.com/donnemartin/interactive-coding-challenges) mit einem zusätzlichen Anki Deck: + +* [Coding Deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) + From b9b7bb6f08c62c910e43f15a674d2cb12d7365f3 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 13 Feb 2021 21:26:25 +0100 Subject: [PATCH 04/25] Fix typo #2 --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index c5570d19f40..bd11d4c8ed9 100644 --- a/README-de.md +++ b/README-de.md @@ -18,7 +18,7 @@

-Die hier zur Verfügung gestellten [Anki Karteikarten](https://apps.ankiweb.net/) nutzen das Konzept der verteilten Wiederholung. Damit sollst du beim Behalten der Schlüsselkonzepte des System Designs zu unterstützt werden. +Die hier zur Verfügung gestellten [Anki Karteikarten](https://apps.ankiweb.net/) nutzen das Konzept der verteilten Wiederholung. Damit sollst du beim Behalten der Schlüsselkonzepte des System Designs unterstützt werden. * [Karteikarten System Design](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design.apkg) * [Übungskarteikarten System Design](https://github.com/donnemartin/system-design-primer/tree/master/resources/flash_cards/System%20Design%20Exercises.apkg) From 3bca777cd403e81596ee515eb8e076cfa424720d Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 13 Feb 2021 21:27:18 +0100 Subject: [PATCH 05/25] Fix typo 2 #2 --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index bd11d4c8ed9..fe4156fa448 100644 --- a/README-de.md +++ b/README-de.md @@ -35,7 +35,7 @@ Auf der Suche nach Ressourcen um dich bei der Vorbereitung auf ein [**Coding Int

-Schau dir das Partner Repo [**Interactive Coding Herausforderungen**](https://github.com/donnemartin/interactive-coding-challenges) mit einem zusätzlichen Anki Deck: +Schau dir das Partner Repo [**Interactive Coding Herausforderungen**](https://github.com/donnemartin/interactive-coding-challenges) mit einem zusätzlichen Anki Deck an: * [Coding Deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) From 5f5684c4f855e819eab2b40392c19885d375049b Mon Sep 17 00:00:00 2001 From: JacobK233811 <66180976+JacobK233811@users.noreply.github.com> Date: Mon, 15 Feb 2021 21:56:15 -0500 Subject: [PATCH 06/25] First Draft Create a starting point for the Contributing and Under Development sections. To review in a few days with fresh eyes. --- README-de.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README-de.md b/README-de.md index fe4156fa448..ccbe7a46df1 100644 --- a/README-de.md +++ b/README-de.md @@ -39,3 +39,28 @@ Schau dir das Partner Repo [**Interactive Coding Herausforderungen**](https://gi * [Coding Deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) + + +## Beitragungen + +> Lernen Sie von der Gemeinschaft. + +Fühlen Sie frei zum Pull Requests vorlegen zum helfen: + +* Fehler beheben +* Abschnitte verbessern +* Abschnitte hinzufügen +* [Übersetzen](https://github.com/donnemartin/system-design-primer/issues/28) + +Inhalte dass etwa aufpolieren braucht finden sich [in Entwicklung](#in-entwicklung). + +Inspizieren Sie die [Beitragende Richtlinien](CONTRIBUTING.md). + +## In Entwicklung + +Interessiert Sie sich auf ein Abschnitt hinzufügen oder ein dass in Bearbeitung ist ergänzen? [Beitragen](#beitragungen)! + +* Distributed computing with MapReduce +* Consistent hashing +* Scatter gather +* [Beitragen](#beitragungen) \ No newline at end of file From 7f024c43dd59e4980c01cf37121ea94298ee28cc Mon Sep 17 00:00:00 2001 From: Jacob <66180976+JacobK233811@users.noreply.github.com> Date: Tue, 16 Feb 2021 12:40:03 -0500 Subject: [PATCH 07/25] Update README-de.md ein -> eins on line 61 --- README-de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README-de.md b/README-de.md index ccbe7a46df1..3f163e73e2b 100644 --- a/README-de.md +++ b/README-de.md @@ -58,9 +58,9 @@ Inspizieren Sie die [Beitragende Richtlinien](CONTRIBUTING.md). ## In Entwicklung -Interessiert Sie sich auf ein Abschnitt hinzufügen oder ein dass in Bearbeitung ist ergänzen? [Beitragen](#beitragungen)! +Interessiert Sie sich auf ein Abschnitt hinzufügen oder eins dass in Bearbeitung ist ergänzen? [Beitragen](#beitragungen)! * Distributed computing with MapReduce * Consistent hashing * Scatter gather -* [Beitragen](#beitragungen) \ No newline at end of file +* [Beitragen](#beitragungen) From f289dc61eaea6887d11540301b180839b93c736f Mon Sep 17 00:00:00 2001 From: JacobK233811 <66180976+JacobK233811@users.noreply.github.com> Date: Sun, 21 Feb 2021 10:31:30 -0500 Subject: [PATCH 08/25] Update README-de.md --- README-de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README-de.md b/README-de.md index ccbe7a46df1..7347b489827 100644 --- a/README-de.md +++ b/README-de.md @@ -60,7 +60,7 @@ Inspizieren Sie die [Beitragende Richtlinien](CONTRIBUTING.md). Interessiert Sie sich auf ein Abschnitt hinzufügen oder ein dass in Bearbeitung ist ergänzen? [Beitragen](#beitragungen)! -* Distributed computing with MapReduce -* Consistent hashing -* Scatter gather +* Verteiltes Rechnen mit MapReduce (Distributed computing with MapReduce) +* Konsistentes Streuspeicherverfahren (Consistent hashing) +* Streuung sammeln (Scatter gather) * [Beitragen](#beitragungen) \ No newline at end of file From 51c70a617e828c74d97ea0fe28a6337e73482b33 Mon Sep 17 00:00:00 2001 From: JacobK233811 <66180976+JacobK233811@users.noreply.github.com> Date: Sun, 21 Feb 2021 10:46:15 -0500 Subject: [PATCH 09/25] Make Suggested Edits Following review from @Allaman, act on his advice to correct slight errors and improper flow. --- README-de.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README-de.md b/README-de.md index a7fb7b6e32c..ce4c7ab648a 100644 --- a/README-de.md +++ b/README-de.md @@ -41,26 +41,26 @@ Schau dir das Partner Repo [**Interactive Coding Herausforderungen**](https://gi -## Beitragungen +## Mitwirken > Lernen Sie von der Gemeinschaft. -Fühlen Sie frei zum Pull Requests vorlegen zum helfen: +Zögere nicht durch Pull Requests zu helfen: * Fehler beheben * Abschnitte verbessern * Abschnitte hinzufügen * [Übersetzen](https://github.com/donnemartin/system-design-primer/issues/28) -Inhalte dass etwa aufpolieren braucht finden sich [in Entwicklung](#in-entwicklung). +Inhalte die etwas verbessert werden können finden sich [in Entwicklung](#in-entwicklung). -Inspizieren Sie die [Beitragende Richtlinien](CONTRIBUTING.md). +Beachte die [Richtlinien zum Mitwirken](CONTRIBUTING.md). ## In Entwicklung -Interessiert Sie sich auf ein Abschnitt hinzufügen oder eins dass in Bearbeitung ist ergänzen? [Beitragen](#beitragungen)! +Interessiert ein Abschnitt Hinzufügen oder einen in Bearbeitung zu ergänzen? [Mitwirken](#mitwirken)! * Verteiltes Rechnen mit MapReduce (Distributed computing with MapReduce) * Konsistentes Streuspeicherverfahren (Consistent hashing) * Streuung sammeln (Scatter gather) -* [Beitragen](#beitragungen) +* [Mitwirken](#mitwirken) From 39fdb39132beb20d3fa1c9063d84442e31e84e6d Mon Sep 17 00:00:00 2001 From: JacobK233811 <66180976+JacobK233811@users.noreply.github.com> Date: Sat, 27 Feb 2021 16:21:10 -0500 Subject: [PATCH 10/25] Update README-de.md This word was a lot of fun to break down. --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index ce4c7ab648a..3db1d2ceab8 100644 --- a/README-de.md +++ b/README-de.md @@ -61,6 +61,6 @@ Beachte die [Richtlinien zum Mitwirken](CONTRIBUTING.md). Interessiert ein Abschnitt Hinzufügen oder einen in Bearbeitung zu ergänzen? [Mitwirken](#mitwirken)! * Verteiltes Rechnen mit MapReduce (Distributed computing with MapReduce) -* Konsistentes Streuspeicherverfahren (Consistent hashing) +* Konsistentes Hashing (Consistent hashing) * Streuung sammeln (Scatter gather) * [Mitwirken](#mitwirken) From b2561c8cbcf43dd496c96470348309bd5c158fcc Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 14 Mar 2021 19:16:06 +0100 Subject: [PATCH 11/25] WIP translate study guide #5 --- README-de.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index fe4156fa448..73722382c5b 100644 --- a/README-de.md +++ b/README-de.md @@ -35,7 +35,44 @@ Auf der Suche nach Ressourcen um dich bei der Vorbereitung auf ein [**Coding Int

-Schau dir das Partner Repo [**Interactive Coding Herausforderungen**](https://github.com/donnemartin/interactive-coding-challenges) mit einem zusätzlichen Anki Deck an: +Schau dir das Partner Repo [**Interaktive Coding Herausforderungen**](https://github.com/donnemartin/interactive-coding-challenges) mit einem zusätzlichen Anki Deck an: * [Coding Deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) +## Studienführer + +> Empfohlene Themen basierend auf deinen Zeithorizont zum Interview (kurz, mittel, lang). + +![Imgur](images/OfVllex.png) + +**F: Muss ich für Interviews alles von hier wissen?** + +**A: Nein, du musst nicht alles hier wissen um dich auf ein Interview vorzubereiten**. + +Was man dich bei einem Interview frägt hängt von verschiedenen Variablen ab: + +* Wie viel Erfahrung hast du +* Welchen technischen Hintergrund hast du +* Auf welche Position bewirbst du dich +* Bei welcher Firma ist das Interview +* Glück + +Von erfahreneren Kandidaten wird allgemein mehr Wissen im Bereich System Design erwartet. Von Architekten oder Teamleitern wird mehr Wissen als vom individuellen Teammitglied erwartet. Moderne Tech-Unternehmen haben häufig multiple Vorstellungsrunden. + +Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man ein wenig über verschiedene Schlüsselthemen des System Designs. Passe den folgenden Studienführer basierend auf deinem Zeithorizont, deiner Erfahrung, die Position auf die du dich bewirbst und die Firma bei der du dich bewirbst, an. + +* **Kurzer Zeithorizont** - Strebe ein **breites** Wissen über System Design Themen an. Übe mit dem Lösen **einiger** Interview Fragen. +* **Mittlerer Zeithorizont** - Strebe ein **breites** Wissen und **etwas** Tiefe über System Design Themen. Übe mit dem Lösen **vieler** Interview Fragen. +* **Langer Zeithorizont** - Strebe ein **breites** Wissen und **weit mehr** Tiefe über System Design Themen. Übe mit dem Lösen der **meisten** Interview Fragen. + +# TODO Links überarbeiten + +| | Kurzfristig | Mittelfristig | Langfristig | +|---|---|---|---| +| Lese dir [System design topics](#index-of-system-design-topics) durch um ein breites Verständnis vom Zusammenspiel von Systemen zu bekommen | :+1: | :+1: | :+1: | +| Lese dir ein paar Artikel von [Company engineering blogs](#company-engineering-blogs) zu den Firmen bei denen du dich vorstellst durch | :+1: | :+1: | :+1: | +| Lese dir ein paar Artikel von [Real world architectures](#real-world-architectures) durch | :+1: | :+1: | :+1: | +| Beschäftige dich mit [How to approach a system design interview question](#how-to-approach-a-system-design-interview-question) | :+1: | :+1: | :+1: | +| Arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Einige | Viele | Alle | +| Work through [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | +| Review [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | From 8ac0b766fcc9ef79e3dc00815aa40f1d21907cbd Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 14 Mar 2021 19:30:21 +0100 Subject: [PATCH 12/25] Revert "Merge branch 'de' of github.com:Allaman/system-design-primer into de" This reverts commit 327cec21bbe8ac37cff4d5cd4af4d54aaace462c, reversing changes made to b2561c8cbcf43dd496c96470348309bd5c158fcc. --- README-de.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index fe4156fa448..73722382c5b 100644 --- a/README-de.md +++ b/README-de.md @@ -35,7 +35,44 @@ Auf der Suche nach Ressourcen um dich bei der Vorbereitung auf ein [**Coding Int

-Schau dir das Partner Repo [**Interactive Coding Herausforderungen**](https://github.com/donnemartin/interactive-coding-challenges) mit einem zusätzlichen Anki Deck an: +Schau dir das Partner Repo [**Interaktive Coding Herausforderungen**](https://github.com/donnemartin/interactive-coding-challenges) mit einem zusätzlichen Anki Deck an: * [Coding Deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) +## Studienführer + +> Empfohlene Themen basierend auf deinen Zeithorizont zum Interview (kurz, mittel, lang). + +![Imgur](images/OfVllex.png) + +**F: Muss ich für Interviews alles von hier wissen?** + +**A: Nein, du musst nicht alles hier wissen um dich auf ein Interview vorzubereiten**. + +Was man dich bei einem Interview frägt hängt von verschiedenen Variablen ab: + +* Wie viel Erfahrung hast du +* Welchen technischen Hintergrund hast du +* Auf welche Position bewirbst du dich +* Bei welcher Firma ist das Interview +* Glück + +Von erfahreneren Kandidaten wird allgemein mehr Wissen im Bereich System Design erwartet. Von Architekten oder Teamleitern wird mehr Wissen als vom individuellen Teammitglied erwartet. Moderne Tech-Unternehmen haben häufig multiple Vorstellungsrunden. + +Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man ein wenig über verschiedene Schlüsselthemen des System Designs. Passe den folgenden Studienführer basierend auf deinem Zeithorizont, deiner Erfahrung, die Position auf die du dich bewirbst und die Firma bei der du dich bewirbst, an. + +* **Kurzer Zeithorizont** - Strebe ein **breites** Wissen über System Design Themen an. Übe mit dem Lösen **einiger** Interview Fragen. +* **Mittlerer Zeithorizont** - Strebe ein **breites** Wissen und **etwas** Tiefe über System Design Themen. Übe mit dem Lösen **vieler** Interview Fragen. +* **Langer Zeithorizont** - Strebe ein **breites** Wissen und **weit mehr** Tiefe über System Design Themen. Übe mit dem Lösen der **meisten** Interview Fragen. + +# TODO Links überarbeiten + +| | Kurzfristig | Mittelfristig | Langfristig | +|---|---|---|---| +| Lese dir [System design topics](#index-of-system-design-topics) durch um ein breites Verständnis vom Zusammenspiel von Systemen zu bekommen | :+1: | :+1: | :+1: | +| Lese dir ein paar Artikel von [Company engineering blogs](#company-engineering-blogs) zu den Firmen bei denen du dich vorstellst durch | :+1: | :+1: | :+1: | +| Lese dir ein paar Artikel von [Real world architectures](#real-world-architectures) durch | :+1: | :+1: | :+1: | +| Beschäftige dich mit [How to approach a system design interview question](#how-to-approach-a-system-design-interview-question) | :+1: | :+1: | :+1: | +| Arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Einige | Viele | Alle | +| Work through [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | +| Review [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | From f773bae5f458cb428efe70e24852d6e37cc5bf63 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 14 Mar 2021 19:33:53 +0100 Subject: [PATCH 13/25] WIP translate study guide #5 --- README-de.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README-de.md b/README-de.md index 73722382c5b..6800f9bffeb 100644 --- a/README-de.md +++ b/README-de.md @@ -74,5 +74,5 @@ Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man | Lese dir ein paar Artikel von [Real world architectures](#real-world-architectures) durch | :+1: | :+1: | :+1: | | Beschäftige dich mit [How to approach a system design interview question](#how-to-approach-a-system-design-interview-question) | :+1: | :+1: | :+1: | | Arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Einige | Viele | Alle | -| Work through [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | -| Review [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | +| Arbeite dich durch [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | +| Beschäftige dich mit [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | From a49ec31c1eb4630f29bb65d1137e9bae6ea50bd2 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 14 Mar 2021 22:54:23 +0100 Subject: [PATCH 14/25] translate index #4 --- README-de.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/README-de.md b/README-de.md index 6800f9bffeb..5964f4f14bb 100644 --- a/README-de.md +++ b/README-de.md @@ -39,6 +39,99 @@ Schau dir das Partner Repo [**Interaktive Coding Herausforderungen**](https://gi * [Coding Deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) +## Inhaltsverzeichnis der System Design Themen + +> Zusammenfassung verschiedener System Design Themen inklusive der Vor- und Nachteile **Alles ist ein Kompromiss**. +> +> Jedes Kapitel beinhaltet Links zu vertiefenden Ressourcen. + +

+ +
+

+ +* [System Design Themen: Starte hier](#system-design-topics-start-here) + * [Schritt 1: Schaue das Video über Skalierbarkeit an](#step-1-review-the-scalability-video-lecture) + * [Schritt 2: Lese den Artikel zu Skalierbarkeit](#step-2-review-the-scalability-article) + * [Nächste Schritte](#next-steps) +* [Leistung vs Skalierbarkeit](#performance-vs-scalability) +* [Latenz vs Durchsatz](#latency-vs-throughput) +* [Verfügbarkeit vs Konsistenz](#availability-vs-consistency) + * [Der CAP Satz](#cap-theorem) + * [CP - Konsistenz und Ausfalltoleranz](#cp---consistency-and-partition-tolerance) + * [AP - Verfügbarkeit und Ausfalltoleranz](#ap---availability-and-partition-tolerance) +* [Konsistenzklassen](#consistency-patterns) + * [Schwache Konsistenz](#weak-consistency) + * [Eventuelle Konsistenz](#eventual-consistency) + * [Starke Konsistenz](#strong-consistency) +* [Verfügbarkeitsklassen](#availability-patterns) + * [Fail-over](#fail-over) + * [Replizierung](#replication) + * [Verfügbarkeit in Zahlen](#availability-in-numbers) +* [Domain name system](#domain-name-system) +* [Netzwerk für die Bereitstellung von Inhalten (CDN)](#content-delivery-network) + * [Push CDNs](#push-cdns) + * [Pull CDNs](#pull-cdns) +* [Load balancer](#load-balancer) + * [Aktiv-passiv](#active-passive) + * [Aktiv-passiv](#active-active) + * [Schicht 4 load balancing](#layer-4-load-balancing) + * [Schicht 7 load balancing](#layer-7-load-balancing) + * [Horizontale Skalierung](#horizontal-scaling) +* [Reverse proxy (web server)](#reverse-proxy-web-server) + * [Load balancer vs reverse proxy](#load-balancer-vs-reverse-proxy) +* [Applikationsschicht](#application-layer) + * [Microservices](#microservices) + * [Serviceerkennung](#service-discovery) +* [Datenbanken](#database) + * [Relationale Datenbankmanagementsysteme (RDBMS)](#relational-database-management-system-rdbms) + * [Master-slave Replizierung](#master-slave-replication) + * [Master-master Replizierung](#master-master-replication) + * [Federation](#federation) + * [Sharding](#sharding) + * [Denormalisierung](#denormalization) + * [SQL tuning](#sql-tuning) + * [NoSQL](#nosql) + * [Key-value Speicher](#key-value-store) + * [Dokumentenspeicher](#document-store) + * [Spaltenorientierte Datenbanken](#wide-column-store) + * [Graph Datenbanken](#graph-database) + * [SQL oder NoSQL](#sql-or-nosql) +* [Cache](#cache) + * [Client caching](#client-caching) + * [CDN caching](#cdn-caching) + * [Web server caching](#web-server-caching) + * [Datenbank caching](#database-caching) + * [Applikationscaching](#application-caching) + * [Caching auf Datenbank-Abfragelevel](#caching-at-the-database-query-level) + * [Caching auf Objektlevel](#caching-at-the-object-level) + * [Wann den Cache aktualisieren](#when-to-update-the-cache) + * [Cache-aside](#cache-aside) + * [Write-through](#write-through) + * [Write-behind (write-back)](#write-behind-write-back) + * [Refresh-ahead](#refresh-ahead) +* [Asynchronie](#asynchronism) + * [Message queues](#message-queues) + * [Task queues](#task-queues) + * [Gegendruck](#back-pressure) +* [Kommunikationstechniken](#communication) + * [Transmission control protocol (TCP)](#transmission-control-protocol-tcp) + * [User datagram protocol (UDP)](#user-datagram-protocol-udp) + * [Remote procedure call (RPC)](#remote-procedure-call-rpc) + * [Representational state transfer (REST)](#representational-state-transfer-rest) +* [Sicherheit](#security) +* [Appendix](#appendix) + * [Zweierpotenzen](#powers-of-two-table) + * [Latenzen die jeder Programmierer kennen sollte](#latency-numbers-every-programmer-should-know) + * [Zusätzliche System Design Interviewfragen](#additional-system-design-interview-questions) + * [Architekturen aus der echten Welt](#real-world-architectures) + * [Unternehmensarchitekturen](#company-architectures) + * [Engineering Blogs von Unternehmen](#company-engineering-blogs) +* [In Entwicklung](#under-development) +* [Danksagung](#credits) +* [Kontakt](#contact-info) +* [Lizenz](#license) + ## Studienführer > Empfohlene Themen basierend auf deinen Zeithorizont zum Interview (kurz, mittel, lang). From 75179e6739b2be36109436c31f9dca6f402fc915 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 14 Mar 2021 23:08:54 +0100 Subject: [PATCH 15/25] translate index #4 --- README-de.md | 106 +++++++++++++++++++++++++-------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/README-de.md b/README-de.md index 5964f4f14bb..2764115c7c1 100644 --- a/README-de.md +++ b/README-de.md @@ -50,87 +50,87 @@ Schau dir das Partner Repo [**Interaktive Coding Herausforderungen**](https://gi

-* [System Design Themen: Starte hier](#system-design-topics-start-here) - * [Schritt 1: Schaue das Video über Skalierbarkeit an](#step-1-review-the-scalability-video-lecture) - * [Schritt 2: Lese den Artikel zu Skalierbarkeit](#step-2-review-the-scalability-article) - * [Nächste Schritte](#next-steps) -* [Leistung vs Skalierbarkeit](#performance-vs-scalability) -* [Latenz vs Durchsatz](#latency-vs-throughput) -* [Verfügbarkeit vs Konsistenz](#availability-vs-consistency) - * [Der CAP Satz](#cap-theorem) - * [CP - Konsistenz und Ausfalltoleranz](#cp---consistency-and-partition-tolerance) - * [AP - Verfügbarkeit und Ausfalltoleranz](#ap---availability-and-partition-tolerance) -* [Konsistenzklassen](#consistency-patterns) - * [Schwache Konsistenz](#weak-consistency) - * [Eventuelle Konsistenz](#eventual-consistency) - * [Starke Konsistenz](#strong-consistency) -* [Verfügbarkeitsklassen](#availability-patterns) +* [System Design Themen: Starte hier](#system-desing-themen-starte-hier) + * [Schritt 1: Schaue das Video über Skalierbarkeit an](#schritt-1-schaue-das-video-uber-skalierbarkeit-an) + * [Schritt 2: Lese den Artikel zu Skalierbarkeit](#schritt-2-lese-den-artikel-zu-skalierbarkeit) + * [Nächste Schritte](#nachste-schritte) +* [Leistung vs Skalierbarkeit](#leistung-vs-skalierbarkeit) +* [Latenz vs Durchsatz](#latenz-vs-durchsatz) +* [Verfügbarkeit vs Konsistenz](#verfugbarkeit-vs-konsistenz) + * [Der CAP Satz](#der-cap-satz) + * [CP - Konsistenz und Ausfalltoleranz](#cp---konsistenz-und-ausfalltoleranz) + * [AP - Verfügbarkeit und Ausfalltoleranz](#ap---verfugbarkeit-und-ausfalltoleranz) +* [Konsistenzklassen](#konsistenzklassen) + * [Schwache Konsistenz](#schwache-konsistenz) + * [Eventuelle Konsistenz](#eventuelle-konsistenz) + * [Starke Konsistenz](#starke-konsistenz) +* [Verfügbarkeitsklassen](#verfugbarkeitsklassen) * [Fail-over](#fail-over) - * [Replizierung](#replication) - * [Verfügbarkeit in Zahlen](#availability-in-numbers) + * [Replizierung](#replizierung) + * [Verfügbarkeit in Zahlen](#verfugbarkeit-in-zahlen) * [Domain name system](#domain-name-system) -* [Netzwerk für die Bereitstellung von Inhalten (CDN)](#content-delivery-network) +* [Netzwerk für die Bereitstellung von Inhalten (CDN)](#netzwerk-fur-die-bereitstellung-von-inhalten) * [Push CDNs](#push-cdns) * [Pull CDNs](#pull-cdns) * [Load balancer](#load-balancer) - * [Aktiv-passiv](#active-passive) - * [Aktiv-passiv](#active-active) - * [Schicht 4 load balancing](#layer-4-load-balancing) - * [Schicht 7 load balancing](#layer-7-load-balancing) - * [Horizontale Skalierung](#horizontal-scaling) + * [Aktiv-passiv](#aktiv-passiv) + * [Aktiv-passiv](#aktiv-aktive) + * [Schicht 4 load balancing](#schicht-4-load-balancing) + * [Schicht 7 load balancing](#schicht-7-load-balancing) + * [Horizontale Skalierung](#horizontale-skalierung) * [Reverse proxy (web server)](#reverse-proxy-web-server) * [Load balancer vs reverse proxy](#load-balancer-vs-reverse-proxy) -* [Applikationsschicht](#application-layer) +* [Applikationsschicht](#applikationsschicht) * [Microservices](#microservices) - * [Serviceerkennung](#service-discovery) -* [Datenbanken](#database) - * [Relationale Datenbankmanagementsysteme (RDBMS)](#relational-database-management-system-rdbms) - * [Master-slave Replizierung](#master-slave-replication) - * [Master-master Replizierung](#master-master-replication) + * [Serviceerkennung](#serviceerkennung) +* [Datenbanken](#datenbanken) + * [Relationale Datenbankmanagementsysteme (RDBMS)](#relationale-datenbankmanagementsysteme) + * [Master-slave Replizierung](#master-slave-replizierung) + * [Master-master Replizierung](#master-master-replizierung) * [Federation](#federation) * [Sharding](#sharding) - * [Denormalisierung](#denormalization) + * [Denormalisierung](#denormalisierung) * [SQL tuning](#sql-tuning) * [NoSQL](#nosql) - * [Key-value Speicher](#key-value-store) - * [Dokumentenspeicher](#document-store) - * [Spaltenorientierte Datenbanken](#wide-column-store) - * [Graph Datenbanken](#graph-database) + * [Key-value Speicher](#key-value-speicher) + * [Dokumentenspeicher](#dokumentenspeicher) + * [Spaltenorientierte Datenbanken](#spaltenorientierte-datenbanken) + * [Graph Datenbanken](#graph-datenbanken) * [SQL oder NoSQL](#sql-or-nosql) * [Cache](#cache) * [Client caching](#client-caching) * [CDN caching](#cdn-caching) * [Web server caching](#web-server-caching) - * [Datenbank caching](#database-caching) - * [Applikationscaching](#application-caching) - * [Caching auf Datenbank-Abfragelevel](#caching-at-the-database-query-level) - * [Caching auf Objektlevel](#caching-at-the-object-level) - * [Wann den Cache aktualisieren](#when-to-update-the-cache) + * [Datenbankcaching](#datenbankcaching) + * [Applikationscaching](#applikationscaching) + * [Caching auf Datenbank-Abfragelevel](#caching-auf-datenbank-abfragelevel) + * [Caching auf Objektlevel](#caching-auf-objektlevel) + * [Wann den Cache aktualisieren](#wann-den-cache-aktualisieren) * [Cache-aside](#cache-aside) * [Write-through](#write-through) * [Write-behind (write-back)](#write-behind-write-back) * [Refresh-ahead](#refresh-ahead) -* [Asynchronie](#asynchronism) +* [Asynchronie](#asynchronie) * [Message queues](#message-queues) * [Task queues](#task-queues) - * [Gegendruck](#back-pressure) -* [Kommunikationstechniken](#communication) + * [Gegendruck](#gegendruck) +* [Kommunikationstechniken](#kommunikationstechniken) * [Transmission control protocol (TCP)](#transmission-control-protocol-tcp) * [User datagram protocol (UDP)](#user-datagram-protocol-udp) * [Remote procedure call (RPC)](#remote-procedure-call-rpc) * [Representational state transfer (REST)](#representational-state-transfer-rest) -* [Sicherheit](#security) +* [Sicherheit](#sicherheit) * [Appendix](#appendix) - * [Zweierpotenzen](#powers-of-two-table) - * [Latenzen die jeder Programmierer kennen sollte](#latency-numbers-every-programmer-should-know) - * [Zusätzliche System Design Interviewfragen](#additional-system-design-interview-questions) - * [Architekturen aus der echten Welt](#real-world-architectures) - * [Unternehmensarchitekturen](#company-architectures) - * [Engineering Blogs von Unternehmen](#company-engineering-blogs) -* [In Entwicklung](#under-development) -* [Danksagung](#credits) -* [Kontakt](#contact-info) -* [Lizenz](#license) + * [Zweierpotenzen](#zweierpotenzen) + * [Latenzen die jeder Programmierer kennen sollte](#latenzen-die-jeder-programmierer-kennen-sollte) + * [Zusätzliche System Design Interviewfragen](#zusatzliche-system-design-interviewfragen) + * [Architekturen aus der echten Welt](#architekturen-aus-der-echten-welt) + * [Unternehmensarchitekturen](#unternehmensarchitekturen) + * [Engineering Blogs von Unternehmen](#engineering-blogs-von-unternehmen) +* [In Entwicklung](#in-entwicklung) +* [Danksagung](#danksagung) +* [Kontakt](#kontakt) +* [Lizenz](#lizenz) ## Studienführer From ed8a01226684509fa9e7067344694c0afe81a696 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 14 Mar 2021 23:19:58 +0100 Subject: [PATCH 16/25] WIP translate study guide #5 --- README-de.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README-de.md b/README-de.md index 2764115c7c1..0ffbd0f4cda 100644 --- a/README-de.md +++ b/README-de.md @@ -162,9 +162,9 @@ Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man | | Kurzfristig | Mittelfristig | Langfristig | |---|---|---|---| -| Lese dir [System design topics](#index-of-system-design-topics) durch um ein breites Verständnis vom Zusammenspiel von Systemen zu bekommen | :+1: | :+1: | :+1: | -| Lese dir ein paar Artikel von [Company engineering blogs](#company-engineering-blogs) zu den Firmen bei denen du dich vorstellst durch | :+1: | :+1: | :+1: | -| Lese dir ein paar Artikel von [Real world architectures](#real-world-architectures) durch | :+1: | :+1: | :+1: | +| Lese dir [System Design Themen: Starte hier](#system-desing-themen-starte-hier) durch um ein breites Verständnis vom Zusammenspiel von Systemen zu bekommen | :+1: | :+1: | :+1: | +| Lese dir ein paar Artikel von [Engineering Blogs von Unternehmen](#engineering-blogs-von-unternehmen) zu den Firmen bei denen du dich vorstellst durch | :+1: | :+1: | :+1: | +| Lese dir ein paar Artikel von [Architekturen aus der echten Welt](#architekturen-aus-der-echten-welt) durch | :+1: | :+1: | :+1: | | Beschäftige dich mit [How to approach a system design interview question](#how-to-approach-a-system-design-interview-question) | :+1: | :+1: | :+1: | | Arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Einige | Viele | Alle | | Arbeite dich durch [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | From 5e15f4e73d61342c8a5ebfbd1720f59cef910342 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 16 Mar 2021 01:13:00 +0100 Subject: [PATCH 17/25] Fix loss from merge :( --- README-de.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/README-de.md b/README-de.md index 0ffbd0f4cda..351551e86d3 100644 --- a/README-de.md +++ b/README-de.md @@ -9,7 +9,39 @@

+## Motivation +> Lerne wie man umfangreiche Systeme entwirft. +> +> Bereite dich auf ein System Design Interview vor + +### Lerne wie man umfangreiche Systeme entwirft + +Das Lernen wie man skalierbare Systeme entwrift wird dir helfen ein besserer Engineer zu werden. + +System-Design ist ein breites Fach. Es gibt **viele Ressourcen verteilt über das ganze Internet** über System Design Prizipien. + +Dieses Repo ist eine **organisierte Sammlung** der Ressourcen um dich beim Lernen wie man Systeme im großen Ausmaß baut zu unterstützen. + +### Lerne von der Open-Source Gemeinschaft + +Dies ist ein ständig aktualisiertes, Open-Source Projekt. + +[Mitwirken](#mitwirken) ist willkommen! + +### Bereite dich für das System Design Interview vor + +Als Ergänzung zu Coding Interviews, System Design ist eine **erforderliche Komponente** im **technischen Interview Prozess** in viele Tech-Firmen. + +**Übe häufige System Design Interview Fragen** und **vergleiche** deine Ergebnisse mit **Beispiellösungen**: Diskussionen, Code, und Diagramme. + +Zusätzliche Themen für die Vorbereitung auf ein Coding Interview: +# TODO links überarbeiten +* [Studienführer](#studienfuhrer) +* [Wie man ein Interview Frage System-Design enträtselt](#how-to-approach-a-system-design-interview-question) +* [Interview Fragen System-Design, **mit Lösungen**](#system-design-interview-questions-with-solutions) +* [Interview Fragen Objektorientiertes Design, **mit Lösungen**](#object-oriented-design-interview-questions-with-solutions) +* [Zusätzliche Interview Fragen System-Design](#additional-system-design-interview-questions) ## Anki Karteikarten @@ -39,6 +71,21 @@ Schau dir das Partner Repo [**Interaktive Coding Herausforderungen**](https://gi * [Coding Deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg) +## Mitwirken + +> Lerne von der Gemeinschaft. + +Zögere nicht durch Pull Requests zu helfen: + +* Fehler beheben +* Abschnitte verbessern +* Abschnitte hinzufügen +* [Übersetzen](https://github.com/donnemartin/system-design-primer/issues/28) + +Inhalte die etwas verbessert werden können finden sich [in Entwicklung](#in-entwicklung). + +Beachte die [Richtlinien zum Mitwirken](CONTRIBUTING.md). + ## Inhaltsverzeichnis der System Design Themen > Zusammenfassung verschiedener System Design Themen inklusive der Vor- und Nachteile **Alles ist ein Kompromiss**. From cf9ae2705c104ef469a444255b3f53e69f535c85 Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Fri, 19 Mar 2021 13:44:15 +0100 Subject: [PATCH 18/25] Add translation for availability vs consistency --- README-de.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index 351551e86d3..756f91a26ab 100644 --- a/README-de.md +++ b/README-de.md @@ -104,7 +104,7 @@ Beachte die [Richtlinien zum Mitwirken](CONTRIBUTING.md). * [Leistung vs Skalierbarkeit](#leistung-vs-skalierbarkeit) * [Latenz vs Durchsatz](#latenz-vs-durchsatz) * [Verfügbarkeit vs Konsistenz](#verfugbarkeit-vs-konsistenz) - * [Der CAP Satz](#der-cap-satz) + * [Das CAP-Theorem](#das-cap-theorem) * [CP - Konsistenz und Ausfalltoleranz](#cp---konsistenz-und-ausfalltoleranz) * [AP - Verfügbarkeit und Ausfalltoleranz](#ap---verfugbarkeit-und-ausfalltoleranz) * [Konsistenzklassen](#konsistenzklassen) @@ -216,3 +216,40 @@ Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man | Arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) | Einige | Viele | Alle | | Arbeite dich durch [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | | Beschäftige dich mit [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | + +## Verfügbarkeit vs Konsistenz + +### Das CAP-Theorem + +

+ +
+ Source: CAP theorem revisited +

+ +In einem verteilten System können lediglich zwei der folgenden Eigenschaften erfüllt werden: + +* **Konsistenz** - Alle lesenden Zugriffe erhalten den neuesten Stand oder einen Fehler +* **Verfügbarkeit** - Alle Anfragen erhalten eine Antwort, jedoch ohne Garantie, dass diese den neuesten Informationsstand enthält +* **Ausfalltoleranz** - Das System arbeitet auch dann weiter, wenn es durch den Ausfall von Knoten partitioniert wird + +*Netzwerke sind nie zuverlässig, weshalb du Ausfalltoleranz unterstützen und zwischen Konsisten und Verfügbarkeit abwägen müssen wirst.* + +#### CP - Konsistenz und Ausfalltoleranz + +Das Warten auf die Antwort eines ausgefallenen Knotens kann in einen Timeout-Fehler führen. CP ist eine gute Wahl, wenn deine Geschäftsanforderungen atomare Lese- und Schreibzugriffe fordern. + +#### AP - Verfügbarkeit und Ausfalltoleranz + +Antworten liefern die neueste verfügbare Version der Daten auf einem Knoten, wobei es sich nicht um die tatsächlich neueste Version handeln muss. Schreiboperationen +können eine Weile brauchen, um sich auf die ausgefallenen Knoten zu verbreiten, sobald sie wieder verfügbar sind. + +AP ist eine gute Wahl, wenn die Geschäftsanforderungen [Eventual Consistency](#eventual-consistency) erlauben oder wenn das System auch trotz Fehlern von Außerhalb +weiterarbeiten muss. + +### Quellen und weiterführende Artikel + +* [CAP theorem revisited](http://robertgreiner.com/2014/08/cap-theorem-revisited/) +* [A plain english introduction to CAP theorem](http://ksat.me/a-plain-english-introduction-to-cap-theorem) +* [CAP FAQ](https://github.com/henryr/cap-faq) +* [The CAP theorem](https://www.youtube.com/watch?v=k-Yaq8AHlFA) From 624e4070403f61cdb3bc9685a243c6f1dd9535ac Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Fri, 19 Mar 2021 13:48:34 +0100 Subject: [PATCH 19/25] Fix translation for CP - consistency and partition tolerance --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index 756f91a26ab..cd34c6b7253 100644 --- a/README-de.md +++ b/README-de.md @@ -237,7 +237,7 @@ In einem verteilten System können lediglich zwei der folgenden Eigenschaften er #### CP - Konsistenz und Ausfalltoleranz -Das Warten auf die Antwort eines ausgefallenen Knotens kann in einen Timeout-Fehler führen. CP ist eine gute Wahl, wenn deine Geschäftsanforderungen atomare Lese- und Schreibzugriffe fordern. +Das Warten auf die Antwort eines ausgefallenen Knotens kann zu einem Timeout-Fehler führen. CP ist eine gute Wahl, wenn deine Geschäftsanforderungen atomare Lese- und Schreibzugriffe fordern. #### AP - Verfügbarkeit und Ausfalltoleranz From 6d68c13bf4a885781bfd85df48cefc4baacf141c Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Fri, 19 Mar 2021 13:50:04 +0100 Subject: [PATCH 20/25] Fix line endings --- README-de.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README-de.md b/README-de.md index cd34c6b7253..a08a7208183 100644 --- a/README-de.md +++ b/README-de.md @@ -241,11 +241,9 @@ Das Warten auf die Antwort eines ausgefallenen Knotens kann zu einem Timeout-Feh #### AP - Verfügbarkeit und Ausfalltoleranz -Antworten liefern die neueste verfügbare Version der Daten auf einem Knoten, wobei es sich nicht um die tatsächlich neueste Version handeln muss. Schreiboperationen -können eine Weile brauchen, um sich auf die ausgefallenen Knoten zu verbreiten, sobald sie wieder verfügbar sind. +Antworten liefern die neueste verfügbare Version der Daten auf einem Knoten, wobei es sich nicht um die tatsächlich neueste Version handeln muss. Schreiboperationen können eine Weile brauchen, um sich auf die ausgefallenen Knoten zu verbreiten, sobald sie wieder verfügbar sind. -AP ist eine gute Wahl, wenn die Geschäftsanforderungen [Eventual Consistency](#eventual-consistency) erlauben oder wenn das System auch trotz Fehlern von Außerhalb -weiterarbeiten muss. +AP ist eine gute Wahl, wenn die Geschäftsanforderungen [Eventual Consistency](#eventual-consistency) erlauben oder wenn das System auch trotz Fehlern von Außerhalb weiterarbeiten muss. ### Quellen und weiterführende Artikel From 82c7b9d70eccc3442fee152d49a0ee4940c10e92 Mon Sep 17 00:00:00 2001 From: Dominik Braun Date: Sat, 20 Mar 2021 22:54:49 +0100 Subject: [PATCH 21/25] Fix typo for consistency translation --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index a08a7208183..b1847a6ffef 100644 --- a/README-de.md +++ b/README-de.md @@ -233,7 +233,7 @@ In einem verteilten System können lediglich zwei der folgenden Eigenschaften er * **Verfügbarkeit** - Alle Anfragen erhalten eine Antwort, jedoch ohne Garantie, dass diese den neuesten Informationsstand enthält * **Ausfalltoleranz** - Das System arbeitet auch dann weiter, wenn es durch den Ausfall von Knoten partitioniert wird -*Netzwerke sind nie zuverlässig, weshalb du Ausfalltoleranz unterstützen und zwischen Konsisten und Verfügbarkeit abwägen müssen wirst.* +*Netzwerke sind nie zuverlässig, weshalb du Ausfalltoleranz unterstützen und zwischen Konsistenz und Verfügbarkeit abwägen müssen wirst.* #### CP - Konsistenz und Ausfalltoleranz From e309314ea79ad06d2dc80b94676fa8e68057b670 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 21 Mar 2021 23:03:18 +0100 Subject: [PATCH 22/25] Fix false friend translation --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index b1847a6ffef..409b7d9f3b2 100644 --- a/README-de.md +++ b/README-de.md @@ -109,7 +109,7 @@ Beachte die [Richtlinien zum Mitwirken](CONTRIBUTING.md). * [AP - Verfügbarkeit und Ausfalltoleranz](#ap---verfugbarkeit-und-ausfalltoleranz) * [Konsistenzklassen](#konsistenzklassen) * [Schwache Konsistenz](#schwache-konsistenz) - * [Eventuelle Konsistenz](#eventuelle-konsistenz) + * [Eventual Consistency](#eventual-consistency) * [Starke Konsistenz](#starke-konsistenz) * [Verfügbarkeitsklassen](#verfugbarkeitsklassen) * [Fail-over](#fail-over) From 4e302581f17f3e94cf3675d386ee75d3fc31d7aa Mon Sep 17 00:00:00 2001 From: JacobK233811 <66180976+JacobK233811@users.noreply.github.com> Date: Sun, 4 Jul 2021 11:07:21 -0400 Subject: [PATCH 23/25] Update README-de.md --- README-de.md | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/README-de.md b/README-de.md index 409b7d9f3b2..986955b4f2b 100644 --- a/README-de.md +++ b/README-de.md @@ -217,6 +217,75 @@ Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man | Arbeite dich durch [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | | Beschäftige dich mit [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | +## Wie ein System-Design Interview Frage zu angehen + +> Wie ein System-Design Interview Frage zu anpacken. + +Das System-Design Interview ist ein **unbegrenzt Gespräch**. Du solltest es bestimmen. + +Du kannst die folgende Schritte nutzen um die Diskussion zu leiten. Um sich diese Vorgang zu festigen, arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) Abschnitt mit die folgende Schritte. + +### Schritt 1: Umreiße Anwendungsfälle, Grenzen, und Annahmen + +Sammelt Anforderungen und Weit das Problem aus. Stelle Fragen um Anwendungsfälle und Grenzen zu klarmachen. Diskutiert die Annahmen. + +* Wer wird es nutzen? +* Wie werden sie es nutzen? +* Wie viele Nutzer wird es geben? +* Was macht das System? +* Was sind die Eingaben und Ausgaben des Systems? +* Wie viel Daten erwarten wir zu handeln? +* Wie viele Ersuchen erwarten wir pro Sekunde? +* Was ist die erwartete Lese-zu-Schreib-Verhältnis? + +### Schritt 2: Schafft ein höher Entwurf + +Umreiße ein höher Entwurf mit alle wichtige Komponenten. + +* Skizziere die Hauptkomponenten und Verbindungen +* Gründen deine Ideen + +### Schritt 3: Entwurft wichtige Komponenten + +Einzutaucht in den Einzelheiten für jedes wichtiges Komponent. Zum Beispiel, wenn du musst [design a url shortening service](solutions/system_design/pastebin/README.md), diskutiert: + +* Ein hash des volles url generieren und speichern + * [MD5](solutions/system_design/pastebin/README.md) und [Base62](solutions/system_design/pastebin/README.md) + * Hash collisions + * SQL or NoSQL + * Database schema +* Ein hashed url zu volles url übersetzen + * Database lookup +* API and Objektorientiertes Design + +### Schritt 4: Skaliert den Entwurf + +Identifiziert und addressiert Engpassen, angesichts der Grenzen. Zum Beispiel, brauchst du die folgende um Probleme der Skalierung addressieren? + +* Load Balancer +* Horizontale Skalierung +* Caching +* Datenbank Sharding + +Diskutiert potentielle Lösungen und Abtauschen. Alles ist ein Abtausch. Addressiert Engpassen mit [principles of scalable system design](#index-of-system-design-topics). + +### Back-of-the-envelope calculations + +Du wirst vielleicht einige Schätzungen von Hand vorzunehmen gebeten. Hinweist zu [Appendix](#appendix) um die folgende Ressourcen zu sehen: + +* [Use back of the envelope calculations](http://highscalability.com/blog/2011/1/26/google-pro-tip-use-back-of-the-envelope-calculations-to-choo.html) +* [Powers of two table](#powers-of-two-table) +* [Latency numbers every programmer should know](#latency-numbers-every-programmer-should-know) + +### Quellen und weiterführende Artikel + +Schau die folgende Links um eine bessere Idee was erwarten zu haben: + +* [How to ace a systems design interview](https://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/) +* [The system design interview](http://www.hiredintech.com/system-design) +* [Intro to Architecture and Systems Design Interviews](https://www.youtube.com/watch?v=ZgdS0EUmn70) +* [System design template](https://leetcode.com/discuss/career/229177/My-System-Design-Template) + ## Verfügbarkeit vs Konsistenz ### Das CAP-Theorem From 4bccb82d6038e63603967acd722054eb6a69c89b Mon Sep 17 00:00:00 2001 From: JacobK233811 <66180976+JacobK233811@users.noreply.github.com> Date: Sun, 18 Jul 2021 22:28:05 -0400 Subject: [PATCH 24/25] Requested Revisions Change many verbs to end in e rather than t (proper form for informal command) Translate previously ignored technical terms. Make minor corrections. --- README-de.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/README-de.md b/README-de.md index 986955b4f2b..6741c324908 100644 --- a/README-de.md +++ b/README-de.md @@ -217,59 +217,59 @@ Beginne breit und fokussiere dich auf einige wenige Bereiche. Es hilft wenn man | Arbeite dich durch [Object-oriented design interview questions with solutions](#object-oriented-design-interview-questions-with-solutions) | Einige | Viele | Alle | | Beschäftige dich mit [Additional system design interview questions](#additional-system-design-interview-questions) | Einige | Viele | Alle | -## Wie ein System-Design Interview Frage zu angehen +## Wie man eine System-Design Interview Frage angehen soll -> Wie ein System-Design Interview Frage zu anpacken. +> Wie man eine System-Design Interview Frage anzupacken hat. -Das System-Design Interview ist ein **unbegrenzt Gespräch**. Du solltest es bestimmen. +Das System-Design Interview ist ein **offenenes Gespräch**. Die Führung des Gesprächs wird von dir erwartet. -Du kannst die folgende Schritte nutzen um die Diskussion zu leiten. Um sich diese Vorgang zu festigen, arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) Abschnitt mit die folgende Schritte. +Du kannst die folgende Schritte nutzen um die Diskussion zu leiten. Zur Festigung dieses Prozesses, arbeite dich durch [System design interview questions with solutions](#system-design-interview-questions-with-solutions) Abschnitt mit den folgenden Schritten. ### Schritt 1: Umreiße Anwendungsfälle, Grenzen, und Annahmen -Sammelt Anforderungen und Weit das Problem aus. Stelle Fragen um Anwendungsfälle und Grenzen zu klarmachen. Diskutiert die Annahmen. +Sammle Anforderungen und erfasse das Problem. Stelle Fragen um Anwendungsfälle und Grenzen zu klarmachen. Diskutiere die Annahmen. * Wer wird es nutzen? * Wie werden sie es nutzen? * Wie viele Nutzer wird es geben? * Was macht das System? * Was sind die Eingaben und Ausgaben des Systems? -* Wie viel Daten erwarten wir zu handeln? -* Wie viele Ersuchen erwarten wir pro Sekunde? -* Was ist die erwartete Lese-zu-Schreib-Verhältnis? +* Wie viele Daten, welches das System verarbeitet, werden erwartet? +* Wie viele Anfragen erwarten wir pro Sekunde? +* Was ist das erwartete Lese/Schreib-Verhältnis? -### Schritt 2: Schafft ein höher Entwurf +### Schritt 2: Entwurfe ein Grobdesign -Umreiße ein höher Entwurf mit alle wichtige Komponenten. +Umreiße einen groben Entwurf mit alle wichtige Komponenten. -* Skizziere die Hauptkomponenten und Verbindungen -* Gründen deine Ideen +* Skizziere die Entwerfe Kernkomponenten und Verbindungen +* Beründe deine Ideen -### Schritt 3: Entwurft wichtige Komponenten +### Schritt 3: Entwurfe Kernkomponenten -Einzutaucht in den Einzelheiten für jedes wichtiges Komponent. Zum Beispiel, wenn du musst [design a url shortening service](solutions/system_design/pastebin/README.md), diskutiert: +Gehe für jede Kernkomponente ins Detail. Zum Beispiel, wenn du zum [design a url shortening service](solutions/system_design/pastebin/README.md) gefragt wird, dann erläutere: -* Ein hash des volles url generieren und speichern +* Generierung und Speicherung von hashes einer vollen URL * [MD5](solutions/system_design/pastebin/README.md) und [Base62](solutions/system_design/pastebin/README.md) - * Hash collisions - * SQL or NoSQL - * Database schema -* Ein hashed url zu volles url übersetzen - * Database lookup + * Hashkollisionen + * SQL oder NoSQL + * Datenbankschema +* Zuordnung einer hashed URL zu einer vollen URL + * Datenbankabfragen * API and Objektorientiertes Design -### Schritt 4: Skaliert den Entwurf +### Schritt 4: Skaliere den Entwurf -Identifiziert und addressiert Engpassen, angesichts der Grenzen. Zum Beispiel, brauchst du die folgende um Probleme der Skalierung addressieren? +Identifiziere und adressiere Engpässe angesichts der Einschränkungen. Brauchst du zum Beispiel die folgenden Komponenten um ein Problem der Skalierbarkeit zu adressieren? * Load Balancer * Horizontale Skalierung * Caching * Datenbank Sharding -Diskutiert potentielle Lösungen und Abtauschen. Alles ist ein Abtausch. Addressiert Engpassen mit [principles of scalable system design](#index-of-system-design-topics). +Diskutiere potentielle Lösungen und trade-offs. Alles ist ein trade-off. Addressiere Engpässe mit [principles of scalable system design](#index-of-system-design-topics). -### Back-of-the-envelope calculations +### Überschlagsrechnung Du wirst vielleicht einige Schätzungen von Hand vorzunehmen gebeten. Hinweist zu [Appendix](#appendix) um die folgende Ressourcen zu sehen: @@ -279,7 +279,7 @@ Du wirst vielleicht einige Schätzungen von Hand vorzunehmen gebeten. Hinweist ### Quellen und weiterführende Artikel -Schau die folgende Links um eine bessere Idee was erwarten zu haben: +Schaue dir die folgenden Links an um eine bessere Idee von dem was dich erwartet zu bekommen: * [How to ace a systems design interview](https://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/) * [The system design interview](http://www.hiredintech.com/system-design) From d12037948a8d0de3d9eec8eda05ee35b058d4ee1 Mon Sep 17 00:00:00 2001 From: JacobK233811 <66180976+JacobK233811@users.noreply.github.com> Date: Sun, 18 Jul 2021 22:29:25 -0400 Subject: [PATCH 25/25] Update README-de.md --- README-de.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-de.md b/README-de.md index 6741c324908..4c5c7721065 100644 --- a/README-de.md +++ b/README-de.md @@ -271,7 +271,7 @@ Diskutiere potentielle Lösungen und trade-offs. Alles ist ein trade-off. Addr ### Überschlagsrechnung -Du wirst vielleicht einige Schätzungen von Hand vorzunehmen gebeten. Hinweist zu [Appendix](#appendix) um die folgende Ressourcen zu sehen: +Du wirst vielleicht einige Schätzungen aus dem Kopf vornehmen müssen. Schaue dir das [Appendix](#appendix) für folgende Quellen an: * [Use back of the envelope calculations](http://highscalability.com/blog/2011/1/26/google-pro-tip-use-back-of-the-envelope-calculations-to-choo.html) * [Powers of two table](#powers-of-two-table)