diff --git a/translations/README-de.md b/translations/README-de.md index 6d48bd6..faf1897 100644 --- a/translations/README-de.md +++ b/translations/README-de.md @@ -1,16 +1,17 @@ # Coding Interview University -> I originally created this as a short to-do list of study topics for becoming a software engineer, -> but it grew to the large list you see today. After going through this study plan, [I got hired -> as a Software Development Engineer at Amazon](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)! -> You probably won't have to study as much as I did. Anyway, everything you need is here. +> Ursprünglich habe ich dies als eine kurze To-Do Liste von Studienthemen angefangen um SOftware Engineer zu werden, +> aber es ist zu der riesigen Liste herangewachsen die man heute sehen kann. Nachdem ich diesen Lehrplan durchgezogen +> habe, [wurde ich als Software Entwickler bei Amazon eingestellt.](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)! +> Wahrscheinlich wirst du nicht so viel lernen brauchen wie ich es getan habe. Aber egal, alles was du brauchst, findest +> du hier. > -> I studied about 8-12 hours a day, for several months. This is my story: [Why I studied full-time for 8 months for a Google interview](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13) +> Ich habe ungefähr 8-12 Stunden am Tag gelernt, und das für mehrere Monate. Hier ist meine Geschichte: [Why I studied full-time for 8 months for a Google interview](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13) > -> The items listed here will prepare you well for an interview at just about any software company, -> including the giants: Amazon, Facebook, Google or Microsoft. +> Die Einträge in dieser Liste werden dich gut auf ein Vorstellungsgepräch bei so gut wie jeder Software Firma vorbereiten, +> so bei den Giganten: Amazon, Facebook, Google oder Micrososft. > -> *Best of luck to you!* +> *Viel Glück!*
Übersetzungen: @@ -69,8 +70,8 @@ Liste (Netzwerke, Sicherheit) ansehen. - [Worum es geht](#what-is-it) - [Warum solltest du das hier lesen?](#why-use-it) - [Wie man dies hier benutzt](#how-to-use-it) -- [Glaub nicht, dass du nicht klug genug bist](#dont-feel-you-arent-smart-enough) -- [Über Video Resourcen](#about-video-resources) +- [Halt dich nicht für dümmer als du bist](#dont-feel-you-arent-smart-enough) +- [Über Videoquellen](#about-video-resources) - [Ablauf von Vorstellungsgesprächen und allgemeine Vorbereitung darauf](#interview-process--general-interview-prep) - [Wähle eine Sprache für das Vorstellungsgespräch](#pick-one-language-for-the-interview) - [Buchliste](#book-list) @@ -136,7 +137,7 @@ Liste (Netzwerke, Sicherheit) ansehen. ---------------- Alles unter der Linie ist optional ----------------
-Additional Resources +Zusätzliche Materialien - [Zusätzliche Bücher](#additional-books) - [Zusätzliches Wissen](#additional-learning) @@ -188,28 +189,30 @@ Liste (Netzwerke, Sicherheit) ansehen. ## Warum solltest du das hier lesen? -When I started this project, I didn't know a stack from a heap, didn't know Big-O anything, anything about trees, or how to -traverse a graph. If I had to code a sorting algorithm, I can tell ya it wouldn't have been very good. -Every data structure I've ever used was built into the language, and I didn't know how they worked -under the hood at all. I've never had to manage memory unless a process I was running would give an "out of -memory" error, and then I'd have to find a workaround. I've used a few multidimensional arrays in my life and -thousands of associative arrays, but I've never created data structures from scratch. +Als ich dieses Projekt angefangen habe, konnte ich einen Stack nicht von einem Heap unterscheiden, wusste nichts von +Groß-O, nichts über Bäume, oder wie man einen Graphen durchläuft. Wenn ich einen Sortieralgorithmuss hätte schreiben sollen, +dann wäre der nicht besonders gut geworden, so viel kann ich dir sagen. Jede Datenstruktur die jemals benutzt habe war +direkt in der Programmiersprache eingebaut, und ich hatte keine Ahnung wie sie funktioniert haben. Ich muss niemals +Speichermanagement betreiben, außer einer der Prozesse die ich ausgeführt hatte hat einen "out of memory" Fehler gehabt. +Und wenn das passiert ist, musste ich einen Umweg finden. Ich habe ein paar mehrdimensionale Arrays in meinen Leben benutzt +und ein paar tausend assoziative Arrays, aber ich habe nie selbst eine Datenstruktur von Grund auf neu geschrieben. -It's a long plan. It may take you months. If you are familiar with a lot of this already it will take you a lot less time. +Es ist ein großer Plan. Es könnte mehrere Monate dauern. Falls dir schon vieles von dem bekannt ist, wird es dich viel +weniger Zeit kosten. -## How to use it +## Wie man dies hier benutzt
-How to use it +Wie man dies hier benutzt -Everything below is an outline, and you should tackle the items in order from top to bottom. +Alles hier drunter ist ein Umriss, und du solltest die Aufgaben von oben nach untern abarbeiten. -I'm using Github's special markdown flavor, including tasks lists to check progress. +Ich benutze GitHub's spezielle Version von Markdown, das beinhält Aufgabenliste um den Fortschritt zu prüfen. -**Create a new branch so you can check items like this, just put an x in the brackets: [x]** +**Erstelle einen neuen Branch. Damit du Einträge abhaken kannst, füge einfach nur ein x in eckigen Klammern ein: [x]** - Fork a branch and follow the commands below + Erstelle einen Fork dieses Projekts und gib die folgenden Kommandos ein `git checkout -b progress` @@ -217,7 +220,7 @@ I'm using Github's special markdown flavor, including tasks lists to check progr `git fetch --all` - Mark all boxes with X after you completed your changes + Hake alle Kästchen mit x ab nachdem du die Änderungen vollzogen hast `git add .` @@ -227,25 +230,26 @@ I'm using Github's special markdown flavor, including tasks lists to check progr `git push --force` -[More about Github-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown) +[Mehr über die Markdown Version von GitHub](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
-## Don't feel you aren't smart enough -- Successful software engineers are smart, but many have an insecurity that they aren't smart enough. +## Halt dich nicht für dümmer als du bist +- Erfolgreiche Software Engineers sind klug, aber viele sind sich unsicher ob sie klug genug sind. - [The myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ) - [It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech](https://www.youtube.com/watch?v=1i8ylq4j_EY) - [Believe you can change](http://www.aaronsw.com/weblog/dweck) - [Think you're not smart enough to work at Google? Well, think again](https://www.youtube.com/watch?v=uPOJ1PR50ag) -## About Video Resources +## Über Videoquellen -Some videos are available only by enrolling in a Coursera or EdX class. These are called MOOCs. -Sometimes the classes are not in session so you have to wait a couple of months, so you have no access. - - I'd appreciate your help to add free and always-available public sources, such as YouTube videos to accompany the online course videos. - I like using university lectures. +Auf manche Videos kann man nur zugreifen indem man sich bei einem Coursera- oder EdX-Kurs einschreibt. Das sind so +genannte MOOCS. Manchmal werden die Kurse gerade nicht angeboten und man muss ein paar Monate warten. Man hat dann +keinen Zugriff darauf. + Ich würde mich sehr freuen wenn du mir dabei hilfst kostenlose und immer verfügbare öffentliche Quellen hinzuzufügen, + wie z.B. YouTube Videos um die Online Kurse zu ergänzen. + Ich benutze gerne Vorlesungen von Hochschulen. ## Interview Process & General Interview Prep @@ -381,10 +385,10 @@ If you have a better recommendation for C++, please let me know. Looking for a c - [Algorithms I](https://www.coursera.org/learn/algorithms-part1) - [Algorithms II](https://www.coursera.org/learn/algorithms-part2) -OR: +ODER: - [ ] [Data Structures and Algorithms in Java](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/) - - by Goodrich, Tamassia, Goldwasser + - von Goodrich, Tamassia, Goldwasser - used as optional text for CS intro course at UC Berkeley - see my book report on the Python version below. This book covers the same topics. @@ -396,7 +400,7 @@ OR: Python - [ ] [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/) - - by Goodrich, Tamassia, Goldwasser + - von Goodrich, Tamassia, Goldwasser - I loved this book. It covered everything and more. - Pythonic code - my glowing book report: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/ @@ -449,7 +453,7 @@ I keep a set of cheat sheets on ASCII, OSI stack, Big-O notations, and more. I s Take a break from programming problems for a half hour and go through your flashcards. -### 4. Focus +### 4. Fokus There are a lot of distractions that can take up valuable time. Focus and concentration are hard. @@ -459,7 +463,7 @@ These are prevalent technologies but not part of this study plan: - SQL - Javascript -- HTML, CSS, and other front-end technologies +- HTML, CSS, und andere Front-end Technologien ## The Daily Plan @@ -525,7 +529,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input - [ ] [Big O Notation (and Omega and Theta) - best mathematical explanation (video)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&index=2&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN) - [ ] Skiena: - [video](https://www.youtube.com/watch?v=gSyDMtdPNpU&index=2&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b) - - [slides](http://www3.cs.stonybrook.edu/~algorith/video-lectures/2007/lecture2.pdf) + - [Folien](http://www3.cs.stonybrook.edu/~algorith/video-lectures/2007/lecture2.pdf) - [ ] [A Gentle Introduction to Algorithm Complexity Analysis](http://discrete.gr/complexity/) - [ ] [Orders of Growth (video)](https://www.coursera.org/lecture/algorithmic-thinking-1/orders-of-growth-6PKkX) - [ ] [Asymptotics (video)](https://www.coursera.org/lecture/algorithmic-thinking-1/asymptotics-bXAtM) @@ -652,7 +656,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input - [ ] [(Advanced) Randomization: Universal & Perfect Hashing (video)](https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11) - [ ] [(Advanced) Perfect hashing (video)](https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4) - - [ ] Online Courses: + - [ ] Online Kurse: - [ ] [Understanding Hash Functions (video)](https://archive.org/details/0102WhatYouShouldKnow/06_02-understandingHashFunctions.mp4) - [ ] [Using Hash Tables (video)](https://archive.org/details/0102WhatYouShouldKnow/06_03-usingHashTables.mp4) - [ ] [Supporting Hashing (video)](https://archive.org/details/0102WhatYouShouldKnow/06_04-supportingHashing.mp4) @@ -993,7 +997,7 @@ Graphs can be used to represent many problems in computer science, so this secti - [ ] Object-Oriented Software Engineering: Software Dev Using UML and Java (21 videos): - Can skip this if you have a great grasp of OO and OO design practices. - [OOSE: Software Dev Using UML and Java (video)](https://www.youtube.com/playlist?list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO) - - [ ] SOLID OOP Principles: + - [ ] SOLID OOP Prinzipien: - [ ] [Bob Martin SOLID Principles of Object Oriented and Agile Design (video)](https://www.youtube.com/watch?v=TMuno5RZNeE) - [ ] [SOLID Principles (video)](https://www.youtube.com/playlist?list=PL4CE9F710017EA77A) - [ ] S - [Single Responsibility Principle](http://www.oodesign.com/single-responsibility-principle.html) | [Single responsibility to each Object](http://www.javacodegeeks.com/2011/11/solid-single-responsibility-principle.html) @@ -1226,7 +1230,7 @@ Graphs can be used to represent many problems in computer science, so this secti - simplicity and robustness - tradeoffs - performance analysis and optimization -- [ ] **START HERE**: [The System Design Primer](https://github.com/donnemartin/system-design-primer) +- [ ] **HIER ANFANGEN**: [The System Design Primer](https://github.com/donnemartin/system-design-primer) - [ ] [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/) @@ -1245,10 +1249,10 @@ Graphs can be used to represent many problems in computer science, so this secti - [ ] [Infographic](http://thesecretlivesofdata.com/raft/) - [ ] [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: +- [ ] Skalierbarkeit: - You don't need all of these. Just pick a few that interest you. - [ ] [Great overview (video)](https://www.youtube.com/watch?v=-W9F__D3oY4) - - [ ] Short series: + - [ ] Kurzreihen: - [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) @@ -1301,7 +1305,7 @@ Graphs can be used to represent many problems in computer science, so this secti - [Timelines at Scale](https://www.infoq.com/presentations/Twitter-Timeline-Scalability) - For even more, see "Mining Massive Datasets" video series in the [Video Series](#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: [The System Design Primer](https://github.com/donnemartin/system-design-primer) + - Review: [The System Design Primer](https://github.com/donnemartin/system-design-primer) - [System Design from HiredInTech](http://www.hiredintech.com/system-design/) - [cheat sheet](https://github.com/jwasham/coding-interview-university/blob/master/extras/cheat%20sheets/system-design.pdf) - flow: @@ -1615,7 +1619,7 @@ software engineer, and to be aware of certain technologies and algorithms, so yo - [ ] [Project = Markov Text Generation Walk Through](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through) - See more in MIT 6.050J Information and Entropy series below. -- ### Parity & Hamming Code (videos) +- ### Parität und Hamming Code (videos) - [ ] [Intro](https://www.youtube.com/watch?v=q-3BctoUpHE) - [ ] [Parity](https://www.youtube.com/watch?v=DdMcAUlxh1M) - [ ] Hamming Code: @@ -2033,7 +2037,7 @@ Sit back and enjoy. "Netflix and skill" :P - [ ] [Mining Massive Datasets - Stanford University (94 videos)](https://www.youtube.com/playlist?list=PLLssT5z_DsK9JDLcT8T62VtzwyW9LNepV) -- [ ] [Graph Theory by Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd) +- [ ] [Graph Theory von Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
@@ -2042,14 +2046,14 @@ Sit back and enjoy. "Netflix and skill" :P - [Directory of Online CS Courses](https://github.com/open-source-society/computer-science) - [Directory of CS Courses (many with online lectures)](https://github.com/prakhar1989/awesome-courses) -## Papers +## Paper
-Papers +Paper - [Love classic papers?](https://www.cs.cmu.edu/~crary/819-f09/) - [ ] [1978: Communicating Sequential Processes](http://spinroot.com/courses/summer/Papers/hoare_1978.pdf) - - [implemented in Go](https://godoc.org/github.com/thomas11/csp) + - [implementiert in Go](https://godoc.org/github.com/thomas11/csp) - [ ] [2003: The Google File System](http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf) - replaced by Colossus in 2012 - [ ] [2004: MapReduce: Simplified Data Processing on Large Clusters]( http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf) @@ -2063,7 +2067,7 @@ Sit back and enjoy. "Netflix and skill" :P - [ ] [2010: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](https://research.google.com/pubs/archive/36356.pdf) - [ ] [2010: Dremel: Interactive Analysis of Web-Scale Datasets](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36632.pdf) - [ ] [2012: Google's Colossus](https://www.wired.com/2012/07/google-colossus/) - - paper not available + - Paper nicht verfügbar - [ ] 2012: AddressSanitizer: A Fast Address Sanity Checker: - [paper](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf) - [video](https://www.usenix.org/conference/atc12/technical-sessions/presentation/serebryany) @@ -2079,6 +2083,6 @@ Sit back and enjoy. "Netflix and skill" :P
-## LICENSE +## Lizenz [CC-BY-SA-4.0](./LICENSE.txt)