Files
tinkoff-career/interview/sections/programming.md
2022-01-17 19:05:23 +03:00

35 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Секция программирования в Тинькофф
В рамках секции проверяем знание алгоритмов и структур данных и умение их применять.
## Материалы для подготовки
### Рекомендуем повторить все, что связано с алгоритмами:
- основные структуры данных — строки, списки, деревья, ассоциативные массивы, векторы;
- базовые алгоритмы — поиск элементов в коллекциях, обход деревьев, сортировки, динамическое программирование;
- понятие сложности алгоритмов, O-нотация.
#### Пример задачи
Даны три неубывающих массива чисел. Найти число, которое присутствует во всех трех массивах.
```
Input: [1,2,4,5], [3,3,4], [2,3,4,5,6]
Output: 4
```
Целевое решение работает за O(p + q + r), где p, q, r длины массивов, доп. память O(1), но эту информацию интервьюер не сообщает.
### Сайты, которые помогают решать задачи:
- [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