Cuéntame sobre la memorización en React: useMemo, useCallback, React.memo. ¿Cuándo usarlos?
Frontend
const X = { a: 1, b: 2, c: 3, d: 4 } function getProperty<T>(obj: T, key: keyof T) { // Task: type the function return obj[key] } getProperty(X, 'a') // no error getProperty(X, 'e') // error: key 'e' is not a key of object X getProperty({ name: 'Sergey' }, 'name') // no error getProperty(1, 1) // Error. The first argument must be an object (not a function or primitive)
Cuéntame sobre tu experiencia con tus propias palabras, qué te gustaría destacar, momentos técnicos interesantes de tu currículum.
¿Por qué usaste JSON.stringify? ¿Se podría haber utilizado Map en lugar de un objeto para la caché?
const { foo: [bar], bar: [{ baz: foo }] } = { foo: [1], bar: [{ baz: 3 }] } console.log(bar) // 1 console.log(foo) // 3
Por favor, dime, ¿cuál es la diferencia entre Map y objeto?
¿Qué es el ámbito de visibilidad? ¿Qué ámbitos de visibilidad tienen diferentes variables?
Habla sobre Promise: estados, métodos estáticos (all, allSettled, any, race).
const submit = (el) => () => { log(el); } arr.map(el => <button onClick={submit(el)}/>) arr.map(el => <SomeComp key={} pmclick={() => submit(el)} />) const param = useMemo(() => ([c: a + b]), [a,b]) return <Child value={param} /> Child = React.memo(() => {})
¿Estás familiarizado con herramientas como Confluence, Jenkins y servicios internos (EFS, RMC)?
¿Dónde podemos almacenar el estado en el lado del navegador? Cuéntame sobre ellos.
¿En qué se diferencia una expresión de función de una declaración de función?
Cuéntame sobre el almacenamiento de datos: cookies, localStorage, sessionStorage. ¿Cómo se realizaba la autorización con tokens en tu proyecto?
let a = 2 function foo() { console.log(a) } function bar() { let a = 1 foo() } bar() //
Cuéntame sobre tu papel en el equipo: ¿eras líder, mano derecha del líder, tenías experiencia en tomar decisiones por ti mismo? ¿Cómo se delegaban los roles?
¿Con qué frecuencia trabajaste con el contexto (this) en JavaScript? Explica la pérdida de contexto y las formas de resolverla (bind, call, apply, funciones flecha, guardar en una variable).
Si una Promesa no se resuelve y se rechaza, ¿dónde podemos capturar el error? ¿Qué más hay además de then y catch? ¿Cuándo se ejecuta finally?
const X = { a: 1, b: 2, c: 3, d: 4 } function getProperty(obj, key) { // Task: type the function return obj[key] } getProperty(X, 'a') // no error getProperty(X, 'r') // error: key r is not a key of object X getProperty({ name: 'Sergey' }, 'name') // no error
¿Qué hace el operador in en TypeScript?
Habla sobre el trabajo con formularios en React: componentes controlados e no controlados, ventajas y desventajas de cada enfoque.