diff --git a/interview/README.md b/interview/README.md index 0cb9440..a63cf0d 100644 --- a/interview/README.md +++ b/interview/README.md @@ -33,8 +33,8 @@ * [Системный дизайн](./sections/system-design-backend.md) #### Frontend-разработка +* [Секция по Web платформе и фреймворкам](./sections/platform-web.md) * [Алгоритмы](./sections/programming.md) -* [Секция по платформе или языку](./sections/platform-web.md) * [Системный дизайн](./sections/system-design-web.md) (для кандидатов senior-уровня) #### SRE diff --git a/interview/sections/platform-web.md b/interview/sections/platform-web.md index 402c09c..db70cd8 100644 --- a/interview/sections/platform-web.md +++ b/interview/sections/platform-web.md @@ -1,4 +1,58 @@ -# Секция по платформе или языку +# Секция по Web платформе -В рамках секции идет обсуждение различных аспектов платформ, фреймворков и различных языков программирования. Вопросы варьируются от реализации подходов к многопоточности, устройства памяти до взаимодействия с базой в определенном фреймворке. Язык и платформа выбираются исходя из Вашего опыта. +В рамках секции идет обсуждение различных аспектов Web платформы и фреймворков. Также на секции проверяем знание JavaScript. +## Как проходит собеседование + +Обычно план собеседования выглядит так: + +1. Знакомство. +2. Общие вопросы по Web платформе и JavaScript +3. Вопросы по фреймворку, на котором специализируется кандидат. + +Фидбэк кандидату может быть предоставлен как во время собеседования интервьюером, так и после через рекрутера. + +В конце собеседования у вас будет время, чтобы пообщаться с интервьюером и задать свои вопросы. + +## Материалы для подготовки к вопросам по Web платформе и JS + +1. [Современный учебник JavaScript](https://learn.javascript.ru/). Состоит из трех больших частей: + a. Язык JavaScript. + b. Браузер: документ, события, интерфейсы. + с. Тематические разделы. Содержат важные темы, например, про сетевые запросы и хранение данных в браузере. +2. [You Don't Know JS](https://github.com/getify/You-Dont-Know-JS). Серия книг про deep diving в JS. +3. [Asynchronous JavaScript](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous) + +## Вопросы по фреймворкам + +Эта часть секции призвана определить умение и понимание основных концепций фреймворка. На данный момент в Тинькофф используются два основных: + +- [Angular секция](#angular) +- [React секция](#react) + +### Angular + +В рамках обсуждения Angular часть задач будет посвящена знанию RxJS. + +#### Материалы для подготовки + +1. [Официальная документация](https://angular.io/docs) +2. Change Detection: + - [NgZone](https://angular.io/guide/zone) + - [Все, что вам нужно знать об обнаружении изменений в Angular](https://habr.com/ru/post/327004/) + - [Faster Angular Applications](https://blog.mgechev.com/2017/11/11/faster-angular-applications-onpush-change-detection-immutable-part-1/) +3. Dependency Injection: + - [Dependency injection in Angular](https://angular.io/guide/dependency-injection) + - [Что можно положить в механизм Dependency Injection в Angular?](https://habr.com/ru/company/tinkoff/blog/516622/) + - [Возможности Angular DI, о которых почти ничего не сказано в документации](https://habr.com/ru/company/tinkoff/blog/523160/) + - [Используем DI в Angular по максимуму — концепция частных провайдеров](https://habr.com/ru/company/tinkoff/blog/507906/) + - [Глобальные объекты в Angular](https://habr.com/ru/company/tinkoff/blog/548510/) +4. RxJS: + - [Learn RxJS](https://www.learnrxjs.io/) + - [RxJS Subjects](https://aalexeev239.github.io/rxjs-subjects/) + - [Strongbrew: Примеры решения практических задач](https://blog.strongbrew.io/tag/RxJS/) + - [Hot vs Cold Obsevables](https://benlesh.medium.com/hot-vs-cold-observables-f8094ed53339#.8x9uam5rg) + +### React + +WIP