Sobes.tech

Frontend

De ce ai decis să îți schimbi locul de muncă acum?

Middle
Лига Цифровой ЭкономикиЛига Цифровой Экономики
87

Ai menționat autorizarea — ce abordări ai folosit? Ce experiență ai cu autorizarea?

Middle+
Chaser
87

Spune-mi despre cea mai interesantă sarcină sau cea mai interesantă greșeală de la unul dintre ultimele tale două locuri de muncă.

Middle+
Morizo
87

Iar ultimul proiect – câți dezvoltatori au fost în total, ce echipă a fost, cu cine a fost nevoie să comunici?

Middle
Navio
87

Cu ce framework-uri sau instrumente lucrezi? Folosești instrumente AI în munca ta?

Middle
Mayflower
87

Așteptări salariale — 270 de mii de ruble?

Middle
АэрофлотАэрофлот
87

Când proiectul crește și pot fi identificate mai multe entități de afaceri (cont personal, profil, promoții), este posibil să le împărțiți în depozite separate și să le conectați ca micro-frontenduri?

Senior
АЛМИ Партнер
87

Care este diferența dintre REST API și WebSocket?

Middle+
АэрофлотАэрофлот
87

Sarcină practică: scrieți o funcție care acceptă un număr și returnează o Promisiune cu rezultatul verificării pare/impare, iar în caz de eroare (nu este un număr) returnează -1.

Middle
BI.ZONE
87

Lămuriți: mutarea a fost de la JS/JSVue la React și TypeScript, și acum se planifică o migrare către microfrontends?

Middle
WildberriesWildberries
87

Implementați funcția promisify: aceasta primește o funcție cu callback error-first (loadScript) și returnează o nouă funcție care acceptă orice argumente, adaugă un callback error-first și înfășoară apelul într-un Promise.

Middle+
Т-БанкТ-Банк
87

Ce este de preferat pentru stocarea datelor după cheie: Map sau un obiect obișnuit? Care sunt avantajele Map?

Middle+
Яндекс
87

Vorbește despre variabilele var, let, const: domenii de vizibilitate, hoisting, zona moartă temporară.

Middle
РунитиРунити
87

Cum să corectați re-renderizările excesive astfel încât, la clic pe 'Rerender', să fie re-renderizat doar App, iar la introducerea textului, doar Parent (fără Child)?

Middle+
Т-БанкТ-Банк
87

let a = 5; setTimeout(function timeout() { //macro console.log(a); a = 10; }, 0); let p = Promise.resolve().then(data => { console.log(a); a = 25; resolve(); }).then() console.log(a); // 5 25 25

Middle
WildberriesWildberries
87

Ce se poate configura în ESLint și ce plugin-uri sau configurații sunt utilizate?

Middle
ДИТ Москвы
87

Explicație clară, Dmytro—bune utilizări ale delegării și verificărilor "cel mai apropiat"; fluxul tău este ușor de urmărit. Când spui că gestionezi tastatura "în același mod", poți să-mi explici exact care taste suporti și cum previi ca focusul să ajungă pe linkuri dezactivate?

Senior
micro1
87

Ai menționat dezvoltarea unei biblioteci de componente UI-kit reutilizabile bazată pe Angular Material. Există o diferență fundamentală între componentele bibliotecii și componentele multifuncționale obișnuite ale aplicației? De la ce se poate renunța în componentele obișnuite, dar nu în cele ale bibliotecii?

Middle
ГосуслугиГосуслуги
87

Nu știi în ce specializare este [nume] — frontend, backend sau DevOps — și care este rolul său în companie?

Middle
4dev
87

// Este necesar să implementați metoda groupBy, care extinde metodele standard ale array-urilor. // Metoda trebuie să returneze o versiune grupată a array-ului — un obiect, // în care cheile sunt rezultatele apelului funcției fn(arr[i]) pentru fiecare element, // iar valorile sunt array-uri care conțin toate elementele array-ului original cu această cheie. // cod aici // Exemplul 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Exemplul 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String)); // { // "1": [1], // "2": [2], // "3": [3] // } // Exemplul 3 const array3 = [1.3, 0.5, 1.4]; console.log(array3.groupBy(Math.round)); // { // 1: [0.5, 1.4], // 3: [1.3] // }

Middle
Яндекс Сплит
87
/295