Lingua-e
← Volver

Inglés para entrevistas técnicas

10 Preguntas de Entrevistas Técnicas que Todo Developer Debe Saber Responder en Inglés

20 de junio de 2026

Ya sabes los conceptos. El desafío es explicarlos con claridad, usar el vocabulario correcto y sonar seguro mientras piensas en voz alta. Esta guía te da las respuestas de ejemplo y el vocabulario que necesitas.

Las entrevistas técnicas en empresas internacionales se hacen completamente en inglés. El desafío no es solo saber la respuesta. Es poder explicarla con claridad, usar el vocabulario correcto y sonar seguro mientras piensas en voz alta.

Este artículo te da 10 de las preguntas técnicas más comunes, con respuestas de ejemplo y el vocabulario que necesitas. Para cada pregunta, verás qué busca realmente el entrevistador, no solo una definición.

10 Technical Interview Questions With Example Answers

10 preguntas de entrevistas técnicas con respuestas de ejemplo

1 / 10

What is a database index?

Qué buscan realmente

Quieren saber que entiendes el tradeoff, no solo la definición. Las lecturas más rápidas tienen un coste: escrituras más lentas y más almacenamiento. Menciona eso.

Respuesta de ejemplo

An index is a data structure that makes queries faster by letting the database jump directly to the relevant rows instead of scanning the whole table. The most common type is a B-tree index. The tradeoff is that indexes take up extra storage and slow down writes, because the index has to be updated every time a row changes. You want to index columns you frequently filter or join on, and avoid indexing every column. For high-cardinality columns used in WHERE clauses, a single-column index works well. When you filter on multiple columns together, a composite index can be more efficient.

Vocabulario clave

TérminoDefinición
indexA data structure that speeds up lookups by avoiding a full table scan.
full table scanWhen the database reads every row to find a match. Slow on large tables.
B-treeThe most common index structure. Keeps data sorted for fast range queries.
composite indexAn index on two or more columns.
overheadExtra cost in storage or performance caused by a feature.
tradeoffA situation where gaining one thing costs something else.
queryA request for data from a database.
lookupFinding a specific record in a dataset.

2 / 10

You are building a new product. Would you choose a monolith or microservices?

Qué buscan realmente

No hay una respuesta universalmente correcta. Quieren ver que puedes razonar sobre tradeoffs, no solo recitar buzzwords. Reconoce que el contexto importa.

Respuesta de ejemplo

It depends on where you are in the product lifecycle. For a new product with a small team, I would start with a monolith. It is simpler to deploy, easier to debug, and lets you move fast before you fully understand the domain. Premature decomposition into microservices adds operational complexity before you have the scale to justify it. That said, if the team is large and different parts of the system need to scale independently, microservices make sense. The key signals I would look for are: team size, deployment independence requirements, and whether different components have very different scaling needs. I have seen teams go microservices-first and spend most of their time managing infrastructure rather than building product.

Vocabulario clave

TérminoDefinición
monolithA single deployable unit containing all the application logic.
microservicesAn architecture where the system is split into independent services that communicate over a network.
couplingHow dependent components are on each other. High coupling makes changes harder.
distributed systemA system where components run on different machines and communicate over a network.
operational complexityThe work needed to deploy, monitor, and maintain a system.
latencyThe time it takes for a request to travel and get a response.
deploymentThe process of releasing code to a running environment.
overheadExtra cost introduced by a design decision or infrastructure layer.

3 / 10

What can go wrong when caching?

Qué buscan realmente

Quieren escuchar que has pensado más allá de 'caché igual a más rápido'. La caché en el mundo real tiene modos de fallo. Nombra al menos tres.

Respuesta de ejemplo

A few things can go wrong. The most common is stale data: the cache holds an old value after the source has been updated, and users see incorrect information. Deciding when to invalidate the cache is notoriously hard because it depends on how frequently data changes and how much staleness you can tolerate. Another issue is a cache stampede, sometimes called a thundering herd: the cache expires and hundreds of requests hit the database simultaneously before it is repopulated. You can address this with locking or probabilistic early expiration. A third issue is cold start: when the cache is empty, for example after a restart, all requests fall through to the database until the cache warms up, which can spike your database load. Finally, there is consistency: in a distributed system with multiple cache nodes, keeping all of them in sync adds another layer of complexity.

Vocabulario clave

TérminoDefinición
cache invalidationThe process of removing or updating a cached value when the source changes.
stale dataData in the cache that no longer matches the source of truth.
cache stampedeWhen many requests hit the database at the same time because the cache expired. Also called thundering herd.
cold startWhen the cache is empty and all requests must go to the database until it fills up.
TTLTime to live. How long a cached value is kept before it expires.
eviction policyThe rule for deciding which cached items to remove when the cache is full.
cache missWhen a request cannot be served from the cache and must go to the source.
consistencyThe property that all parts of a system see the same data at the same time.

4 / 10

Two users click Buy at the same time. How do you handle it?

Qué buscan realmente

Quieren ver que entiendes las race conditions a nivel de base de datos, no solo en el código de la aplicación. Menciona transacciones y una estrategia de bloqueo.

Respuesta de ejemplo

This is a classic race condition. Both users read the available quantity as 1, both decide they can proceed, and both write a purchase, leaving the quantity at -1. There are two common solutions. The first is optimistic locking: you add a version field to the inventory row. When you update, you check that the version has not changed since you read it. If it has, the transaction fails and you retry. This works well when conflicts are rare. The second is pessimistic locking: you lock the row with SELECT FOR UPDATE when you read it, so no other transaction can read or write it until you commit. This is safer but blocks concurrent users. Both approaches wrap the operation in a database transaction to make it atomic. I would lean toward optimistic locking for most e-commerce use cases because conflicts are infrequent.

Vocabulario clave

TérminoDefinición
race conditionA bug where two operations interfere because they happen at the same time.
concurrencyMultiple operations happening at the same time.
optimistic lockingA strategy that assumes conflicts are rare and checks for them only at commit time.
pessimistic lockingA strategy that prevents conflicts by locking a resource as soon as it is read.
transactionA database operation that is treated as a single unit: all or nothing.
atomic operationAn operation that completes fully or not at all, with no partial state visible.
isolation levelA setting that controls how much transactions are isolated from each other.
idempotencyThe property where performing an operation multiple times gives the same result as doing it once.

5 / 10

A service handles 100 requests per day. Now it needs to handle 1 million. What changes?

Qué buscan realmente

Quieren ver que piensas de forma sistemática sobre el escalado. Horizontal vs vertical. Dónde están los cuellos de botella. Qué abordarías primero.

Respuesta de ejemplo

The first thing I would do is identify the bottleneck, because the right answer depends on where the pressure is. For the application tier, the first step is making it stateless so you can run multiple instances behind a load balancer. At 1 million requests per day, horizontal scaling with a few app servers should handle the compute. The bigger risk is usually the database. I would look at adding a caching layer in front of it to absorb read traffic, adding read replicas for read-heavy queries, and reviewing connection pooling settings. If there are long-running operations like email sending or report generation, I would move those to an async queue so they do not block the request-response cycle. At this scale you also want to review your indexes and make sure you are not doing full table scans. Vertical scaling, adding more CPU or RAM to a single server, is often a quick fix but hits a ceiling. Horizontal scaling is the more sustainable path.

Vocabulario clave

TérminoDefinición
horizontal scalingAdding more servers or instances to handle more load.
vertical scalingAdding more resources (CPU, RAM) to a single server.
load balancerA component that distributes incoming requests across multiple servers.
statelessAn application that does not store session data on the server, making it easy to scale horizontally.
bottleneckThe component that limits the overall throughput of the system.
connection poolA set of reusable database connections that avoids the overhead of opening a new connection for every request.
throughputThe number of requests a system can process per unit of time.
queueA component that holds tasks to be processed asynchronously.

6 / 10

What should be unit tested vs integration tested vs end-to-end tested?

Qué buscan realmente

Quieren ver que entiendes la pirámide de testing y puedes tomar decisiones pragmáticas, no solo recitar los nombres de los tres niveles.

Respuesta de ejemplo

I think of it as a pyramid. Unit tests are at the bottom: fast, isolated, and there should be a lot of them. They test individual functions or classes with all dependencies mocked or stubbed. I use them for business logic that has clear inputs and outputs. Integration tests sit in the middle: they test how components interact, like a service hitting a real database or calling a real external API. They are slower and there are fewer of them, but they catch bugs that unit tests miss because they test real boundaries. End-to-end tests are at the top: they simulate a real user in a real browser, going through a complete flow. They are the most expensive to write and the most likely to be flaky, so I keep them for the critical paths only, like checkout or login. The key principle is to test at the lowest level that gives you confidence.

Vocabulario clave

TérminoDefinición
unit testA test that covers a single function or class in isolation.
integration testA test that covers how two or more components interact.
end-to-end test (e2e)A test that simulates a real user going through a complete flow in the browser.
test pyramidThe principle that you should have many unit tests, fewer integration tests, and even fewer e2e tests.
mockA fake object that replaces a dependency in a test.
stubA simplified version of a dependency that returns a fixed response.
flaky testA test that sometimes passes and sometimes fails without code changes.
regressionA bug that reappears after being fixed, or a new bug introduced by a change.

7 / 10

How would you design a URL shortener?

Qué buscan realmente

Quieren ver pensamiento estructurado. Primero haz preguntas de aclaración. Identifica el modelo de datos, luego la API, luego el escalado. Un proceso claro importa más que una respuesta perfecta.

Respuesta de ejemplo

Before I design anything, I would ask a few clarifying questions. Is this for public use or internal? How many URLs per day? Do we need analytics? For a public service handling millions of URLs, here is how I would approach it. The core data model is simple: a table with the original URL and a short code, with the short code as the primary key. To generate the short code, I can either use a hash of the URL or generate a random ID. For the API: POST a long URL, get back a short URL. GET the short URL, redirect to the original. For scaling: the redirect path is read-heavy, so a cache in front of the database is critical. The database write happens once, but the read can happen millions of times. I would cache the mapping in something like Redis with a long TTL since URLs rarely change. For storage, even a billion URLs would fit in a few hundred gigabytes. The main scaling challenge is handling the redirect traffic at low latency.

Vocabulario clave

TérminoDefinición
data modelThe structure of the data: tables, fields, and relationships.
schemaThe formal definition of a database structure.
read-heavyA system where reads far outnumber writes.
write-heavyA system where writes are the dominant operation.
CDNContent Delivery Network. A network of servers that serves content from locations close to users.
throughputThe number of operations a system can handle per unit of time.
API designThe process of defining the endpoints, request formats, and responses of an API.
requirementsThe specifications that define what a system must do.

8 / 10

Tell me about a difficult bug you solved.

Qué buscan realmente

Les importa tu proceso de depuración y cómo te comunicas bajo presión. Usa el método STAR. Enfatiza la investigación, no solo la solución.

Respuesta de ejemplo

In my previous role, we had an intermittent bug where certain users were seeing duplicate records in their transaction history. It only happened in production and we could not reproduce it in staging. I started by adding more detailed logging around the write path to capture the exact timing of operations. After a few days, I noticed the duplicates always had timestamps within a few milliseconds of each other, which pointed to a race condition. I traced it to a retry mechanism in our payment service that was re-sending a request when it did not receive a response in time, but the original request had actually succeeded. The fix was to make the endpoint idempotent by adding a unique request ID and checking for it before processing. I also added a postmortem doc so the team understood why idempotency matters for payment operations.

Vocabulario clave

TérminoDefinición
reproduceTo make a bug happen again so you can study it.
root causeThe underlying reason a bug occurred, not just the symptom.
stack traceA list of function calls that shows where an error occurred.
logA record of events that happened in a system, used for debugging.
race conditionA bug caused by two operations happening at the same time in an unexpected order.
edge caseAn unusual input or situation that reveals a bug.
hotfixA fix deployed urgently to address a critical bug in production.
postmortemA document written after an incident to analyze what happened and how to prevent it.

9 / 10

How would you approach a bug that is hard to reproduce?

Qué buscan realmente

Quieren ver pensamiento metódico ante la incertidumbre. Ningún entrevistador espera una solución mágica. Quieren ver un proceso.

Respuesta de ejemplo

My first step is always to add more observability: logging, metrics, or traces around the area where the bug seems to be happening. If I cannot reproduce it locally, I try to understand when it occurs. Is it time-based? Load-based? Specific to certain users or data? That pattern usually narrows down the cause. I then try to reproduce it in a staging environment with conditions that match production as closely as possible. If the bug started appearing after a recent change, I would look at the git history and narrow down which commit introduced it. For truly intermittent bugs, I look for anything that introduces non-determinism: concurrent operations, network timeouts, environment-specific configuration. The goal is to form a hypothesis and then design an experiment to confirm or rule it out.

Vocabulario clave

TérminoDefinición
intermittentHappening only sometimes, not consistently. Used to describe bugs that are hard to reproduce.
flakyInformally: unreliable. Used for tests or bugs that occur unpredictably.
telemetryData collected from a running system: logs, metrics, traces.
hypothesisA proposed explanation for why a bug is occurring.
isolateTo separate a component or variable to test it independently.
narrow downTo reduce the number of possible causes by eliminating options.
environment-specificA bug or behavior that only appears in a specific environment (e.g. production but not staging).
reproduceTo make a bug happen again under controlled conditions.

10 / 10

Explain the difference between mutable and immutable in Python.

Qué buscan realmente

Quieren ver que entiendes referencias vs valores y las implicaciones prácticas. Puntos extra por mencionar el error típico de los argumentos por defecto mutables.

Respuesta de ejemplo

A mutable object can be changed after it is created. A list is mutable: you can append, remove, or change elements in place. An immutable object cannot be changed. A string or a tuple is immutable: any operation that looks like it modifies a string actually creates a new one. The practical implication is that when you pass a mutable object to a function, the function can change the original, which can cause side effects that are hard to track. The most common gotcha is using a mutable object as a default argument in a function definition. For example, defining a function with a default argument of an empty list: def add_item(item, lst=[]) means that lst is created once when the function is defined and reused across calls. If you call add_item twice, the second call sees the list from the first call. The fix is to use None as the default and create the list inside the function.

Vocabulario clave

TérminoDefinición
mutableCan be changed after creation. Examples: list, dict, set.
immutableCannot be changed after creation. Examples: str, int, tuple.
referenceA pointer to an object in memory. Assigning a mutable object to a variable gives you a reference, not a copy.
in-placeModifying an object directly without creating a new one.
side effectA change to state outside the scope of a function, caused by the function.
default argumentA value assigned to a function parameter if no argument is passed by the caller.
tupleAn immutable ordered sequence in Python. Similar to a list but cannot be changed.
dictionaryA mutable mapping of keys to values in Python.

How to Structure Your Answer When You Are Not Sure

Cómo estructurar tu respuesta cuando no estás seguro

No siempre vas a conocer la respuesta perfecta. Así es como puedes sonar seguro y estructurado incluso cuando estás pensando en voz alta:

  • 1

    Empieza reformulando lo que entiendes: 'So what you are asking is...'

  • 2

    Di lo que sí sabes antes de abordar lo que no estás seguro.

  • 3

    Razona los tradeoffs en voz alta: 'The advantage of X is... but the downside is...'

  • 4

    Si no sabes algo, dilo directamente y ofrece lo que sí sabes: 'I have not worked with X in depth, but based on what I know about Y, I would expect...'

  • 5

    Cierra tu respuesta con claridad: 'Does that answer your question? I am happy to go deeper on any part.'

Artículos relacionados

¿Listo para practicar tu inglés en el trabajo?

Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.

Prueba Lingua-e gratis
Roxana Lafuente

Escrito por

Roxana Lafuente

Fundadora de Lingua-e

Roxana Lafuente es ingeniera de software con más de 8 años de experiencia. Al comienzo de su carrera, aunque ya había aprobado el First Certificate in English, se bloqueaba cada vez que tenía que hablar en el standup diario. Era un problema que nadie estaba resolviendo. Después de más de 2.000 standups, descubrió qué es lo que realmente construye la fluidez: practicar situaciones que se parecen a tu trabajo real. Creó Lingua-e para que otros developers no tuvieran que tomar el camino largo para sentirse seguros trabajando en un entorno de desarrollo internacional.