Dev.lingo

C1 · Avanzado · 6 lecciones

Entrevista de system design en inglés

Aclarar requisitos, estimar en voz alta y defender una arquitectura. Estas son las frases, la gramática y los ejemplos que usarás de verdad, explicados en español.

Aclarar requisitos

Los mejores candidatos preguntan antes de diseñar.

Frases clave

InglésEspañol
Before I dive in, could I clarify a few requirements?Antes de meterme de lleno, ¿podría aclarar algunos requisitos?
Do you know roughly how many daily active users we expect?¿Sabes más o menos cuántos usuarios activos diarios esperamos?
Should I assume reads heavily outnumber writes?¿Asumo que las lecturas superan con creces a las escrituras?

Gramática · Preguntas indirectas

Could you tell me / Do you know + wh- / if + sujeto + verbo

Suenan más profesionales que las directas. El orden vuelve al de la afirmación: how many users we expect, no how many users do we expect.

Could you tell me how long the data needs to be kept?

¿Me podrías decir cuánto tiempo hay que guardar los datos?

💡 Should I assume…? te permite avanzar dejando claro que es una hipótesis.

Así lo dirías

Mark: Design a chat system like Slack. Where would you start?

Tú: Before I dive in, could I clarify a couple of things? Roughly how many users do we expect, and which features matter most for a first version?

En pregunta indirecta no se invierte: how many users there are. Y “could I clarify…” abre la conversación de forma profesional.

Estimar en voz alta

Cálculos aproximados explicados con claridad.

Frases clave

InglésEspañol
Assuming each URL takes about 500 bytes, that's 50 gigabytes a day.Si cada URL ocupa unos 500 bytes, son 50 gigas al día.
That works out to roughly 1,000 writes per second.Eso sale a unas 1.000 escrituras por segundo.
Let's round it up to keep the maths simple.Redondeemos hacia arriba para simplificar las cuentas.

Gramática · Estimaciones

Assuming (that)… · That works out to roughly… · round up / down

Declara la hipótesis, haz la cuenta y di el resultado aproximado. Lo que se evalúa es el razonamiento, no la precisión.

Assuming 10 million users, that works out to roughly 100 requests per second.

Si suponemos 10 millones de usuarios, sale a unas 100 peticiones por segundo.

💡 “Order of magnitude” = orden de magnitud: we're in the order of terabytes.

Así lo dirías

Mark: How many requests per second should we plan for?

Tú: Assuming 100 million requests a day, that works out to roughly 1,200 per second. Let's plan for peaks of three to four times that.

“100 million requests” sin of, y “per second”. Mencionar los picos demuestra criterio.

Ordenar tu razonamiento

Pon el foco en lo que importa.

Frases clave

InglésEspañol
What I'd do first is put a cache in front of the database.Lo primero que haría es poner una caché delante de la base de datos.
What really matters here is consistency.Lo que de verdad importa aquí es la consistencia.
It's the write path that worries me most.Lo que más me preocupa es el camino de escritura.

Gramática · Frases de énfasis (cleft sentences)

What I'd do is + verbo · What matters is + nombre · It's X that…

Separan la frase en dos para destacar una parte. Muy útiles para guiar al entrevistador.

What I'd optimise first is the read path.

Lo primero que optimizaría es el camino de lectura.

💡 What I'd do first is (to) add a cache: el to es opcional.

Así lo dirías

Mark: What's the most important part of this design?

Tú: What matters most here is the read path. Reads outnumber writes by a hundred to one, so that's where I'd focus.

“What matters most is…” estructura la respuesta. “Reads are very much” no es natural: outnumber.

Matizar las alternativas

Reconoce los costes de tu propia decisión.

Frases clave

InglésEspañol
That said, it adds operational overhead.Dicho esto, añade carga operativa.
It depends on whether we can tolerate stale reads.Depende de si podemos tolerar lecturas desactualizadas.
I'd lean towards eventual consistency here.Aquí me inclinaría por la consistencia eventual.

Gramática · Matizar

That said · Having said that · It depends on whether… · I'd lean towards…

Muestran que ves los dos lados. That said y having said that introducen el contrapunto de lo que acabas de decir.

Kafka would scale well. That said, I'd lean towards a simpler queue for now.

Kafka escalaría bien. Dicho esto, por ahora me inclinaría por una cola más simple.

💡 I'd lean towards = me inclinaría por (sin sonar categórico).

Así lo dirías

Mark: SQL or NoSQL for the message store? Defend your choice.

Tú: I'd lean towards a wide-column store like Cassandra, because writes are heavy and the access pattern is simple. That said, we'd lose easy joins, so analytics would need a separate pipeline.

“It depends” solo no responde. Elige (I'd lean towards), justifica y reconoce el coste (That said…).

Cuellos de botella

Habla de límites y de cómo escalaría el sistema.

Frases clave

InglésEspañol
The bottleneck would be the primary database.El cuello de botella sería la base de datos principal.
If traffic doubled, we'd need to add read replicas.Si el tráfico se duplicara, necesitaríamos réplicas de lectura.
If we'd partitioned the data earlier, we wouldn't have this problem now.Si hubiéramos particionado los datos antes, ahora no tendríamos este problema.

Gramática · Condicionales para escalar

if + pasado → would · mixto: if + had + participio → would + verbo (ahora)

Segundo condicional para escenarios hipotéticos. El mixto une una causa pasada con una consecuencia presente.

If we had chosen a queue, the API wouldn't be blocked now.

Si hubiéramos elegido una cola, la API no estaría bloqueada ahora.

💡 If we'd = if we had (no “if we would”).

Guía completa del Condicionales →

Así lo dirías

Mark: Where is the bottleneck in your design, and how would you deal with it?

Tú: The bottleneck would be the primary database. If our user base doubled, I'd add read replicas and move hot keys into a cache.

Para un escenario hipotético, segundo condicional: if… doubled, I'd add. Sin will detrás de if.

Diseña un acortador de URLs

Requisitos, estimación, diseño, cuellos de botella y cierre.

Frases clave

InglésEspañol
Let me summarise the design before we wrap up.Déjame resumir el diseño antes de terminar.
With more time, I'd look into analytics and rate limiting.Con más tiempo, miraría las analíticas y la limitación de peticiones.
The main risk is hot keys on popular links.El principal riesgo son las claves calientes en los enlaces populares.

Gramática · Cerrar la entrevista

Let me summarise… · With more time, I'd… · The main risk is…

Resume en tres frases, señala el principal riesgo y di qué harías después. Deja una impresión ordenada.

Let me summarise: a cache, a key-value store and async analytics. With more time, I'd add rate limiting.

Resumo: una caché, un almacén clave-valor y analíticas asíncronas. Con más tiempo, añadiría limitación de peticiones.

💡 Wrap up = terminar, cerrar una reunión o una conversación.

Así lo dirías

Mark: Give me a 30-second summary of your design.

Tú: To summarise: a stateless service generates short codes, a key-value store holds the mappings, and a cache handles the hot links. The main risk is hot keys, and with more time I'd add rate limiting.

Estructura el resumen y menciona un riesgo. “Scales well”, no “scales good”.

Gramática relacionada