Frontend
Özünüz haqqında qısa danışın, nə ilə məşğul olursunuz, haradan gəlmisiniz, niyə buradasınız və sizin üçün vacib olan hər şey.
useMemo və useCallback arasındakı fərq nədir?
Özünüz haqqında və sizin ən maraqlı texniki vəzifəni, sizin fikrinizcə, danışın.
Backend və digər komanda üzvləri ilə (analitiklər, dizaynerlər, testçilər) necə qarşılıqlı əlaqə qurmusunuz?
Zəhmət olmasa, JavaScript-də vədlər haqqında danış: bunlar nədir, nə üçün lazımdır, metodlar.
Hansı inkişaf nümunələrindən istifadə edirsiniz (DRY, SOLID, GRASP, dizayn nümunələri)?
useEffect-də asılılıq arrayi nədir? Boş array göndərsəniz və ya ümumiyyətlə göndərməsəniz nə baş verəcək?
REST API ilə işləyərkən hansı HTTP kodları istifadə olunur?
İstifadəçi interneti itirdikdə nə etdiniz?
İki əlaqəsiz komponent arasında məlumat mübadiləsini necə təşkil etmək olar?
Next.js ilə nə qədər sıx işləyirsiniz? Hansı xüsusiyyətlərdən istifadə edirsiniz?
Niyə yeni yığım/aktivlikə keçməyə qərar verdiniz? Əgər 10 il şirkətdə işləsəniz, bu qərarın səbəbi nədir?
Giriş sahəsinin valueChanges ilə backend-ə sorğu göndərərək axtarışın necə həyata keçirilməsi: hansı RxJS operatorlarını istifadə etmək və niyə?
State meneceri nə üçün lazımdır? O, React Context-dən nə ilə fərqlənir?
Müvəqqəti Ölüm Zonası (TDZ) nədir? Niyə yaranır və bununla necə mübarizə aparmaq olar?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; const someFunc = (arr) => { return [...arr].sort((a, b) => a - b); }; const LazyInit = (props) => { const [arr, setArr] = useState(() => someFunc(props.arr)); const onClick = () => { setArr((prev) => prev.concat(prev.length + 1)) } return ( <> <button onClick={onClick}> Artır </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />; --- Sağdaki müzakere şu konuları tartışıyor: - TypeScript ile jenerikler kullanımı: "<T extends object, K extends keyof T>" - Verinin string olup olmadığını kontrol etmek için tip koruyucu: "isString(data: unknown): data is string { ... }" - useState ile fonksiyon kullanımı, her renderda tekrar çalışmasını önlemek için: ``` const [state, setState] = useState(getComplexData); // veya const [state, setState] = useState(() => getComplexData()); ``` - useState'e geçirilen fonksiyon yalnızca bileşen ilk yüklendiğinde çalışır. - 11. satırda prev.concat ile doğrudan durumu değiştirme konusunda uyarı. --- Teknik görev, React bileşen kodunu analiz etmek ve gerekirse düzeltmek veya optimize etmek, özellikle: - useState ile uygun tembel başlatma. - Durumu doğrudan değiştirmemek. - TypeScript jeneriklerini ve tip koruyucuları anlamak. - Butona tıklandığında bileşenin durumu doğru şekilde güncellemesini sağlamak.
Qürur duyduğun ən sevimli xüsusiyyətin haqqında danış
Daxil xəttiniz nə əsasında qurulub və deyirsiniz: bu mikro-ön üz sadədir, və bu mürəkkəbdir?
Necə qeydiyyatdan keçmişdiniz — fərdi sahibkar kimi, müqavilə əsasında?
callLimit(fn, limit, callback) dekoratorunu tətbiq edin; bu, funksiyanın çağırış sayını məhdudlaşdırır. Qəbul edir: dekorasiya ediləcək funksiya, maksimum çağırış sayı, son çağırışda çağrılan callback (istəyə bağlı). Qaytarılan funksiyanın sıfırlama üçün reset adlı metodu olmalıdır.