El cliente resuelve el nombre por DNS, abre una conexión TCP a la dirección resuelta o reutiliza una existente, y luego completa un handshake TLS que valida el certificado del servidor y acuerda las claves de sesión. La petición cifrada viaja por balanceadores y proxies hasta tu aplicación, que la atiende y escribe una respuesta de vuelta por la misma conexión. El keep alive y la multiplexación de HTTP/2 permiten que las peticiones siguientes se salten casi toda la preparación.
Por qué lo preguntan los entrevistadores
Esta es una pregunta de amplitud, y el entrevistador seguirá tu respuesta hasta la capa en la que suenes menos seguro. Las buenas respuestas se mueven con limpieza por DNS, transporte, TLS y la cadena de proxies, y señalan de dónde vienen de verdad la latencia y los fallos, que suele ser el establecimiento de la conexión, un DNS cacheado obsoleto, o algo en medio terminando TLS y reescribiendo cabeceras.
Cómo estructurar tu respuesta
- Ve capa a capa: DNS, TCP, TLS, HTTP, aplicación.
- Di qué demuestra el handshake TLS y qué acuerda.
- Menciona la cadena de proxy o balanceador delante de la aplicación.
- Señala dónde la reutilización de conexiones elimina casi todo el coste.
Ejemplo de respuesta
Primero el cliente necesita una dirección, así que mira su propia caché, luego el resolver del sistema operativo, luego un resolver recursivo, y recibe una IP con un tiempo de vida. Después un handshake TCP a esa dirección, salvo que ya haya una conexión abierta en el pool, que normalmente la hay. Después TLS: el servidor presenta una cadena de certificados, el cliente la valida contra su almacén de confianza y comprueba que el nombre coincide, y acuerdan claves de sesión. Con TLS 1.3 eso es un viaje de ida y vuelta, o cero en una sesión reanudada. La petición sale cifrada, y en la práctica llega primero a una CDN o a un balanceador, que normalmente termina TLS y abre su propia conexión a mi servicio. Mi aplicación la atiende y la respuesta vuelve por el mismo camino. La razón por la que me importa la secuencia es la latencia: en móvil la primera petición paga DNS más TCP más TLS antes de que se ejecute un solo byte de mi código, así que reutilizar conexiones suele ser la mayor ganancia disponible.
¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.
Mira cómo funcionaPreguntas de seguimiento que puedes esperar
- ¿Qué cambia si el balanceador termina TLS?
- ¿Cómo depurarías un error de certificado que solo ves desde un cliente?
- ¿Qué arregla la multiplexación de HTTP/2 que no arreglaba el keep alive?
Más preguntas para Ingeniero de software
Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.
Predecir mis preguntas