Frontend
¿Qué es el operador as en TypeScript y cuáles son sus ventajas y desventajas?
Cuéntame sobre las etapas críticas del renderizado del navegador
¿Has trabajado con enfoques arquitectónicos como FSD (Feature-Sliced Design)?
¿Cómo resuelves el problema de optimización de carga de imágenes para diferentes resoluciones de pantalla?
Tarea de concatenación de cadenas en JavaScript: ¿qué se mostrará en la pantalla y por qué? (ejemplo con el operador + y cadenas/números)
¿Cómo optimizar las re-renderizaciones en React? Habla sobre React.memo, useCallback, useMemo.
¿Cómo se puede resolver la tarea conTimeout de manera alternativa a través de Promise.race? ¿Qué es Promise.race, en qué se diferencia de Promise.all?
¿Qué atributos tiene la etiqueta form?
¿Por qué piensas en dejar tu trabajo actual?
¿En qué ciudad estás? ¿Estás dispuesto a mudarte? ¿Qué piensas de Hybrid?
¿Qué son los ataques XSS?
Conocimiento de bases de datos y trabajo con API
Cuéntame sobre tu experiencia con Node.js en un ejemplo de algún proyecto, ¿qué exactamente desarrollaste en él?
¿Por qué se introdujo la API de composición en Vue 3? ¿Cuáles son las ventajas sobre la API de opciones?
¿Alguna vez ha tenido que configurar ESLint y Prettier para que no entren en conflicto entre sí?
Habla sobre Promise: estados, métodos estáticos (all, allSettled, any, race).
Obtener datos sobre libros y sus autores. Mostrar los datos en una lista paginada de 10 libros por página en formato: <título del libro> - <autor> api: [enlace] especificación: [enlace] si no se abre swagger, en la raíz sber-c55-books-mock-1.0.1-oas3.1-resolved.yaml const PAGE_SIZE = 10; export default function App() { const [books, setBooks] = useState([]) const [page, setPage] = useState(1); const [loading, setLoading] = useState(false) useEffect(() => { setLoading(true); fetch('[enlace]') .then((res) => res.json()) .then((data) => { setBooks(data); setLoading(false); }) .catch(() => setLoading(false)); }, [page]); const totalPage = Math.ceil(books.length / PAGE_SIZE); const start = (page - 1) * PAGE_SIZE; const currentBooks = books.slice(start, start + PAGE_SIZE); return ( <div className="App"> {loading && <p>Cargando...</p>} <ul> {currentBooks.map((book, index) => ( <li key={index}>{book.title} - {book.author}</li> ))} </ul> <div> <button disabled={page === 1} onClick={() => setPage(page - 1)}> Anterior </button> <button disabled={page === totalPage} onClick={() => setPage(page + 1)}> Siguiente </button> </div> </div> ); } Corrige errores y implementa la visualización de una lista paginada de libros con autores.
¿Cómo se puede resolver el problema con el estado común isOpen para varios nodos? ¿Existe una opción aún más elegante?
¿Qué proyectos ha tenido que diseñar: desde cero o bloques arquitectónicos grandes?
¿Cómo funcionará la replicación de la base de datos (maestro-esclavo)? ¿Cómo dirigirá el balanceador de carga las solicitudes a diferentes servidores con diferentes bases de datos?