diff --git a/translations/es/README.md b/translations/es/README.md index 874733e..e9cc114 100644 --- a/translations/es/README.md +++ b/translations/es/README.md @@ -828,7 +828,7 @@ Los grafos pueden ser usados para representar muchos problemas en las Ciencias d - Lista adyacente - Mapa adyacente - Familiarícese con cada representación y sus pros y contras - - BFS and DFS – Conozca su complejidad computacional, sus tradeoffs y cómo implementarlos en código real + - BFS and DFS – Conozca su complejidad computacional, sus compromisos y cómo implementarlos en código real - Cuando se le haga una pregunta busqué una solución basada en grafos, si no encuentra continúe. - [ ] Lecturas de Skiena – Gran introducción): @@ -1159,30 +1159,28 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros - [ ] [Socket Programming (video)](https://www.youtube.com/watch?v=G75vN2mnJeQ) ## Diseño del Sistema, Escalabilidad, Manejo de Datos -- **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: - - 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**: [The System Design Primer](https://github.com/donnemartin/system-design-primer) +- ** Puede esperar preguntas sobre el diseño del sistema si tiene más de 4 años de experiencia.** +- La escalabilidad y el diseño del sistema son temas muy extensos con muchos temas y recursos, ya que hay mucho que considerar al diseñar un sistema de software / hardware que puede escalar. Espere dedicarle un buen tiempo a esto. +- Consideraciones: + - Escalabilidad + - Destilar conjuntos de datos grandes a valores únicos + - Transformar un conjunto de datos en otro + - Manejo de cantidades de datos obscenamente grandes + - Diseño de sistemas + - Conjuntos de características + - Interfaces + - Jerarquías de clases + - Diseñar un sistema bajo ciertas restricciones + - Simplicidad y robustez + - Compromisos + - Análisis y optimización del rendimiento +- [ ] **EMPIECE AQUI**: [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/) - [ ] [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. +- [ ] [System Design Interview](https://github.com/checkcheckzz/system-design-interview) - Hay muchos recursos en este. Mire los articulos y sus ejemplos. Pondré Algunos debajo. - [ ] [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) @@ -1250,31 +1248,31 @@ Obtendrá más práctica de grafos en el libro de Skiena (vea Sección de libros - [ ] 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: [The System Design Primer](https://github.com/donnemartin/system-design-primer) + - Para aún más, vea la serie de videos "Mining Massive Datasets" en la sección de Series de video. +- [ ] Practicando el proceso de diseño del sistema: Aquí hay algunas ideas para tratar de trabajar en papel, cada una con cierta documentación sobre cómo se manejó en el mundo real: + - Revisión: [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: - 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: + - Flujo: + 1. Comprender el problema y el alcance: + - Definir los casos de uso, con ayuda del entrevistador + - Sugerir características adicionales + - Eliminar elementos que el entrevistador considera fuera de alcance + - Asumir alta disponibilidad es necesario, añadir como un caso de uso + 2. Piense en las limitaciones: + - Preguntar cuántas solicitudes por mes + - Preguntar cuántas solicitudes por segundo (que pueden ser voluntario o hacer que usted haga las matemáticas) + - Lectura de estimación vs. Escribir porcentajes + - Tenga en cuenta la regla 80/20 al estimar + - La cantidad de datos escritos por segundo + - Almacenamiento total requerido durante 5 años + - La cantidad de datos leídos por segundo + 3. Diseño abstracto: + - Capas (servicio, datos, almacenamiento en caché) + - Infraestructura: balanceo de carga, mensajería + - Descripción aproximada de cualquier algoritmo clave que impulsa el servicio + - Considerar los cuellos de botella y determinar las soluciones + - Ejercicios: - [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)