mirror of
https://github.com/Tinkoff/career.git
synced 2025-12-17 03:44:17 +03:00
Полностью переделал струтктуру директорий для интервью
Это необходимо для дальнейшего улучшения раздела интервью и добавления нового материала, так и при расширении раздела
This commit is contained in:
12
README.md
12
README.md
@@ -1,4 +1,10 @@
|
|||||||
# Вакансии
|
Привет! Ты зашел в репозиторий, который содержит публичную информацию о внутренней кухне Тинькофф, и о том, что тебя ждет во время интервью.
|
||||||
|
|
||||||
* [Работа в IT](https://www.tinkoff.ru/career/it/). Развивайте проекты и управляйте ими: вас ждут интересные задачи по тестированию, дизайну, аналитике и разработке
|
## Что такое Тинькофф?
|
||||||
* Как подготовиться к [ИТ-собеседованию в Тинькофф](https://github.com/TinkoffCreditSystems/career/blob/master/interview.md)
|
|
||||||
|
Тинькофф - это IT-компания, которая предоставляет множество продуктов клиентам в разных странах. Примеры продуктов: банковское направление, инвестиции, услуги для бизнеса, страхование, тревел, мобильная связь, голосовые помощники, внутренние продукты и множество других проектов. В то же время Тинькофф работает не только в России, но еще и в других странах
|
||||||
|
|
||||||
|
## Список разделов в репозитории
|
||||||
|
|
||||||
|
- [ИТ-собеседования в Тинькофф](interview/README.md)
|
||||||
|
- [Список текущих вакансий в компании](https://www.tinkoff.ru/career/it/)
|
||||||
|
|||||||
257
interview.md
257
interview.md
@@ -1,257 +0,0 @@
|
|||||||
# IT-собеседование в Тинькофф
|
|
||||||
|
|
||||||
Рассказываем, как подготовиться к собеседованию на IT-вакансию: https://www.tinkoff.ru/career/it/
|
|
||||||
|
|
||||||
## Этапы собеседования
|
|
||||||
1. Предварительное собеседование.
|
|
||||||
2. Техническое собеседование.
|
|
||||||
3. Знакомство с командой.
|
|
||||||
4. Приглашение на работу.
|
|
||||||
|
|
||||||
## Этап 1: предварительное собеседование
|
|
||||||
|
|
||||||
Вы откликнулись на вакансию и отправили резюме — через некоторое время с Вами свяжется рекрутер и проведет предварительное собеседование.
|
|
||||||
|
|
||||||
На предварительном собеседовании знакомимся друг с другом. Беседа займет полчаса: рекрутер спросит Вас об интересах, опыте и мотивации, а затем расскажет о работе и вакансиях в Тинькофф. Не стесняйтесь задавать вопросы.
|
|
||||||
|
|
||||||
Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с Вами и согласует время для технического собеседования.
|
|
||||||
|
|
||||||
## Этап 2: техническое собеседование
|
|
||||||
Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится 1-1.5 часа и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее.
|
|
||||||
|
|
||||||
Как проходить секции:
|
|
||||||
1. Подготовьте рабочее место: проверьте компьютер и интернет, подготовьте веб-камеру, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды.
|
|
||||||
2. Не используйте для созвона телефон: Вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером.
|
|
||||||
3. Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как Вы подходите к решению задач.
|
|
||||||
Обычно нужно пройти 2—4 секции — это зависит от направления и Вашего опыта. Точное количество Вам скажет рекрутер.
|
|
||||||
|
|
||||||
### Направления и секции в Тинькофф
|
|
||||||
|
|
||||||
#### Backend-разработка
|
|
||||||
* [Алгоритмы](#Алгоритмы)
|
|
||||||
* [Секция по платформе или языку](#Секция-по-платформе-или-языку)
|
|
||||||
* [Системный дизайн](#Системный-дизайн)
|
|
||||||
|
|
||||||
#### Frontend-разработка
|
|
||||||
* [Алгоритмы](#Алгоритмы)
|
|
||||||
* [Секция по платформе или языку](#Секция-по-платформе-или-языку)
|
|
||||||
* [Системный дизайн](#Системный-дизайн) (для кандидатов senior-уровня)
|
|
||||||
|
|
||||||
#### SRE
|
|
||||||
* [Проверка общих инженерных компетенций](#Проверка-общих-инженерных-компетенций)
|
|
||||||
* [Выявление и устранение проблем](#Выявление-и-устранение-проблем)
|
|
||||||
* [Базовое программирование](#Базовое-программирование)
|
|
||||||
|
|
||||||
Для позиций с фокусом на разработку возможно проведение дополнительных секций:
|
|
||||||
* [Системный дизайн](#Системный-дизайн)
|
|
||||||
* [Алгоритмы](#Алгоритмы)
|
|
||||||
|
|
||||||
#### Машинное обучение
|
|
||||||
* [Алгоритмы](#Алгоритмы)
|
|
||||||
* [Секция по ML](#Секция-по-ML)
|
|
||||||
* [Дизайн ML-систем](#Секция-по-дизайну-ML-систем)
|
|
||||||
|
|
||||||
#### Тестирование производительности
|
|
||||||
В алгоритмической секции, по направлению тестирования производительности, используются задачи по кодированию уровня easy (leetcode), нацеленные на умение использовать простые структуры данных, а не на эффективную реализацию алгоритмов.
|
|
||||||
|
|
||||||
* [Алгоритмы](#Алгоритмы)
|
|
||||||
* [Секция по дизайну проектов тестирования производительности](#Секция-по-дизайну-проектов-тестирования-производительности)
|
|
||||||
|
|
||||||
### Материалы для подготовки к секциям
|
|
||||||
Рекомендуем ознакомиться с материалами до интервью: в них есть книги и курсы.
|
|
||||||
|
|
||||||
#### Выявление и устранение проблем
|
|
||||||
|
|
||||||
В этой секции кандидат вместе с интервьюером разыгрывают гипотетическу ситуацию критического отказа на production. Интервьюер играет роль этакого источника абсолютного знания о системе и происшествии, которому можно задавать вопросы и получать ответы. В рамках данной секции задача интервьюера оценить:
|
|
||||||
|
|
||||||
1) Насколько структурно и системно кандидат умеет двигаться по проблеме: от фактов к гипотезе, от гипотезы к эксперименту и от эксперименту к решению
|
|
||||||
2) Насколько быстро и эффективно кандидат способен разобраться в общих принципах построения системы, в проблемах которой необходимо разобраться. Достаточно ли у кандидата кругозора и опыта относительно типовых дизайнов распределенных систем? (Веб сервисов, АПИ, сервисов работы с состоянием и т.д.)
|
|
||||||
3) Как хорошо кандидат работает с данными - способен ли верно сформулировать полезные и эффективные для поиска аномалий запросы в телеметрические системы? Хорошо ли получается у кандидата интерпретировать полученные данные?
|
|
||||||
|
|
||||||
##### Книги:
|
|
||||||
- [The Site Reliability Workbook](https://sre.google/workbook/table-of-contents/)
|
|
||||||
- [Site Reliability Engineering](https://sre.google/sre-book/table-of-contents/)
|
|
||||||
|
|
||||||
##### Курсы:
|
|
||||||
- [Слерм SRE](https://slurm.io/sre)
|
|
||||||
|
|
||||||
##### Сайты:
|
|
||||||
- [Ультимативный сборник материалов по SRE-подготовке](https://github.com/mxssl/sre-interview-prep-guide)
|
|
||||||
|
|
||||||
#### Базовое программирование
|
|
||||||
|
|
||||||
Эта секция призвана проверить базовое владение навыками разработки у SRE специалистов. В отличии от секции алгоритмов или языковой мы не проверяем знание сложных алгоритмов или низкоуровневых особенностей работы с языковыми конструкциями/параллелизмом/памятью. От кандидатов ожидается:
|
|
||||||
|
|
||||||
- Уверенное владение синтаксисом, выбранного языка
|
|
||||||
- Базовое понимание того, как оценивается сложность алгоритмов / О-нотация
|
|
||||||
- Базовое знакомство с основными структурами данных / плюсом будет умение их имплементировать
|
|
||||||
|
|
||||||
В рамках собеседования кандидату могут быть предложены самые базовые задачи по алгоритмам/структурам данных или более практические/прикладные упражнения вроде имплементации несложного API или написания просто теста.
|
|
||||||
|
|
||||||
##### Сайты, которые помогают решать задачи:
|
|
||||||
- [LeetCode](https://leetcode.com/) - задачи сложности не выше Easy
|
|
||||||
|
|
||||||
##### Материалы для теоретической подготовки:
|
|
||||||
- [Подборка материалов по прогрраммированию для SRE](https://github.com/mxssl/sre-interview-prep-guide#programming)
|
|
||||||
|
|
||||||
#### Проверка общих инженерных компетенций
|
|
||||||
|
|
||||||
Секция представляет из себя небольшой опрос, в рамках которого интервьер проверяет знания кандидата по широкому набору тем связаных с архитектурой компьютерных систем и системной инженерией. Опросник включает, но не ограничивается:
|
|
||||||
|
|
||||||
- Linux
|
|
||||||
- Сети
|
|
||||||
- Принипы построения и концепции баз данных
|
|
||||||
- Протоколы
|
|
||||||
- Криптография
|
|
||||||
- Файловые системы
|
|
||||||
|
|
||||||
Вопросы могут предполагать как и односложный ответ, так и детальный рассказ, который интервьюер интерпретирует в виде бальной оценки, опираясь на степень погружения кандидата в тему. Важно отметить, что вопросы не включают в себя тем, касающихся конкретных инструментов и технологий (Docker, Ansible, CI/CD, etc) - мы считаем, что инженер, обладающий достаточной подготовкой, без труда освоит любые современные инструменты.
|
|
||||||
|
|
||||||
##### Книги для подготовки:
|
|
||||||
- Таненбаум Э. С., Бос Х. Современные операционные системы. (издание актуальное на момент подготовки)
|
|
||||||
- Таненбаум Э. С. Архитектура компьютера (издание актуальное на момент подготовки)
|
|
||||||
- Таненбаум Э. С., Уэзеролл Д. Компьютерные сети.
|
|
||||||
- Martin Kleppmann. Designing Data-Intensive Applications (для вопросов вокруг баз и хранения состояния)
|
|
||||||
|
|
||||||
##### Сайты для теоретической подготовки:
|
|
||||||
- [Подборка материалов по SRE](https://github.com/mxssl/sre-interview-prep-guide)
|
|
||||||
|
|
||||||
|
|
||||||
#### Секция по платформе или языку
|
|
||||||
|
|
||||||
В рамках секции идет обсуждение различных аспектов платформ, фреймворков и различных языков программирования. Вопросы варьируются от реализации подходов к многопоточности, устройства памяти до взаимодействия с базой в определенном фреймворке. Язык и платформа выбираются исходя из Вашего опыта.
|
|
||||||
|
|
||||||
#### Алгоритмы
|
|
||||||
|
|
||||||
В рамках секции проверяем знание алгоритмов и структур данных и умение их применять.
|
|
||||||
|
|
||||||
###### Рекомендуем повторить все, что связано с алгоритмами:
|
|
||||||
- основные структуры данных — строки, списки, деревья, ассоциативные массивы, векторы;
|
|
||||||
- базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование;
|
|
||||||
- понятие сложности алгоритмов, O-нотация.
|
|
||||||
|
|
||||||
###### Сайты, которые помогают решать задачи:
|
|
||||||
- [LeetCode](https://leetcode.com/)
|
|
||||||
- [HackerRank](https://www.hackerrank.com/)
|
|
||||||
- [Codeforces](https://codeforces.com/)
|
|
||||||
- [Topcoder](https://www.topcoder.com/)
|
|
||||||
- [Timus Online Judge](http://acm.timus.ru/)
|
|
||||||
|
|
||||||
###### Курсы:
|
|
||||||
- [Алгоритмы, часть I](https://www.coursera.org/learn/algorithms-part1)
|
|
||||||
- [Специализация «Структуры и алгоритмы данных»](https://www.coursera.org/specializations/data-structures-algorithms)
|
|
||||||
- [Лекции курса «Алгоритмы и структуры данных» от Тинькофф Образование](https://www.youtube.com/playlist?list=PLjCCarnDJNssC82zhyeg8BxfhPG3b8iZ2)
|
|
||||||
- [Конспекты по продвинутым алгоритмам и структурам данных](https://algorithmica.org/ru/)
|
|
||||||
|
|
||||||
###### Книги:
|
|
||||||
- Алгоритмы. Построение и анализ / Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
|
|
||||||
- Cracking the Coding Interview: 189 Programming Questions and Solutions / Gayle Laakmann McDowell
|
|
||||||
|
|
||||||
#### Системный дизайн
|
|
||||||
|
|
||||||
Обсуждаем проектирование системы. Во время секции предложим Вам разработать дизайн системы по набору требований.
|
|
||||||
|
|
||||||
###### Как проходит секция
|
|
||||||
Вам будет предложен набор функциональных требований к системе. В течение часа Вам предстоит формализовать задачу, спроектировать API системы, оценить нагрузку и необходимые мощности, спроектировать модели и потоки данных.
|
|
||||||
|
|
||||||
В зависимости от направления Вашей деятельности, акцент может быть сделан на различные аспекты системы — например, на архитектуру веб-интерфейса в случае, если Вы — фронтенд-разработчик.
|
|
||||||
|
|
||||||
Для визуализации процесса проектирования используется онлайн-доска [Sketchboard](https://sketchboard.io). Для упрощения работы с обширной палитрой данного инструмента в ходе секции рекомендуется пользоваться только элементами раздела Software Sketching.
|
|
||||||
|
|
||||||
Один из наших сотрудников [выступил](https://www.youtube.com/watch?v=Cth-B4r_pf4) на конференции ArchDays 2021 с докладом "Дизайн секции как проверка навыков проектирования систем на собеседованиях", в котором он подробно рассказал про то, как выглядит интервью по дизайну систем, что на нем оценивается и зачем все это надо. Расшифровка выступления доступна в [статье](https://apolomodov.medium.com/system-design-interview-at-tinkoff-7bd97c20d082) на Medium.
|
|
||||||
|
|
||||||
###### Сайты:
|
|
||||||
- [System Design Primer](https://github.com/donnemartin/system-design-primer) — базовые темы и упражнения по дизайну систем, а также упражнения по объектно-ориентированному анализу и проектированию.
|
|
||||||
- [Architectural Katas](http://nealford.com/katas/) — множество примеров архитектурных задач.
|
|
||||||
|
|
||||||
###### Книги:
|
|
||||||
- Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман. В книге достаточно просто объясняют теорию
|
|
||||||
|
|
||||||
#### Секция по ML
|
|
||||||
|
|
||||||
Разбираем вопросы по анализу данных: о постановке задачи, выборе и обосновании метрик качества, сборе и валидации данных, ML-алгоритмах. Вопросы разбираем на теоретических и практических кейсах.
|
|
||||||
|
|
||||||
###### Сайты:
|
|
||||||
- [Elements of statistical learning](https://web.stanford.edu/~hastie/Papers/ESLII.pdf)
|
|
||||||
- [Pattern Recognition and Machine Learning](https://www.amazon.com/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738)
|
|
||||||
- [Deep learning book, Goodfellow.](https://www.deeplearningbook.org/)
|
|
||||||
- [Introduction to Information Retrieval](https://nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf)
|
|
||||||
- [Подборка блогов по машинному обучению](https://github.com/josephmisiti/awesome-machine-learning/blob/master/blogs.md)
|
|
||||||
|
|
||||||
###### Курсы:
|
|
||||||
- [Yandex Data School: Practical_DL](https://github.com/yandexdataschool/Practical_DL)
|
|
||||||
- [Yandex Data School: Practical_RL](https://github.com/yandexdataschool/Practical_RL)
|
|
||||||
- [Yandex Data School: NLP_course](https://github.com/yandexdataschool/nlp_course)
|
|
||||||
- [Catalyst Team: DL_course](https://github.com/catalyst-team/dl-course)
|
|
||||||
- [Joseph Misiti: awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning/blob/master/courses.md)
|
|
||||||
- [Специализация «Машинное обучение и анализ данных»](https://www.coursera.org/specializations/machine-learning-data-analysis)
|
|
||||||
|
|
||||||
###### Примеры вопросов по машинному обучению:
|
|
||||||
- [Quant notes](https://github.com/dingran/quant-notes)
|
|
||||||
- [Data science interview questions and answers](https://github.com/iamtodor/data-science-interview-questions-and-answers)
|
|
||||||
- [120 data science interview questions](https://github.com/kojino/120-Data-Science-Interview-Questions)
|
|
||||||
- [Data-science-interviews](https://github.com/alexeygrigorev/data-science-interviews)
|
|
||||||
|
|
||||||
###### Книги:
|
|
||||||
- Глубокое обучение. Погружение в мир нейронных сетей / Сергей Николенко, Артур Кадурин, Екатерина Архангельская
|
|
||||||
|
|
||||||
#### Секция по дизайну ML систем
|
|
||||||
|
|
||||||
Цель этой секции - обсудить подходы к проектированию и декомпозиции сложной ML системы. Во время секции Вам предложат систему, которую необходимо спроектировать. Можно выделить следующий общий дизайн решения: форматизация задачи и требований, декомопозиция на подзадачи, сбор данных, разбор ML архитектур для подзадач, деплой и тестирование итоговой системы.
|
|
||||||
|
|
||||||
###### Книги:
|
|
||||||
- Machine Learning Design Patterns / Valliappa Lakshmanan, Sara Robinson, Michael Munn [github](https://github.com/GoogleCloudPlatform/ml-design-patterns) [library](https://www.oreilly.com/library/view/machine-learning-design/9781098115777/) [youtube](https://youtu.be/udXjlvCFusc)
|
|
||||||
- [Deep Learning Design Patterns](https://www.manning.com/books/deep-learning-design-patterns) / Andrew Ferlitsch
|
|
||||||
|
|
||||||
###### Github:
|
|
||||||
- [Deep Learning In Production](https://github.com/ahkarami/Deep-Learning-in-Production)
|
|
||||||
- [Production Level Deep Learning](https://github.com/alirezadir/Production-Level-Deep-Learning)
|
|
||||||
|
|
||||||
###### Блоги:
|
|
||||||
- [Monitoring Machine Learning Models in Production](https://christophergs.com/machine%20learning/2020/03/14/how-to-monitor-machine-learning-models/)
|
|
||||||
|
|
||||||
###### Доклады:
|
|
||||||
- [Как в YouDo машинное обучение катится в продакшен](https://www.youtube.com/watch?v=F-j0G0lrjFw&feature=youtu.be) / Адам Елдаров
|
|
||||||
|
|
||||||
#### Секция по дизайну проектов тестирования производительности
|
|
||||||
Разбираем вопросы, связанные с планированием проектов тестирования производительности, обсуждаем различные подходы на примере определённой архитектуры.
|
|
||||||
Предложим спроектировать проект по набору входных требований. Поговорим про мониторинг, инструменты управления инфраструктурой, необходимую документацию и анализ производительности систем.
|
|
||||||
|
|
||||||
###### Книги:
|
|
||||||
- [Systems Performance 2nd Edition](https://www.amazon.com/Systems-Performance-Brendan-Gregg/dp/0136820158/ref=as_li_ss_tl?ie=UTF8&linkCode=sl1&tag=deirdrestraug-20&linkId=815ef3388ba65b674f4f8fd582713f24&language=en_US) / Brendan D. Gregg
|
|
||||||
- [The Art of Application Performance Testing, 2nd Edition](https://www.oreilly.com/library/view/the-art-of/9781491900536/) / Ian Molyneaux
|
|
||||||
- [Foundation Level Specialist Syllabus Performance Testing](https://www.istqb.org/documents/ISTQB%20CTFL-PT%20Syllabus%202018%20GA.pdf) / ISTQB
|
|
||||||
- [Глоссарий терминов тестирования RSTQB](https://www.rstqb.org/ru/istqb-downloads.html?file=files/content/rstqb/downloads/ISTQB%20Downloads/ISTQB%20Глоссарий%20Терминов%20Тестирования%202.3.pdf) / RSTQB
|
|
||||||
|
|
||||||
###### Github:
|
|
||||||
- [Qa Load Telegram Community](https://qaload.github.io/)
|
|
||||||
- [Awesome Gatling Github Page](https://github.com/aliesbelik/awesome-gatling)
|
|
||||||
|
|
||||||
###### Блоги:
|
|
||||||
- [Brendan Gregg's Blog](http://www.brendangregg.com/overview.html)
|
|
||||||
- [Denis Bakhvalov's Blog](https://easyperf.net/notes/)
|
|
||||||
|
|
||||||
###### Доклады:
|
|
||||||
- [Воркшоп (часть 1). Встраивание в CI тестирования производительности](https://youtu.be/2wWiud1A7BM) / Сергей Чепкасов (Tinkoff.ru)
|
|
||||||
- [Воркшоп (часть 2). Встраивание в CI тестирования производительности](https://youtu.be/vbM7lRXLFD8) / Максим Рогожников (Tinkoff.ru)
|
|
||||||
- [Честное перформанс-тестирование](https://youtu.be/8Mzs3arFGZo) / Дмитрий Пивоваров (ZeroTurnaround) [RU]
|
|
||||||
- [Сложности performance-тестирования](https://youtu.be/am94iI2assY) / Андрей Акиньшин (JetBrains) [RU]
|
|
||||||
- [Анализируем перформанс с пользой для себя и окружающих](https://youtu.be/jZ0quqA1Fn8) / Андрей Акиньшин (JetBrains) [RU]
|
|
||||||
- [Учимся анализировать результаты нагрузочного тестирования](https://youtu.be/gws7L3EaeC0) / Алексей Лавренюк [RU]
|
|
||||||
- [Performance testing of microservices in action](https://youtu.be/c1xu7W7bqKc) / Alexander Kachur, Ukraine [RU]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Этап 3: знакомство с командой
|
|
||||||
После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами. Обычно созвон длится полчаса: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о Вашем опыте, любимых задачах, увлечениях. Таких созвонов будет не более трёх.
|
|
||||||
|
|
||||||
После созвона с Вами свяжется рекрутер: скажите ему, в какой команде Вы хотели бы работать.
|
|
||||||
|
|
||||||
## Этап 4: приглашение на работу
|
|
||||||
В течение нескольких дней мы вернемся с оффером. Если Вам понравятся условия и команда, останется согласовать дату первого рабочего дня.
|
|
||||||
|
|
||||||
## Дополнение:
|
|
||||||
1. Рекрутер отвечает между этапами в течение трех дней, на финальное решение уходит чуть больше времени. Рекрутер на связи: Вы можете связаться с ним, если нужно что-то уточнить.
|
|
||||||
2. В беседе с интервьюерами задавайте вопросы и предлагайте разные решения. Интервьюер проверяет не только знания, но и как Вы подходите к решению задач.
|
|
||||||
3. Бывает так, что на каком-то этапе интервью мы отказываем кандидату. Отказ не влияет на отношение к кандидату: он может попробовать подать заявку через полгода, а если откроется подходящая вакансия, мы предложим варианты.
|
|
||||||
4. Если есть пожелания или что-то не понравилось, напишите нам: [interview_issues@tinkoff.ru](mailto:interview_issues@tinkoff.ru).
|
|
||||||
72
interview/README.md
Normal file
72
interview/README.md
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# IT-собеседование в Тинькофф
|
||||||
|
|
||||||
|
Рассказываем, как подготовиться к собеседованию на IT-вакансию: https://www.tinkoff.ru/career/it/
|
||||||
|
|
||||||
|
## Этапы собеседования
|
||||||
|
1. Предварительное собеседование.
|
||||||
|
2. Техническое собеседование.
|
||||||
|
3. Знакомство с командой.
|
||||||
|
4. Приглашение на работу.
|
||||||
|
|
||||||
|
## Этап 1: предварительное собеседование
|
||||||
|
|
||||||
|
Вы откликнулись на вакансию и отправили резюме — через некоторое время с Вами свяжется рекрутер и проведет предварительное собеседование.
|
||||||
|
|
||||||
|
На предварительном собеседовании знакомимся друг с другом. Беседа займет полчаса: рекрутер спросит Вас об интересах, опыте и мотивации, а затем расскажет о работе и вакансиях в Тинькофф. Не стесняйтесь задавать вопросы.
|
||||||
|
|
||||||
|
Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с Вами и согласует время для технического собеседования.
|
||||||
|
|
||||||
|
## Этап 2: техническое собеседование
|
||||||
|
Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится 1-1.5 часа и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее.
|
||||||
|
|
||||||
|
Как проходить секции:
|
||||||
|
1. Подготовьте рабочее место: проверьте компьютер и интернет, подготовьте веб-камеру, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды.
|
||||||
|
2. Не используйте для созвона телефон: Вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером.
|
||||||
|
3. Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как Вы подходите к решению задач.
|
||||||
|
Обычно нужно пройти 2—4 секции — это зависит от направления и Вашего опыта. Точное количество Вам скажет рекрутер.
|
||||||
|
|
||||||
|
### Направления и секции в Тинькофф
|
||||||
|
|
||||||
|
#### Backend-разработка
|
||||||
|
* [Алгоритмы](./sections/programming.md)
|
||||||
|
* [Секция по платформе или языку](./sections/platform-backend.md)
|
||||||
|
* [Системный дизайн](./sections/system-design-backend.md)
|
||||||
|
|
||||||
|
#### Frontend-разработка
|
||||||
|
* [Алгоритмы](./sections/programming.md)
|
||||||
|
* [Секция по платформе или языку](./sections/platform-web.md)
|
||||||
|
* [Системный дизайн](./sections/system-design-web.md) (для кандидатов senior-уровня)
|
||||||
|
|
||||||
|
#### SRE
|
||||||
|
* [Проверка общих инженерных компетенций](./sections/platform-sre.md)
|
||||||
|
* [Выявление и устранение проблем](./sections/platform-sre-find-fix-problem.md)
|
||||||
|
* [Базовое программирование](./sections/programming-basic.md)
|
||||||
|
|
||||||
|
Для позиций с фокусом на разработку возможно проведение дополнительных секций:
|
||||||
|
* [Системный дизайн](./sections/system-design-backend.md)
|
||||||
|
* [Алгоритмы](./sections/programming.md)
|
||||||
|
|
||||||
|
#### Машинное обучение
|
||||||
|
* [Алгоритмы](./sections/programming.md)
|
||||||
|
* [Секция по ML](./sections/platform-ml.md)
|
||||||
|
* [Дизайн ML-систем](./sections/system-design-ml.md)
|
||||||
|
|
||||||
|
#### Тестирование производительности
|
||||||
|
В алгоритмической секции, по направлению тестирования производительности, используются задачи по кодированию уровня easy (leetcode), нацеленные на умение использовать простые структуры данных, а не на эффективную реализацию алгоритмов.
|
||||||
|
|
||||||
|
* [Алгоритмы](./sections/programming.md)
|
||||||
|
* [Секция по дизайну проектов тестирования производительности](./sections/system-design-perfomance-testing.md)
|
||||||
|
|
||||||
|
## Этап 3: знакомство с командой
|
||||||
|
После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами. Обычно созвон длится полчаса: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о Вашем опыте, любимых задачах, увлечениях. Таких созвонов будет не более трёх.
|
||||||
|
|
||||||
|
После созвона с Вами свяжется рекрутер: скажите ему, в какой команде Вы хотели бы работать.
|
||||||
|
|
||||||
|
## Этап 4: приглашение на работу
|
||||||
|
В течение нескольких дней мы вернемся с оффером. Если Вам понравятся условия и команда, останется согласовать дату первого рабочего дня.
|
||||||
|
|
||||||
|
## Дополнение:
|
||||||
|
1. Рекрутер отвечает между этапами в течение трех дней, на финальное решение уходит чуть больше времени. Рекрутер на связи: Вы можете связаться с ним, если нужно что-то уточнить.
|
||||||
|
2. В беседе с интервьюерами задавайте вопросы и предлагайте разные решения. Интервьюер проверяет не только знания, но и как Вы подходите к решению задач.
|
||||||
|
3. Бывает так, что на каком-то этапе интервью мы отказываем кандидату. Отказ не влияет на отношение к кандидату: он может попробовать подать заявку через полгода, а если откроется подходящая вакансия, мы предложим варианты.
|
||||||
|
4. Если есть пожелания или что-то не понравилось, напишите нам: [interview_issues@tinkoff.ru](mailto:interview_issues@tinkoff.ru).
|
||||||
4
interview/sections/platform-backend.md
Normal file
4
interview/sections/platform-backend.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Секция по платформе или языку
|
||||||
|
|
||||||
|
В рамках секции идет обсуждение различных аспектов платформ, фреймворков и различных языков программирования. Вопросы варьируются от реализации подходов к многопоточности, устройства памяти до взаимодействия с базой в определенном фреймворке. Язык и платформа выбираются исходя из Вашего опыта.
|
||||||
|
|
||||||
28
interview/sections/platform-ml.md
Normal file
28
interview/sections/platform-ml.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Секция по ML
|
||||||
|
|
||||||
|
Разбираем вопросы по анализу данных: о постановке задачи, выборе и обосновании метрик качества, сборе и валидации данных, ML-алгоритмах. Вопросы разбираем на теоретических и практических кейсах.
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
### Сайты:
|
||||||
|
- [Elements of statistical learning](https://web.stanford.edu/~hastie/Papers/ESLII.pdf)
|
||||||
|
- [Pattern Recognition and Machine Learning](https://www.amazon.com/Pattern-Recognition-Learning-Information-Statistics/dp/0387310738)
|
||||||
|
- [Deep learning book, Goodfellow.](https://www.deeplearningbook.org/)
|
||||||
|
- [Introduction to Information Retrieval](https://nlp.stanford.edu/IR-book/pdf/irbookonlinereading.pdf)
|
||||||
|
- [Подборка блогов по машинному обучению](https://github.com/josephmisiti/awesome-machine-learning/blob/master/blogs.md)
|
||||||
|
|
||||||
|
### Курсы:
|
||||||
|
- [Yandex Data School: Practical_DL](https://github.com/yandexdataschool/Practical_DL)
|
||||||
|
- [Yandex Data School: Practical_RL](https://github.com/yandexdataschool/Practical_RL)
|
||||||
|
- [Yandex Data School: NLP_course](https://github.com/yandexdataschool/nlp_course)
|
||||||
|
- [Catalyst Team: DL_course](https://github.com/catalyst-team/dl-course)
|
||||||
|
- [Joseph Misiti: awesome-machine-learning](https://github.com/josephmisiti/awesome-machine-learning/blob/master/courses.md)
|
||||||
|
- [Специализация «Машинное обучение и анализ данных»](https://www.coursera.org/specializations/machine-learning-data-analysis)
|
||||||
|
|
||||||
|
### Примеры вопросов по машинному обучению:
|
||||||
|
- [Quant notes](https://github.com/dingran/quant-notes)
|
||||||
|
- [Data science interview questions and answers](https://github.com/iamtodor/data-science-interview-questions-and-answers)
|
||||||
|
- [120 data science interview questions](https://github.com/kojino/120-Data-Science-Interview-Questions)
|
||||||
|
- [Data-science-interviews](https://github.com/alexeygrigorev/data-science-interviews)
|
||||||
|
|
||||||
|
### Книги:
|
||||||
|
- Глубокое обучение. Погружение в мир нейронных сетей / Сергей Николенко, Артур Кадурин, Екатерина Архангельская
|
||||||
19
interview/sections/platform-sre-find-fix-problem.md
Normal file
19
interview/sections/platform-sre-find-fix-problem.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Выявление и устранение проблем
|
||||||
|
|
||||||
|
В этой секции кандидат вместе с интервьюером разыгрывают гипотетическу ситуацию критического отказа на production. Интервьюер играет роль этакого источника абсолютного знания о системе и происшествии, которому можно задавать вопросы и получать ответы. В рамках данной секции задача интервьюера оценить:
|
||||||
|
|
||||||
|
1) Насколько структурно и системно кандидат умеет двигаться по проблеме: от фактов к гипотезе, от гипотезы к эксперименту и от эксперименту к решению
|
||||||
|
2) Насколько быстро и эффективно кандидат способен разобраться в общих принципах построения системы, в проблемах которой необходимо разобраться. Достаточно ли у кандидата кругозора и опыта относительно типовых дизайнов распределенных систем? (Веб сервисов, АПИ, сервисов работы с состоянием и т.д.)
|
||||||
|
3) Как хорошо кандидат работает с данными - способен ли верно сформулировать полезные и эффективные для поиска аномалий запросы в телеметрические системы? Хорошо ли получается у кандидата интерпретировать полученные данные?
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
### Книги:
|
||||||
|
- [The Site Reliability Workbook](https://sre.google/workbook/table-of-contents/)
|
||||||
|
- [Site Reliability Engineering](https://sre.google/sre-book/table-of-contents/)
|
||||||
|
|
||||||
|
### Курсы:
|
||||||
|
- [Слерм SRE](https://slurm.io/sre)
|
||||||
|
|
||||||
|
### Сайты:
|
||||||
|
- [Ультимативный сборник материалов по SRE-подготовке](https://github.com/mxssl/sre-interview-prep-guide)
|
||||||
|
|
||||||
22
interview/sections/platform-sre.md
Normal file
22
interview/sections/platform-sre.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Проверка общих инженерных компетенций
|
||||||
|
|
||||||
|
Секция представляет из себя небольшой опрос, в рамках которого интервьер проверяет знания кандидата по широкому набору тем связаных с архитектурой компьютерных систем и системной инженерией. Опросник включает, но не ограничивается:
|
||||||
|
|
||||||
|
- Linux
|
||||||
|
- Сети
|
||||||
|
- Принипы построения и концепции баз данных
|
||||||
|
- Протоколы
|
||||||
|
- Криптография
|
||||||
|
- Файловые системы
|
||||||
|
|
||||||
|
Вопросы могут предполагать как и односложный ответ, так и детальный рассказ, который интервьюер интерпретирует в виде бальной оценки, опираясь на степень погружения кандидата в тему. Важно отметить, что вопросы не включают в себя тем, касающихся конкретных инструментов и технологий (Docker, Ansible, CI/CD, etc) - мы считаем, что инженер, обладающий достаточной подготовкой, без труда освоит любые современные инструменты.
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
### Книги для подготовки:
|
||||||
|
- Таненбаум Э. С., Бос Х. Современные операционные системы. (издание актуальное на момент подготовки)
|
||||||
|
- Таненбаум Э. С. Архитектура компьютера (издание актуальное на момент подготовки)
|
||||||
|
- Таненбаум Э. С., Уэзеролл Д. Компьютерные сети.
|
||||||
|
- Martin Kleppmann. Designing Data-Intensive Applications (для вопросов вокруг баз и хранения состояния)
|
||||||
|
|
||||||
|
### Сайты для теоретической подготовки:
|
||||||
|
- [Подборка материалов по SRE](https://github.com/mxssl/sre-interview-prep-guide)
|
||||||
4
interview/sections/platform-web.md
Normal file
4
interview/sections/platform-web.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Секция по платформе или языку
|
||||||
|
|
||||||
|
В рамках секции идет обсуждение различных аспектов платформ, фреймворков и различных языков программирования. Вопросы варьируются от реализации подходов к многопоточности, устройства памяти до взаимодействия с базой в определенном фреймворке. Язык и платформа выбираются исходя из Вашего опыта.
|
||||||
|
|
||||||
16
interview/sections/programming-basic.md
Normal file
16
interview/sections/programming-basic.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# Секция базового программирования в Тинькофф
|
||||||
|
|
||||||
|
Эта секция призвана проверить базовое владение навыками разработки у SRE специалистов. В отличии от секции алгоритмов или языковой мы не проверяем знание сложных алгоритмов или низкоуровневых особенностей работы с языковыми конструкциями/параллелизмом/памятью. От кандидатов ожидается:
|
||||||
|
|
||||||
|
- Уверенное владение синтаксисом, выбранного языка
|
||||||
|
- Базовое понимание того, как оценивается сложность алгоритмов / О-нотация
|
||||||
|
- Базовое знакомство с основными структурами данных / плюсом будет умение их имплементировать
|
||||||
|
|
||||||
|
В рамках собеседования кандидату могут быть предложены самые базовые задачи по алгоритмам/структурам данных или более практические/прикладные упражнения вроде имплементации несложного API или написания просто теста.
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
### Сайты, которые помогают решать задачи:
|
||||||
|
- [LeetCode](https://leetcode.com/) - задачи сложности не выше Easy
|
||||||
|
|
||||||
|
### Материалы для теоретической подготовки:
|
||||||
|
- [Подборка материалов по прогрраммированию для SRE](https://github.com/mxssl/sre-interview-prep-guide#programming)
|
||||||
26
interview/sections/programming.md
Normal file
26
interview/sections/programming.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Секция программирования в Тинькофф
|
||||||
|
|
||||||
|
В рамках секции проверяем знание алгоритмов и структур данных и умение их применять.
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
### Рекомендуем повторить все, что связано с алгоритмами:
|
||||||
|
- основные структуры данных — строки, списки, деревья, ассоциативные массивы, векторы;
|
||||||
|
- базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование;
|
||||||
|
- понятие сложности алгоритмов, O-нотация.
|
||||||
|
|
||||||
|
### Сайты, которые помогают решать задачи:
|
||||||
|
- [LeetCode](https://leetcode.com/)
|
||||||
|
- [HackerRank](https://www.hackerrank.com/)
|
||||||
|
- [Codeforces](https://codeforces.com/)
|
||||||
|
- [Topcoder](https://www.topcoder.com/)
|
||||||
|
- [Timus Online Judge](http://acm.timus.ru/)
|
||||||
|
|
||||||
|
### Курсы:
|
||||||
|
- [Алгоритмы, часть I](https://www.coursera.org/learn/algorithms-part1)
|
||||||
|
- [Специализация «Структуры и алгоритмы данных»](https://www.coursera.org/specializations/data-structures-algorithms)
|
||||||
|
- [Лекции курса «Алгоритмы и структуры данных» от Тинькофф Образование](https://www.youtube.com/playlist?list=PLjCCarnDJNssC82zhyeg8BxfhPG3b8iZ2)
|
||||||
|
- [Конспекты по продвинутым алгоритмам и структурам данных](https://algorithmica.org/ru/)
|
||||||
|
|
||||||
|
### Книги:
|
||||||
|
- Алгоритмы. Построение и анализ / Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
|
||||||
|
- Cracking the Coding Interview: 189 Programming Questions and Solutions / Gayle Laakmann McDowell
|
||||||
21
interview/sections/system-design-backend.md
Normal file
21
interview/sections/system-design-backend.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Секция системного дизайна в Тинькофф
|
||||||
|
|
||||||
|
Обсуждаем проектирование системы. Во время секции предложим Вам разработать дизайн системы по набору требований.
|
||||||
|
|
||||||
|
## Как проходит секция
|
||||||
|
Вам будет предложен набор функциональных требований к системе. В течение часа Вам предстоит формализовать задачу, спроектировать API системы, оценить нагрузку и необходимые мощности, спроектировать модели и потоки данных.
|
||||||
|
|
||||||
|
В зависимости от направления Вашей деятельности, акцент может быть сделан на различные аспекты системы — например, на архитектуру веб-интерфейса в случае, если Вы — фронтенд-разработчик.
|
||||||
|
|
||||||
|
Для визуализации процесса проектирования используется онлайн-доска [Sketchboard](https://sketchboard.io). Для упрощения работы с обширной палитрой данного инструмента в ходе секции рекомендуется пользоваться только элементами раздела Software Sketching.
|
||||||
|
|
||||||
|
Один из наших сотрудников [выступил](https://www.youtube.com/watch?v=Cth-B4r_pf4) на конференции ArchDays 2021 с докладом "Дизайн секции как проверка навыков проектирования систем на собеседованиях", в котором он подробно рассказал про то, как выглядит интервью по дизайну систем, что на нем оценивается и зачем все это надо. Расшифровка выступления доступна в [статье](https://apolomodov.medium.com/system-design-interview-at-tinkoff-7bd97c20d082) на Medium.
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
|
||||||
|
### Сайты:
|
||||||
|
- [System Design Primer](https://github.com/donnemartin/system-design-primer) — базовые темы и упражнения по дизайну систем, а также упражнения по объектно-ориентированному анализу и проектированию.
|
||||||
|
- [Architectural Katas](http://nealford.com/katas/) — множество примеров архитектурных задач.
|
||||||
|
|
||||||
|
### Книги:
|
||||||
|
- Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман. В книге достаточно просто объясняют теорию
|
||||||
19
interview/sections/system-design-ml.md
Normal file
19
interview/sections/system-design-ml.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Секция по дизайну ML систем
|
||||||
|
|
||||||
|
Цель этой секции - обсудить подходы к проектированию и декомпозиции сложной ML системы. Во время секции Вам предложат систему, которую необходимо спроектировать. Можно выделить следующий общий дизайн решения: форматизация задачи и требований, декомопозиция на подзадачи, сбор данных, разбор ML архитектур для подзадач, деплой и тестирование итоговой системы.
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
|
||||||
|
### Книги:
|
||||||
|
- Machine Learning Design Patterns / Valliappa Lakshmanan, Sara Robinson, Michael Munn [github](https://github.com/GoogleCloudPlatform/ml-design-patterns) [library](https://www.oreilly.com/library/view/machine-learning-design/9781098115777/) [youtube](https://youtu.be/udXjlvCFusc)
|
||||||
|
- [Deep Learning Design Patterns](https://www.manning.com/books/deep-learning-design-patterns) / Andrew Ferlitsch
|
||||||
|
|
||||||
|
### Github:
|
||||||
|
- [Deep Learning In Production](https://github.com/ahkarami/Deep-Learning-in-Production)
|
||||||
|
- [Production Level Deep Learning](https://github.com/alirezadir/Production-Level-Deep-Learning)
|
||||||
|
|
||||||
|
### Блоги:
|
||||||
|
- [Monitoring Machine Learning Models in Production](https://christophergs.com/machine%20learning/2020/03/14/how-to-monitor-machine-learning-models/)
|
||||||
|
|
||||||
|
### Доклады:
|
||||||
|
- [Как в YouDo машинное обучение катится в продакшен](https://www.youtube.com/watch?v=F-j0G0lrjFw&feature=youtu.be) / Адам Елдаров
|
||||||
28
interview/sections/system-design-perfomance-testing.md
Normal file
28
interview/sections/system-design-perfomance-testing.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Секция по дизайну проектов тестирования производительности
|
||||||
|
Разбираем вопросы, связанные с планированием проектов тестирования производительности, обсуждаем различные подходы на примере определённой архитектуры.
|
||||||
|
Предложим спроектировать проект по набору входных требований. Поговорим про мониторинг, инструменты управления инфраструктурой, необходимую документацию и анализ производительности систем.
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
|
||||||
|
### Книги:
|
||||||
|
- [Systems Performance 2nd Edition](https://www.amazon.com/Systems-Performance-Brendan-Gregg/dp/0136820158/ref=as_li_ss_tl?ie=UTF8&linkCode=sl1&tag=deirdrestraug-20&linkId=815ef3388ba65b674f4f8fd582713f24&language=en_US) / Brendan D. Gregg
|
||||||
|
- [The Art of Application Performance Testing, 2nd Edition](https://www.oreilly.com/library/view/the-art-of/9781491900536/) / Ian Molyneaux
|
||||||
|
- [Foundation Level Specialist Syllabus Performance Testing](https://www.istqb.org/documents/ISTQB%20CTFL-PT%20Syllabus%202018%20GA.pdf) / ISTQB
|
||||||
|
- [Глоссарий терминов тестирования RSTQB](https://www.rstqb.org/ru/istqb-downloads.html?file=files/content/rstqb/downloads/ISTQB%20Downloads/ISTQB%20Глоссарий%20Терминов%20Тестирования%202.3.pdf) / RSTQB
|
||||||
|
|
||||||
|
### Github:
|
||||||
|
- [Qa Load Telegram Community](https://qaload.github.io/)
|
||||||
|
- [Awesome Gatling Github Page](https://github.com/aliesbelik/awesome-gatling)
|
||||||
|
|
||||||
|
### Блоги:
|
||||||
|
- [Brendan Gregg's Blog](http://www.brendangregg.com/overview.html)
|
||||||
|
- [Denis Bakhvalov's Blog](https://easyperf.net/notes/)
|
||||||
|
|
||||||
|
### Доклады:
|
||||||
|
- [Воркшоп (часть 1). Встраивание в CI тестирования производительности](https://youtu.be/2wWiud1A7BM) / Сергей Чепкасов (Tinkoff.ru)
|
||||||
|
- [Воркшоп (часть 2). Встраивание в CI тестирования производительности](https://youtu.be/vbM7lRXLFD8) / Максим Рогожников (Tinkoff.ru)
|
||||||
|
- [Честное перформанс-тестирование](https://youtu.be/8Mzs3arFGZo) / Дмитрий Пивоваров (ZeroTurnaround) [RU]
|
||||||
|
- [Сложности performance-тестирования](https://youtu.be/am94iI2assY) / Андрей Акиньшин (JetBrains) [RU]
|
||||||
|
- [Анализируем перформанс с пользой для себя и окружающих](https://youtu.be/jZ0quqA1Fn8) / Андрей Акиньшин (JetBrains) [RU]
|
||||||
|
- [Учимся анализировать результаты нагрузочного тестирования](https://youtu.be/gws7L3EaeC0) / Алексей Лавренюк [RU]
|
||||||
|
- [Performance testing of microservices in action](https://youtu.be/c1xu7W7bqKc) / Alexander Kachur, Ukraine [RU]
|
||||||
18
interview/sections/system-design-web.md
Normal file
18
interview/sections/system-design-web.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Секция по дизайну для WEB направления
|
||||||
|
## Формат секции
|
||||||
|
- Продолжительность: 60 минут
|
||||||
|
- Формат: Будет использоваться сервис похожий на https://excalidraw.com/ в котором можно будет "порисовать" систему
|
||||||
|
- Кто проходит секцию: синьоры или выше
|
||||||
|
|
||||||
|
На этой секции мы хотим узнать ваш опыт проектирования и сопровождения Web приложений, а так-же как вы можете решить задачи связанные с проектированием систем. Фокус секции будет на Web приложении.
|
||||||
|
|
||||||
|
### Этапы секции
|
||||||
|
- Сбор требований - будет дана задача и на этом этапе проверяем как кандидат может собрать требования. Можно и нужно задавать вопросы и выяснить основные, критичные момент которые потребуются дальше
|
||||||
|
- Проработка верхнеуровнего дизайна - оцениваем опыт в организации инфрастуктуры для WEB приложений. Какие системы используются, что бы пользователь мог увидеть результат в браузере?
|
||||||
|
- Проработка структуры приложения - оцениваем опыт в проектировании приложения на выбранных кандидатом технологий. Как будет приложение разбито на компоненты/модули
|
||||||
|
- Проработка данных - оцениваем опыт в организации общения между клиентом и сервером, а так-же где и как будут храниться данные в приложении.
|
||||||
|
- Производительность/Безопасность - оцениваем опыт в улучшении производительности приложений, так и исправления/учитывания особенностей связанных с безопасностью
|
||||||
|
|
||||||
|
## Материалы для подготовки
|
||||||
|
- Подумайте о том, как устроены внутри типичные сайты средних или крупных компании. И составьте/опишите схему по этому сайту, начиная с самого верха, до уровня компонентов
|
||||||
|
- [Front-End Engineer](https://www.youtube.com/channel/UC6YpkaZsAcAvPNt4rLiS7dg) - хороший канал с разбором базовых задач
|
||||||
@@ -1 +0,0 @@
|
|||||||
{}
|
|
||||||
Reference in New Issue
Block a user