Рубріки: Подборки

Ответы на самые популярные вопросы на собеседовании по TypeScript: продвинутые вопросы

Богдан Мирченко

Технический писатель и программист Райан Телин поделился в блоге на dev.to 50 самыми популярными вопросами на собеседовании по TypeScript и ответами на них. Мы разбили подборку на четыре части. Первую часть можно посмотреть здесь, вторую здесь, третью здесь. В четвертую часть вошли четыре продвинутых вопроса с ответами и 20 вопросов для самостоятельного изучения. 

Продвинутые вопросы

 27. Как добиться перегрузки функции в TypeScript? 

Чтобы перегрузить функцию в TypeScript, нужно создать две функции с одним и тем же именем, но с разными типами аргументов/возвращаемых значений. Обе функции должны принимать одинаковое количество аргументов. Это важная часть полиморфизма в TypeScript.

Например, можно создать функцию add, которая суммирует два аргумента, если это числа, и объединяет их, если они являются строками. 

function add(a:string, b:string):string;

function add(a:number, b:number): number;

function add(a: any, b:any): any {
    return a + b;
}

add("Hello ", "Steve"); // returns "Hello Steve" 
add(10, 20); // returns 30

28. Как сделать все свойства интерфейса необязательными?

Чтобы сделать все свойства необязательными, можно воспользоваться частично сопоставленным типом partial. 

29. Когда используется ключевое слово unknown? 

unknown используется, если неизвестно, какой тип ожидать заранее, но нужно назначить его позже, и если ключевое слово any не будет работать. 

30. Что такое декораторы и к чему их можно применить? 

Декоратор — это особый вид объявления, который позволяет изменять классы и члены классов сразу, помечая их аннотацией @name. Каждый декоратор должен ссылаться на функцию, которая будет оцениваться во время выполнения. 

Например, декоратор @sealed будет соответствовать запечатанной функции. Все, что помечено  @sealed, будет использоваться для оценки запечатанной функции. 

function sealed(target) {
  // do something with 'target' ...
}

Декоратор можно прикрепить к: 

  •   Объявлению классов;
  •   Методам;
  •   Аксессорам;
  •   Характеристикам;
  •   Параметрам.

По умолчанию декораторы не включены. Чтобы их включить, нужно отредактировать поле experimentalDecorators в параметрах компилятора в файле tsconfig.json или в командной строке. 

Вопросы для самостоятельного изучения

31. Какой модификатор доступа по умолчанию для переменных-членов и методов в TypeScript?

32. Когда используется ключевое слово declare?

33. Что такое дженерики в TypeScript? Когда они используются?

34. Как и когда используется коллекция enum?

35. Что такое пространства имен и зачем их использовать?

36. Как реализуются необязательные параметры?

37. Назовите три отличия между TypeScript и JavaScript.

38. Является ли TypeScript языком функционального программирования?

39. Какие функции TypeScript были бы полезны для full-stack-разработчика?

40. Назовите преимущества TypeScript Language Service?

41. Как создать повторно используемые компоненты?

42. В чем разница между кортежем и массивом в TypeScript?

43. Какие коллекции поддерживает TypeScript?

44. В чем разница между внутренними и внешними модулями в TypeScript?

45. Для чего используется тип Record?

46. Какие преимущества дает TypeScript стеку технологий?

47. Как сгенерировать файл определения с помощью TypeScript?

48. Поддерживает ли TypeScript абстрактные классы?

49. Как настроить файл TypeScript для компиляции при каждом изменении?

50.Что такое Ambient в TypeScript и когда их использовать? 

Райан Телин также советует:

  •   Практиковаться в работе с вопросами на практике, а не просто читать их;
  •   Разбить учебный материал на разделы и задавать себе вопросы после каждого из них;
  •   Подготовиться к поведенческому собеседованию, которое не менее важно, чем кодирование.

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024