Scalability and System Design
This commit is contained in:
parent
57c6b0de1d
commit
5ad9e06a30
@ -828,7 +828,7 @@ Los grafos pueden ser usados para representar muchos problemas en las Ciencias d
|
|||||||
- Lista adyacente
|
- Lista adyacente
|
||||||
- Mapa adyacente
|
- Mapa adyacente
|
||||||
- Familiarícese con cada representación y sus pros y contras
|
- 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.
|
- Cuando se le haga una pregunta busqué una solución basada en grafos, si no encuentra continúe.
|
||||||
|
|
||||||
- [ ] Lecturas de Skiena – Gran introducción):
|
- [ ] 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)
|
- [ ] [Socket Programming (video)](https://www.youtube.com/watch?v=G75vN2mnJeQ)
|
||||||
|
|
||||||
## Diseño del Sistema, Escalabilidad, Manejo de Datos
|
## Diseño del Sistema, Escalabilidad, Manejo de Datos
|
||||||
- **You can expect system design questions if you have 4+ years of experience.**
|
- ** Puede esperar preguntas sobre el diseño del sistema si tiene más de 4 años de experiencia.**
|
||||||
- Scalability and System Design are very large topics with many topics and resources, since
|
- 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.
|
||||||
there is a lot to consider when designing a software/hardware system that can scale.
|
- Consideraciones:
|
||||||
Expect to spend quite a bit of time on this.
|
- Escalabilidad
|
||||||
- Considerations:
|
- Destilar conjuntos de datos grandes a valores únicos
|
||||||
- scalability
|
- Transformar un conjunto de datos en otro
|
||||||
- Distill large data sets to single values
|
- Manejo de cantidades de datos obscenamente grandes
|
||||||
- Transform one data set to another
|
- Diseño de sistemas
|
||||||
- Handling obscenely large amounts of data
|
- Conjuntos de características
|
||||||
- system design
|
- Interfaces
|
||||||
- features sets
|
- Jerarquías de clases
|
||||||
- interfaces
|
- Diseñar un sistema bajo ciertas restricciones
|
||||||
- class hierarchies
|
- Simplicidad y robustez
|
||||||
- designing a system under certain constraints
|
- Compromisos
|
||||||
- simplicity and robustness
|
- Análisis y optimización del rendimiento
|
||||||
- tradeoffs
|
- [ ] **EMPIECE AQUI**: [The System Design Primer](https://github.com/donnemartin/system-design-primer)
|
||||||
- performance analysis and optimization
|
|
||||||
- [ ] **START HERE**: [The System Design Primer](https://github.com/donnemartin/system-design-primer)
|
|
||||||
- [ ] [System Design from HiredInTech](http://www.hiredintech.com/system-design/)
|
- [ ] [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)
|
- [ ] [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/)
|
- [ ] [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/)
|
- [ ] [Algorithm design](http://www.hiredintech.com/algorithm-design/)
|
||||||
- [ ] [Database Normalization - 1NF, 2NF, 3NF and 4NF (video)](https://www.youtube.com/watch?v=UrYLYV7WSHM)
|
- [ ] [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/)
|
- [ ] [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/)
|
- [ ] [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)
|
- [ ] [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:
|
- [ ] Twitter:
|
||||||
- [O'Reilly MySQL CE 2011: Jeremy Cole, "Big and Small Data at @Twitter" (video)](https://www.youtube.com/watch?v=5cKTP36HVgI)
|
- [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)
|
- [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.
|
- Para aún más, vea la serie de videos "Mining Massive Datasets" en la sección de Series de video.
|
||||||
- [ ] 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:
|
- [ ] 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:
|
||||||
- review: [The System Design Primer](https://github.com/donnemartin/system-design-primer)
|
- Revisión: [The System Design Primer](https://github.com/donnemartin/system-design-primer)
|
||||||
- [System Design from HiredInTech](http://www.hiredintech.com/system-design/)
|
- [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)
|
- [cheat sheet](https://github.com/jwasham/coding-interview-university/blob/master/extras/cheat%20sheets/system-design.pdf)
|
||||||
- flow:
|
- Flujo:
|
||||||
1. Understand the problem and scope:
|
1. Comprender el problema y el alcance:
|
||||||
- define the use cases, with interviewer's help
|
- Definir los casos de uso, con ayuda del entrevistador
|
||||||
- suggest additional features
|
- Sugerir características adicionales
|
||||||
- remove items that interviewer deems out of scope
|
- Eliminar elementos que el entrevistador considera fuera de alcance
|
||||||
- assume high availability is required, add as a use case
|
- Asumir alta disponibilidad es necesario, añadir como un caso de uso
|
||||||
2. Think about constraints:
|
2. Piense en las limitaciones:
|
||||||
- ask how many requests per month
|
- Preguntar cuántas solicitudes por mes
|
||||||
- ask how many requests per second (they may volunteer it or make you do the math)
|
- Preguntar cuántas solicitudes por segundo (que pueden ser voluntario o hacer que usted haga las matemáticas)
|
||||||
- estimate reads vs. writes percentage
|
- Lectura de estimación vs. Escribir porcentajes
|
||||||
- keep 80/20 rule in mind when estimating
|
- Tenga en cuenta la regla 80/20 al estimar
|
||||||
- how much data written per second
|
- La cantidad de datos escritos por segundo
|
||||||
- total storage required over 5 years
|
- Almacenamiento total requerido durante 5 años
|
||||||
- how much data read per second
|
- La cantidad de datos leídos por segundo
|
||||||
3. Abstract design:
|
3. Diseño abstracto:
|
||||||
- layers (service, data, caching)
|
- Capas (servicio, datos, almacenamiento en caché)
|
||||||
- infrastructure: load balancing, messaging
|
- Infraestructura: balanceo de carga, mensajería
|
||||||
- rough overview of any key algorithm that drives the service
|
- Descripción aproximada de cualquier algoritmo clave que impulsa el servicio
|
||||||
- consider bottlenecks and determine solutions
|
- Considerar los cuellos de botella y determinar las soluciones
|
||||||
- Exercises:
|
- Ejercicios:
|
||||||
- [Design a CDN network: old article](http://repository.cmu.edu/cgi/viewcontent.cgi?article=2112&context=compsci)
|
- [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 a random unique ID generation system](https://blog.twitter.com/2010/announcing-snowflake)
|
||||||
- [Design an online multiplayer card game](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)
|
- [Design an online multiplayer card game](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user