From 455c583eb4684ca64959f2f8309cb6c600eb931d Mon Sep 17 00:00:00 2001 From: Dima Korolev Date: Sun, 18 Apr 2021 21:12:17 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20+=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD-=D1=81?= =?UTF-8?q?=D0=B5=D0=BA=D1=86=D0=B8=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- interview.md | 52 +++++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/interview.md b/interview.md index 3469852..18310fc 100644 --- a/interview.md +++ b/interview.md @@ -10,31 +10,32 @@ ## Этап 1: предварительное собеседование -Вы откликнулись на вакансию и отправили резюме — через некоторое время с вами свяжется рекрутер и проведет предварительное собеседование. +Вы откликнулись на вакансию и отправили резюме — через некоторое время с Вами свяжется рекрутер и проведет предварительное собеседование. -На предварительном собеседовании знакомимся друг с другом. Беседа займет полчаса: рекрутер спросит вас об интересах, опыте и мотивации, а затем расскажет о работе и вакансиях в Тинькофф. Не стесняйтесь задавать вопросы. +На предварительном собеседовании знакомимся друг с другом. Беседа займет полчаса: рекрутер спросит Вас об интересах, опыте и мотивации, а затем расскажет о работе и вакансиях в Тинькофф. Не стесняйтесь задавать вопросы. -Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с вами и согласует время для технического собеседования. +Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с Вами и согласует время для технического собеседования. ## Этап 2: техническое собеседование -Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится час и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее. +Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится от 1-1.5 часа и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее. Как проходить секции: 1. Подготовьте рабочее место: проверьте компьютер и интернет, подготовьте веб-камеру, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды. -2. Не используйте телефон: вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером. -3. Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как вы подходите к решению задач. -Обычно нужно пройти 2—4 секции — это зависит от направления и вашего опыта. Точное количество вам скажет рекрутер. +2. Не используйте для созвона телефон: Вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером. +3. Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как Вы подходите к решению задач. +Обычно нужно пройти 2—4 секции — это зависит от направления и вашего опыта. Точное количество Вам скажет рекрутер. ### Направления и секции в Тинькофф #### Backend-разработка * [Алгоритмы](#Алгоритмы) * [Секция по платформе или языку](#Секция-по-платформе-или-языку) -* [Дизайн распределенных систем](#Дизайн-распределенных-систем) +* [Системный дизайн](#Системный-дизайн) #### Frontend-разработка * [Алгоритмы](#Алгоритмы) * [Секция по платформе или языку](#Секция-по-платформе-или-языку) +* [Системный дизайн](#Системный-дизайн) (для кандидатов senior-уровня) #### SRE * [Алгоритмы](#Алгоритмы) @@ -50,14 +51,14 @@ * [Алгоритмы](#Алгоритмы) * [Секция по дизайну проектов тестирования производительности](#Секция-по-дизайну-проектов-тестирования-производительности) -В отличие от вакансий разработчиков, в секции алгоритмы, используются облегчённые задачи по кодированию, нацеленные на умение использовать простые структуры данных, а не на эффективную реализацию алгоритмов. +В данном случае в алгоритмической секции используются облегчённые задачи по кодированию, нацеленные на умение использовать простые структуры данных, а не на эффективную реализацию алгоритмов. ### Материалы для подготовки к секциям -Рекомендуем ознакомиться с материалами до интервью: в них есть книги и курсы +Рекомендуем ознакомиться с материалами до интервью: в них есть книги и курсы. #### Выявление и устранение проблем -Цель секции понять как вы мыслите в режиме неопределенности и стресса в сбойной ситуации. Каков Ваш опыт, как много приемов и инструментов поиска причин технических проблем вы знаете. Вам предложат описание архитектуры решения и наблюдаемые признаки сбоя (обращения пользователей или текст пришедшего алерта). Задавая вопросы интервьюверу, наподобие, "Вижу ли я в логах сообщения о такой то проблеме?", "Перезагружаю сервер, исчезла ли проблема?" Вы должны выявить исходную проблему в системе и предложить способы устранения и защиты от нее в дальнейшем. +Цель секции понять, как Вы мыслите в режиме неопределенности и стресса в сбойной ситуации. Каков Ваш опыт, как много приемов и инструментов поиска причин технических проблем Вы знаете. Вам предложат описание архитектуры решения и наблюдаемые признаки сбоя (обращения пользователей или текст пришедшего алерта). Задавая вопросы интервьюверу, наподобие, "Вижу ли я в логах сообщения о такой то проблеме?", "Перезагружаю сервер, исчезла ли проблема?" Вы должны выявить исходную проблему в системе и предложить способы устранения и защиты от нее в дальнейшем. #### Секция по платформе или языку @@ -65,12 +66,12 @@ #### Алгоритмы -В рамках секции проверяем знания по алгоритмам и структурам данных. +В рамках секции проверяем знание алгоритмов и структур данных и умение их применять. ###### Рекомендуем повторить все, что связано с алгоритмами: - основные структуры данных — строки, списки, деревья, ассоциативные массивы, векторы; - базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование; -- понятие сложности алгоритмов. O-нотация, обсудим вычислительную сложность решения и расход памяти. +- понятие сложности алгоритмов, O-нотация. ###### Сайты, которые помогают решать задачи: - [LeetCode](https://leetcode.com/) @@ -87,13 +88,18 @@ - Алгоритмы. Построение и анализ / Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн - Cracking the Coding Interview: 189 Programming Questions and Solutions / Gayle Laakmann McDowell -#### Дизайн распределенных систем +#### Системный дизайн -Обсуждаем, как проектировать распределенные системы. Во время секции предложим разработать дизайн системы по набору требований. +Обсуждаем проектирование системы. Во время секции предложим Вам разработать дизайн системы по набору требований. + +###### Как проходит секция +Вам будет предложен набор функциональных требований к системе. В течение часа Вам предстоит формализовать задачу, спроектировать API системы, оценить нагрузку и необходимые мощности, спроектировать модели и потоки данных. + +В зависимости от направления Вашей деятельности, акцент может быть сделан на различные аспекты системы — например, на архитектуру веб-интерфейса в случае, если Вы — фронтенд-разработчик. ###### Сайты: -- [System Design Primer](https://github.com/donnemartin/system-design-primer). Вы найдете базовые темы и упражнения по дизайну систем, а также упражнения по объектно-ориентированному анализу и проектированию -- [Architectural Katas](http://nealford.com/katas/). Примеры архитектурных задач +- [System Design Primer](https://github.com/donnemartin/system-design-primer) — базовые темы и упражнения по дизайну систем, а также упражнения по объектно-ориентированному анализу и проектированию. +- [Architectural Katas](http://nealford.com/katas/) — множество примеров архитектурных задач. ###### Книги: - Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман. В книге достаточно просто объясняют теорию @@ -128,7 +134,7 @@ #### Секция по дизайну ML систем -Цель ML дизайн секции - обсудить подходы к проектированию и декомпозиции сложной ML системы. Во время секции вам предложат систему, которую необходимо спроектировать. Можно выделить следующий общий дизайн решения: форматизация задачи и требований, декомопозиция на подзадачи, сбор данных, разбор 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) @@ -173,15 +179,15 @@ ## Этап 3: знакомство с командой -После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами. Обычно созвон длится час: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о вашем опыте, любимых задачах, увлечениях. +После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами. Обычно созвон длится полчаса: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о Вашем опыте, любимых задачах, увлечениях. Таких созвонов будет не более трёх. -После созвона с вами свяжется рекрутер: скажите ему, в какой команде вы хотели бы работать. +После созвона с Вами свяжется рекрутер: скажите ему, в какой команде Вы хотели бы работать. ## Этап 4: приглашение на работу -В течение нескольких дней мы вернемся с оффером. Если вам нравятся условия и команда, останется согласовать дату первого рабочего дня. +В течение нескольких дней мы вернемся с оффером. Если Вам понравятся условия и команда, останется согласовать дату первого рабочего дня. ## Дополнение: -1. Рекрутер отвечает между этапами в течение трех дней, на финальное решение уходит чуть больше времени. Рекрутер на связи: вы можете связаться с ним, если нужно что-то уточнить. -2. В беседе с интервьюерами задавайте вопросы и предлагайте разные решения. Интервьюер проверяет не только знания, но и как вы подходите к решению задач. +1. Рекрутер отвечает между этапами в течение трех дней, на финальное решение уходит чуть больше времени. Рекрутер на связи: Вы можете связаться с ним, если нужно что-то уточнить. +2. В беседе с интервьюерами задавайте вопросы и предлагайте разные решения. Интервьюер проверяет не только знания, но и как Вы подходите к решению задач. 3. Бывает так, что на каком-то этапе интервью мы отказываем кандидату. Отказ не влияет на отношение к кандидату: он может попробовать подать заявку через полгода, а если откроется подходящая вакансия, мы предложим варианты. 4. Если есть пожелания или что-то не понравилось, напишите нам: [apply@tinkoff.ru](mailto:apply@tinkoff.ru). From 3247983d9fbe7017d48ce99995e8d67783f99395 Mon Sep 17 00:00:00 2001 From: Dima Korolev Date: Sun, 18 Apr 2021 21:13:23 +0300 Subject: [PATCH 2/3] Fixes typo --- interview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interview.md b/interview.md index 18310fc..e123a2b 100644 --- a/interview.md +++ b/interview.md @@ -17,7 +17,7 @@ Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с Вами и согласует время для технического собеседования. ## Этап 2: техническое собеседование -Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится от 1-1.5 часа и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее. +Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится 1-1.5 часа и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее. Как проходить секции: 1. Подготовьте рабочее место: проверьте компьютер и интернет, подготовьте веб-камеру, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды. From a0f35ad228ff29696370c39a4c7cdea8ba1292ca Mon Sep 17 00:00:00 2001 From: Dima Korolev Date: Sun, 18 Apr 2021 21:15:49 +0300 Subject: [PATCH 3/3] Update interview.md --- interview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interview.md b/interview.md index e123a2b..709ec8e 100644 --- a/interview.md +++ b/interview.md @@ -23,7 +23,7 @@ 1. Подготовьте рабочее место: проверьте компьютер и интернет, подготовьте веб-камеру, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды. 2. Не используйте для созвона телефон: Вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером. 3. Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как Вы подходите к решению задач. -Обычно нужно пройти 2—4 секции — это зависит от направления и вашего опыта. Точное количество Вам скажет рекрутер. +Обычно нужно пройти 2—4 секции — это зависит от направления и Вашего опыта. Точное количество Вам скажет рекрутер. ### Направления и секции в Тинькофф