mirror of
https://github.com/Tinkoff/career.git
synced 2026-01-27 04:40:44 +03:00
158 lines
15 KiB
Markdown
158 lines
15 KiB
Markdown
# IT-собеседование в Тинькофф
|
||
|
||
Рассказываем, как подготовиться к собеседованию на IT-вакансию: https://www.tinkoff.ru/career/it/
|
||
|
||
## Этапы собеседования
|
||
1. Предварительное собеседование.
|
||
2. Техническое собеседование.
|
||
3. Знакомство с командой.
|
||
4. Приглашение на работу.
|
||
|
||
## Этап 1: предварительное собеседование
|
||
|
||
Вы откликнулись на вакансию и отправили резюме — через некоторое время с вами свяжется рекрутер и проведет предварительное собеседование.
|
||
|
||
На предварительном собеседовании знакомимся друг с другом. Беседа займет полчаса: рекрутер спросит вас об интересах, опыте и мотивации, а затем расскажет о работе и вакансиях в Тинькофф. Не стесняйтесь задавать вопросы.
|
||
|
||
Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с вами и согласует время для технического собеседования.
|
||
|
||
## Этап 2: техническое собеседование
|
||
Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится час и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее.
|
||
|
||
Как проходить секции:
|
||
1. Подготовьте рабочее место: проверьте компьютер и интернет, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды.
|
||
2. Не используйте телефон: вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером.
|
||
3. Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как вы подходите к решению задач.
|
||
Обычно нужно пройти 2—4 секции — это зависит от направления и вашего опыта. Точное количество вам скажет рекрутер.
|
||
|
||
### Направления и секции в Тинькофф
|
||
|
||
**Backend-разработка**
|
||
* Алгоритмы
|
||
* Секция по платформе или языку
|
||
* Дизайн распределенных систем
|
||
|
||
**Frontend-разработка**
|
||
* Алгоритмы
|
||
* Секция по платформе или языку
|
||
|
||
**SRE**
|
||
* Алгоритмы
|
||
* Выявление и устранение проблем
|
||
* Дизайн распределенных систем
|
||
|
||
**Машинное обучение**
|
||
* Алгоритмы
|
||
* Дизайн распределенных систем
|
||
* Секция по общему ML
|
||
* Дизайн ML-систем
|
||
|
||
**Секция по выявлению и устранению проблем**
|
||
|
||
Цель секции понять как вы мыслите в режиме неопределенности и стресса в сбойной ситуации. Каков Ваш опыт, как много приемов и инструментов поиска причин технических проблем вы знаете. Вам предложат описание архитектуры решения и наблюдаемые признаки сбоя (обращения пользователей или текст пришедшего алерта). Задавая вопросы интервьюверу, наподобие, "Вижу ли я в логах сообщения о такой то проблеме?", "Перезагружаю сервер, исчезла ли проблема?" Вы должны выявить исходную проблему в системе и предложить способы устранения и защиты от нее в дальнейшем.
|
||
|
||
**Секция по платформе или языку**
|
||
|
||
В рамках секции идет обсуждение различных аспектов платформ, фреймворков и различных языков программирования. Вопросы варьируются от реализации подходов к многопоточности, устройства памяти до взаимодействия с базой в определенном фреймворке. Язык и платформа выбираются исходя из Вашего опыта.
|
||
|
||
**Секция по дизайну ML систем**
|
||
|
||
Цель ML дизайн секции - обсудить подходы к проектированию и декомпозиции сложной ML системы. Во время секции вам предложат систему, которую необходимо спроектировать. Можно выделить следующий общий дизайн решения: форматизация задачи и требований, декомопозиция на подзадачи, сбор данных, разбор ML архитектур для подзадач, деплой и тестирование итоговой системы.
|
||
|
||
### Материалы для подготовки к секциям
|
||
Рекомендуем ознакомиться с материалами до интервью: в них есть книги и курсы
|
||
|
||
#### Алгоритмы
|
||
|
||
Проверяем знания по алгоритмам и структурам данных. Предлагаем решить задачу на реализацию, например сделать клиент с бизнес-логикой для сетевых API.
|
||
|
||
###### Рекомендуем повторить все, что связано с алгоритмами:
|
||
- основные структуры данных — строки, списки, деревья, ассоциативные массивы, векторы;
|
||
- базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование;
|
||
- понятие сложности алгоритмов. 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)
|
||
|
||
###### Книги:
|
||
- Алгоритмы. Построение и анализ / Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
|
||
- Cracking the Coding Interview: 189 Programming Questions and Solutions / Gayle Laakmann McDowell
|
||
|
||
#### Дизайн распределенных систем
|
||
|
||
Обсуждаем, как проектировать распределенные системы. Во время секции предложим разработать дизайн системы по набору требований.
|
||
|
||
###### Сайты:
|
||
- [System Design Primer](https://github.com/donnemartin/system-design-primer). Вы найдете базовые темы и упражнения по дизайну систем, а также упражнения по объектно-ориентированному анализу и проектированию
|
||
- [Architectural Katas](http://nealford.com/katas/). Примеры архитектурных задач
|
||
- [Hacking the Software Engineer Interview](https://tianpan.co/hacking-the-software-engineer-interview). Рассказано, какими терминами и категориями нужно мыслить, чтобы пройти секцию
|
||
|
||
###### Книги:
|
||
- Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман. В книге достаточно просто объясняют теорию
|
||
|
||
#### Секция по общему 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 систем
|
||
|
||
###### Книги:
|
||
- 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) / Адам Елдаров
|
||
|
||
## Этап 3: знакомство с командой
|
||
После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами. Обычно созвон длится час: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о вашем опыте, любимых задачах, увлечениях.
|
||
|
||
После созвона с вами свяжется рекрутер: скажите ему, в какой команде вы хотели бы работать.
|
||
|
||
## Этап 4: приглашение на работу
|
||
В течение нескольких дней мы вернемся с оффером. Если вам нравятся условия и команда, останется согласовать дату первого рабочего дня.
|
||
|
||
## Дополнение:
|
||
1. Рекрутер отвечает между этапами в течение трех дней, на финальное решение уходит чуть больше времени. Рекрутер на связи: вы можете связаться с ним, если нужно что-то уточнить.
|
||
2. В беседе с интервьюерами задавайте вопросы и предлагайте разные решения. Интервьюер проверяет не только знания, но и как вы подходите к решению задач.
|
||
3. Бывает так, что на каком-то этапе интервью мы отказываем кандидату. Отказ не влияет на отношение к кандидату: он может попробовать подать заявку через полгода, а если откроется подходящая вакансия, мы предложим варианты.
|
||
4. Если есть пожелания или что-то не понравилось, напишите нам: [apply@tinkoff.ru](mailto:apply@tinkoff.ru).
|