Питання на співбесіді з TypeScript (Junior) з відповідями
75 запитань для співбесіди з теми TypeScript (Junior) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Що таке TypeScript?
- 2.Чи є перевірка типів TypeScript під час виконання програми?
- 3.Чим
unknownвідрізняється відany? - 4.Що означає тип
never? - 5.Що виведе TypeScript для
let x = 5;? - 6.Яка різниця між
interfaceіtypeдля опису об'єкта? - 7.Як оголосити необов'язкову властивість об'єкта?
- 8.Що робить модифікатор
readonlyу{ readonly id: number }? - 9.Що означає тип
string | number? - 10.Що дає перетин
type Admin = User & { role: 'admin' }? - 11.Що таке літеральний тип
'left' | 'right'? - 12.Як типізувати функцію, що приймає рядок і повертає число?
- 13.Як оголосити необов'язковий параметр функції?
- 14.Що таке кортеж (tuple) у TypeScript?
- 15.Як типізувати масив рядків?
- 16.Що таке дженерик (generic)?
- 17.Що робить утилітарний тип
Partial<User>? - 18.Чим відрізняються
Pick<User, 'id' | 'name'>іOmit<User, 'password'>? - 19.Що описує
Record<string, number>? - 20.Що поверне
keyof { id: number; name: string }? - 21.Що робить
typeofу позиції типу:type Config = typeof config? - 22.Як правильно типізувати props React-компонента?
- 23.Який тип має подія в
onChangeдля<input>у React? - 24.Як указати тип стану, якщо початкове значення
null:useState(null)? - 25.Що робить твердження типу
value as string? - 26.Що робить оператор
!уuser!.name? - 27.Що вмикає прапорець
strictуtsconfig.json? - 28.Що дає
strictNullChecks? - 29.Як звузити тип
string | numberдоstringусередині умови? - 30.Чим
enum Color { Red, Green }відрізняється відtype Color = 'red' | 'green'? - 31.Що робить
as constуconst roles = ['admin', 'user'] as const? - 32.Що таке структурна типізація в TypeScript?
- 33.Що таке файл
.d.ts? - 34.Навіщо встановлювати пакети на кшталт
@types/lodash? - 35.Що скомпілює
tscз TypeScript-файлу? - 36.Який тип має змінна
eуcatch (e)за ввімкненогоstrict? - 37.Що означає тип значення, що повертається,
void? - 38.Як описати об'єкт із довільними рядковими ключами й числовими значеннями через індексну сигнатуру?
- 39.Як розширити інтерфейс?
- 40.Що робить
implementsу класі? - 41.Чим
privateу TypeScript відрізняється від#fieldу JavaScript? - 42.Як типізувати асинхронну функцію, що повертає користувача?
- 43.Як TypeScript учинить із
const el = document.getElementById('app')? - 44.Що таке union зі спільним полем-дискримінатором?
- 45.Як вивести тип значення, що повертає функція
createStore? - 46.Що станеться під час передавання об'єктного літерала із зайвою властивістю?
- 47.Що таке
tsconfig.json? - 48.Як поступово перевести JS-проєкт на TypeScript?
- 49.Чим
Required<T>відрізняється відPartial<T>? - 50.Як указати, що функція приймає будь-яку кількість чисел?
- 51.Про що повідомляє опція
noImplicitAny? - 52.Чим
(string | number)[]відрізняється відstring[] | number[]? - 53.Який тип отримає
const direction = 'left';? - 54.Який тип у
users.find((u) => u.id === id), якщоusers: User[]? - 55.Чому
typeof value === 'object'може бути пасткою під час звуження? - 56.Що пропускає
if (count), колиcount: number | undefined? - 57.Чим
instanceofдопомагає з типами? - 58.Чому не можна перевірити
if (data is User)у рантаймі? - 59.Що робить
Readonly<User>? - 60.Що вимагає
Record<'draft' | 'published', number>? - 61.Який тип отримує
const items = [];з увімкненимstrict? - 62.Як викликати узагальнену функцію з явним аргументом типу?
- 63.Як описати перевикористовуваний тип функції-обробника події?
- 64.Чому в
[1, 2].forEach((n) => console.log(n))можна передати колбек з одним параметром, хочаforEachпередає три? - 65.Який тип у результату
user?.address?.city, якщоcity: string? - 66.Який тип у
const port = env.PORT ?? 3000, якщоenv.PORT: string | undefined? - 67.Який тип у
await (await fetch(url)).json()? - 68.Який тип має використовувати React-компонент для
children, що можуть бути текстом, елементами чи нічим? - 69.Чи різні типи
Array<string>іstring[]? - 70.Як перевіряти типи в CI, якщо бандлер (Vite, esbuild) уже компілює TS без перевірки типів?
- 71.Чим необов'язкова властивість
name?: stringвідрізняється відname: string | undefined? - 72.Як описати в типі об'єкт із методом?
- 73.Чи можуть свіжі версії Node.js запускати
.ts-файл напряму? - 74.Який тип отримує параметр функції зі значенням за замовчуванням?
- 75.Чому
@ts-expect-errorбезпечніший за@ts-ignore?