Una pregunta útil JavaScript debe revelar un modelo mental, no recompensar una frase memorizada. Use estos grupos para practicar explicando lo que sucede, por qué sucede, y cómo lo verificaría.
Comportamiento del idioma
- ¿Cómo afecta el alcance léxico y la cadena de alcance a un cierre?
- ¿Cuándo depende `this` del lugar desde el que se llama y cuándo no?
- ¿Qué errores prácticos pueden introducir coacción implícita?
- ¿Cómo apoyan los prototipos a la delegación?
- ¿Qué cambios cuando se evalúa un módulo más de una vez?
- ¿Cómo afectan los descriptores de propiedades a una API?
- ¿Cuándo sería útil un símbolo?
- ¿Cómo difieren las copias superficiales y profundas?
- ¿Qué hace que dos valores sean iguales en diferentes operaciones de igualdad?
- ¿Cómo explicarías las zonas muertas temporales?
Async JavaScript y el navegador
- Describe una iteración del bucle de eventos que incluya una tarea y microtareas en cola.
- ¿Cómo puede una UI cancelar una solicitud que ya no es relevante?
- ¿Qué causa un rechazo de la promesa sin manejar?
- ¿Cómo limitarías la concurrencia para un lote de solicitudes?
- ¿Cómo pueden compartir dos llamadas una solicitud en vuelo?
- ¿Cuándo es `Promise.allSettled` más útil que `Promise.all`?
- ¿Cómo evitas que las respuestas desactualizadas sustituyan a los datos recientes?
- ¿Qué debe pasar con una entrada de caché después de que el cargador rechace?
- ¿Cómo se comportan los temporeros en una pestaña inactiva?
- ¿Dónde puede aparecer la retropresión en un sistema de frontend?
Aplicación y verificación
- Ejecutar el debounce con cancelación.
- Implementar el acelerador y explicar su comportamiento líder y persistente.
- Crea un emisor de eventos que permita cancelar las suscripciones.
- Construir un caché de solicitud con TTL y deduplicación en vuelo.
- Datos anidados aplanados sin mutar la entrada.
- Escribe un ayudante de reingreso con una política de parada explícita.
- Implementar un pequeño programador de tareas con un límite de concurrencia.
- Normalizar los datos del servidor en un mapa de entidad.
- Crear un ayudante de memoización y describir sus límites de invalidación.
- Pruebas de diseño para una función que depende del tiempo.
Debate de alto nivel
- ¿Dónde debería la validación de tiempo de ejecución sentarse en un frontend tipo?
- ¿Cómo evolucionas una API compartida de clientes sin romper consumidores?
- ¿Qué debe ser observable en una capa de solicitud?
- ¿Cómo investigaría una larga tarea en producción?
- ¿Cuándo se justifica un trabajador web?
- ¿Cómo afectan los límites del paquete el comportamiento del tiempo de ejecución?
- ¿Cómo diseñarías una degradación controlada?
- ¿Qué supuestos de seguridad nunca deben vivir sólo en el código del cliente?
- ¿Cómo se hace que el manejo de errores sea consistente sin contexto de ocultación?
- ¿Qué restricciones del navegador cambiaría su arquitectura?
Cómo practicar las preguntas
- Respuesta en tres pases: mecanismo, ejemplo concreto y desvío.
- Escriba código sólo después de indicar el contrato y los casos de borde importantes.
- Verifique un caso de éxito, un caso de límite y un camino de fracaso.
- Grabar explicaciones débiles como temas de práctica en lugar de memorizar scripts más largos.
- Terminar nombrando qué evidencia cambiaría tu decisión.
Fuentes primarias
Revisión editorial
Las afirmaciones sobre el producto se han contrastado con su funcionamiento actual. ¿Has encontrado un problema? Envía una corrección.