Frontend
Tenemos una gran aplicación y un equipo de 4 desarrolladores frontend. ¿Cómo tomar la decisión de dividir en microfrontends o no?
¿Cuál era la arquitectura antes de FSD? ¿Por qué eligieron específicamente FSD y no otros enfoques?
¿Qué es la accesibilidad en la web? ¿Qué atributos y elementos HTML se utilizan para garantizar la accesibilidad?
¿Qué es un Nodo React Fiber, qué tipo de objeto es y qué contiene?
Implemente un envoltorio sobre fetch con reintentos: acepta la cantidad de reintentos y los argumentos de fetch, devuelve el mismo resultado que fetch, y después de agotar los intentos lanza el último error.
¿Qué ocurrirá si en lugar de una clase se usa un objeto normal con los mismos métodos (sin modo estricto)?
¿Por qué eligieron GraphQL en el proyecto?
Tipos de datos de referencia y primitivos en JavaScript: en qué se diferencian, enuméralos.
Describa la estructura del diseño del sistema: cliente, DNS, servidores, balanceador de carga, base de datos, almacenamiento S3, CDN, almacenamiento en caché (Redis).
Hoy vamos a diseñar un mensajero. Revise el diseño de la interfaz y los requisitos funcionales. Es necesario recopilar los requisitos no funcionales, discutir la pila técnica, los componentes y servicios del frontend, los modelos de datos, las API y la arquitectura general del sistema.
¿Puedes explicar cómo funciona el recolector de basura en JavaScript?
¿Cómo le explicarías a un junior cuándo usar Flexbox y cuándo Grid?
En TypeScript, ¿cuál es la diferencia práctica entre `interface` y `type`, y cuándo preferirías uno sobre el otro?
Cuéntame sobre tu experiencia laboral y los proyectos en los que has trabajado.
¿Cómo plantear correctamente una tarea a un agente de IA para refactorizar un componente heredado?
¿Con qué gestores de estado ha tenido que trabajar y qué le gusta, qué ventajas y desventajas ve?
/** * Dado un array. Es necesario ordenar los números impares por valor en orden ascendente, * y dejar los pares en sus lugares originales * / export function oddSort(numbers) { // tu código aquí } console.log(oddSort([2, 3, 7, 4, 6, 1, 5, 8, 9])); // [2, 1, 3, 4, 6, 5, 7, 8, 9] console.log(oddSort([2, 4, 6, 8])); // [2, 4, 6, 8] console.log(oddSort([3, 7, 1, 5, 9])); // [1, 3, 5, 7, 9] // Es necesario verificar la solución del problema en dos servicios, llamando a: // 1. checkResult(url1, solution) // 2. checkResult(url2, solution) // // checkResult: (url: string, solution: string | number) => Promise<boolean>; // // - Si ambas solicitudes devuelven true, imprimir en console.log() success // - Si alguna devuelve false, imprimir en console.log() fail // - Si alguna no responde, imprimir en console.log() error // - Si alguna responde en más de 1 segundo, imprimir en console.log() timeout import { checkResult } from '...'; export async function checkResults() { const solution = 'Any answer'; const url1 = 'yandex.ru'; const url2 = 'google.com'; checkResult(url1, solution); checkResult(url2, solution); }
¿Con qué frecuencia ha tenido que enfrentarse a desarrolladores de backend? ¿Y alguna vez ha tenido que diseñar servicios de backend por sí misma?
setTimeout(function timeout() { console.log('Timeout'); }, 0); let p = new Promise(function(resolve, reject) { console.log('Creando promesa'); resolve(); }); p.then(function(){ console.log('Procesando promesa'); }); console.log('Fin del script'); // Caso complicado // console.log(1); // setTimeout(() => console.log(2)); // Promise.resolve().then(() => console.log(3)); // Promise.resolve().then(() => setTimeout(() => console.log(4))); // Promise.resolve().then(() => console.log(5)); // setTimeout(() => console.log(6));
/** * Tarea 1: Genéricos y Seguridad de Tipo en Claves * Crea una función `getProperty` que tome un objeto y una clave. * Usa genéricos para asegurar que la función sea segura en tipos, y que la clave exista en el objeto. */ function getProperty<T extends Record<string, unknown>, K extends keyof T>(obj: T, key: K): T[K] { return obj[key]; } getProperty('str', 'toString') /** * Tarea 2: Dado múltiples declaraciones de interfaz Todo a continuación, explica qué sucede cuando están presentes en el mismo ámbito. * Discute cómo TypeScript las trata y completa el objeto `myTodo` para satisfacer los requisitos de la interfaz Todo fusionada. */ interface Todo { title: string; dueDate: Date; } interface Todo { description: string; completed: boolean; }