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 1/3] Update README-de.md --- README-de.md | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/README-de.md b/README-de.md index 409b7d9f..986955b4 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 2/3] 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 986955b4..6741c324 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 3/3] 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 6741c324..4c5c7721 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)