15 KiB
IT-собеседование в Тинькофф
Рассказываем, как подготовиться к собеседованию на IT-вакансию: https://www.tinkoff.ru/career/it/
Этапы собеседования
- Предварительное собеседование.
- Техническое собеседование.
- Знакомство с командой.
- Приглашение на работу.
Этап 1: предварительное собеседование
Вы откликнулись на вакансию и отправили резюме — через некоторое время с вами свяжется рекрутер и проведет предварительное собеседование.
На предварительном собеседовании знакомимся друг с другом. Беседа займет полчаса: рекрутер спросит вас об интересах, опыте и мотивации, а затем расскажет о работе и вакансиях в Тинькофф. Не стесняйтесь задавать вопросы.
Рекрутер запомнит направление и проекты, над которыми хотите работать. В течение двух дней он свяжется с вами и согласует время для технического собеседования.
Этап 2: техническое собеседование
Техническое собеседование состоит из нескольких отдельных тем — секций. Созвон по каждой секции длится час и проходит в Zoom с отдельным интервьюером. Вы можете пройти все секции сразу или в течение нескольких дней — скажите рекрутеру, как удобнее.
Как проходить секции:
- Подготовьте рабочее место: проверьте компьютер и интернет, возьмите пару листков бумаги и ручку. Рекомендуем выспаться и захватить бутылку воды.
- Не используйте телефон: вы будете много кодить в онлайн-IDE, рисовать схемы и общаться с интервьюером.
- Задавайте вопросы и предлагайте разные решения, даже если они кажутся неправильными: интервьюер проверяет не только знания, но и как вы подходите к решению задач. Обычно нужно пройти 2—4 секции — это зависит от направления и вашего опыта. Точное количество вам скажет рекрутер.
Направления и секции в Тинькофф
Backend-разработка
Frontend-разработка
SRE
Машинное обучение
Материалы для подготовки к секциям
Рекомендуем ознакомиться с материалами до интервью: в них есть книги и курсы
Выявление и устранение проблем
Цель секции понять как вы мыслите в режиме неопределенности и стресса в сбойной ситуации. Каков Ваш опыт, как много приемов и инструментов поиска причин технических проблем вы знаете. Вам предложат описание архитектуры решения и наблюдаемые признаки сбоя (обращения пользователей или текст пришедшего алерта). Задавая вопросы интервьюверу, наподобие, "Вижу ли я в логах сообщения о такой то проблеме?", "Перезагружаю сервер, исчезла ли проблема?" Вы должны выявить исходную проблему в системе и предложить способы устранения и защиты от нее в дальнейшем.
Секция по платформе или языку
В рамках секции идет обсуждение различных аспектов платформ, фреймворков и различных языков программирования. Вопросы варьируются от реализации подходов к многопоточности, устройства памяти до взаимодействия с базой в определенном фреймворке. Язык и платформа выбираются исходя из Вашего опыта.
Алгоритмы
В рамках секции проверяем знания по алгоритмам и структурам данных. Иногда предлагаем решить задачу на реализацию, например сделать клиент с бизнес-логикой для сетевых API.
Рекомендуем повторить все, что связано с алгоритмами:
- основные структуры данных — строки, списки, деревья, ассоциативные массивы, векторы;
- базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование;
- понятие сложности алгоритмов. O-нотация, обсудим вычислительную сложность решения и расход памяти.
Сайты, которые помогают решать задачи:
Курсы:
Книги:
- Алгоритмы. Построение и анализ / Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
- Cracking the Coding Interview: 189 Programming Questions and Solutions / Gayle Laakmann McDowell
Дизайн распределенных систем
Обсуждаем, как проектировать распределенные системы. Во время секции предложим разработать дизайн системы по набору требований.
Сайты:
- System Design Primer. Вы найдете базовые темы и упражнения по дизайну систем, а также упражнения по объектно-ориентированному анализу и проектированию
- Architectural Katas. Примеры архитектурных задач
- Hacking the Software Engineer Interview. Рассказано, какими терминами и категориями нужно мыслить, чтобы пройти секцию
Книги:
- Высоконагруженные приложения. Программирование, масштабирование, поддержка / Мартин Клеппман. В книге достаточно просто объясняют теорию
Секция по общему ML
Разбираем вопросы по анализу данных: о постановке задачи, выборе и обосновании метрик качества, сборе и валидации данных, ML-алгоритмах. Вопросы разбираем на теоретических и практических кейсах.
Сайты:
- Elements of statistical learning
- Pattern Recognition and Machine Learning
- Deep learning book, Goodfellow.
- Introduction to Information Retrieval
- Подборка блогов по машинному обучению
Курсы:
- Yandex Data School: Practical_DL
- Yandex Data School: Practical_RL
- Yandex Data School: NLP_course
- Catalyst Team: DL_course
- Joseph Misiti: awesome-machine-learning
- Специализация «Машинное обучение и анализ данных»
Примеры вопросов по машинному обучению:
- Quant notes
- Data science interview questions and answers
- 120 data science interview questions
- Data-science-interviews
Книги:
- Глубокое обучение. Погружение в мир нейронных сетей / Сергей Николенко, Артур Кадурин, Екатерина Архангельская
Секция по дизайну ML систем
Цель ML дизайн секции - обсудить подходы к проектированию и декомпозиции сложной ML системы. Во время секции вам предложат систему, которую необходимо спроектировать. Можно выделить следующий общий дизайн решения: форматизация задачи и требований, декомопозиция на подзадачи, сбор данных, разбор ML архитектур для подзадач, деплой и тестирование итоговой системы.
Книги:
- Machine Learning Design Patterns / Valliappa Lakshmanan, Sara Robinson, Michael Munn github library youtube
- Deep Learning Design Patterns / Andrew Ferlitsch
Github:
Блоги:
Доклады:
- Как в YouDo машинное обучение катится в продакшен / Адам Елдаров
Этап 3: знакомство с командой
После технической секции рекрутер подберет подходящие проекты и согласует созвон с командами. Обычно созвон длится час: ребята рассказывают про текущие проекты, отвечают на вопросы и спрашивают о вашем опыте, любимых задачах, увлечениях.
После созвона с вами свяжется рекрутер: скажите ему, в какой команде вы хотели бы работать.
Этап 4: приглашение на работу
В течение нескольких дней мы вернемся с оффером. Если вам нравятся условия и команда, останется согласовать дату первого рабочего дня.
Дополнение:
- Рекрутер отвечает между этапами в течение трех дней, на финальное решение уходит чуть больше времени. Рекрутер на связи: вы можете связаться с ним, если нужно что-то уточнить.
- В беседе с интервьюерами задавайте вопросы и предлагайте разные решения. Интервьюер проверяет не только знания, но и как вы подходите к решению задач.
- Бывает так, что на каком-то этапе интервью мы отказываем кандидату. Отказ не влияет на отношение к кандидату: он может попробовать подать заявку через полгода, а если откроется подходящая вакансия, мы предложим варианты.
- Если есть пожелания или что-то не понравилось, напишите нам: apply@tinkoff.ru.