# ИТ-собеседование в Тинькофф Рассказываем, как подготовиться к собеседованию на ИТ-вакансию: https://www.tinkoff.ru/career/it/ ## Этапы собеседования 1. Предварительное собеседование. 2. Техническое собеседование. 3. Знакомство с командой. 4. Приглашение на работу. ## Этап 1: предварительное собеседование Вы откликнулись на вакансию и отправили резюме — через некоторое время с вами свяжется рекрутер и проведет предварительное собеседование. На предварительном собеседовании знакомимся друг с другом. Беседа займет полчаса: рекрутер спросит вас об интересах, опыте и мотивации, а затем расскажет о работе и вакансиях в Тинькофф. Не стесняйтесь задавать вопросы. Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с вами и согласует время для технического собеседования. ## Этап 2: техническое собеседование Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится час и проходит в «Зуме» с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее. Как проходить секции: 1. Подготовьте рабочее место: проверьте компьютер и интернет, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды. 2. Не используйте телефон: вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером. 3. Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как вы подходите к решению задач. Обычно нужно пройти 2—4 секции — это зависит от направления и вашего опыта. Точное количество вам скажет рекрутер. ### Направления и секции в Тинькофф **Backend-разработка** * Алгоритмы * Секция по платформе или языку * Дизайн распределенных систем **Frontend-разработка** * Алгоритмы * Секция по платформе или языку * Дизайн распределенных систем **SRE** * Алгоритмы * Выявление и устранение проблем * Дизайн распределенных систем **Машинное обучение** * Алгоритмы * Дизайн распределенных систем * Секция по общему 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) ###### Книги: - Алгоритмы. Построение и анализ / Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн - Искусство программирования / Дональд Кнут ## Дизайн распределенных систем Обсуждаем, как проектировать распределенные системы. Во время секции предложим разработать дизайн системы по набору требований. ###### Сайты: - [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) ###### Книги: - Глубокое обучение. Погружение в мир нейронных сетей / Сергей Николенко, Артур Кадурин, Екатерина Архангельская ## Этап 3: знакомство с командой После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами.Обычно созвон длится час: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о вашем опыте, любимых задачах, увлечениях. После созвона с вами свяжется рекрутер: скажите ему, в какой команде вы хотели бы работать. ## Этап 4: приглашение на работу В течение нескольких дней мы вернемся с оффером. Если вам нравятся условия и команда, останется согласовать дату первого рабочего дня. ## Дополнение: 1. Рекрутер отвечает между этапами в течение трех дней, на финальное решение уходит чуть больше времени. Рекрутер на связи: вы можете связаться с ним, если нужно что-то уточнить. 2. В беседе с интервьюерами задавайте вопросы и предлагайте разные решения. Интервьюер проверяет не только знания, но и как вы подходите к решению задач. 3. Бывает так, что на каком-то этапе интервью мы отказываем кандидату. Отказ не влияет на отношение к кандидату: он может попробовать подать заявку через полгода, а если откроется подходящая вакансия, мы предложим варианты. 4. Если есть пожелания или что-то не понравилось, напишите нам: [apply@tinkoff.ru](mailto:apply@tinkoff.ru).