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

Ответы на самые популярные вопросы на собеседовании по 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 и когда их использовать? 

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

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

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

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023