Сложность алгоритмов и Big-O нотация
Что такое обозначение $Big(O)$ [big O] и почему оно важно в анализе алгоритмов?
Как сложность по времени и памяти влияет на производительность бэкенд-приложений?
Подсказки:
Обозначение Big O описыв ...
Базовые структуры данных и их применение
Назовите распространённые структуры данных и объяснить их практическое применение в разработке программного обеспечения.
Подсказки:
Рассмотрите структуры, используемые для хранения коллекций элемент ...
Очереди и стеки
Можете объяснить структуры стек (stack) и очередь (queue) и где они используются?
Где каждая структура может быть наиболее подходящим выбором?
Подсказки:
Подумайте о природе стека LIFO (Last In, Fi ...
Рекурсия и итерация
Что такое рекурсия и итерация в контексте алгоритмов?
Когда следует выбрать рекурсию вместо итерации и наоборот?
Какие потенциальные проблемы могут возникнуть при использовании рекурсии на бэкенде?
...
Сбалансированные деревья и хеш-таблицы, их области применения
Что такое сбалансированные деревья и почему они важны для производительности?
Когда следует выбирать сбалансированные деревья вместо хеш-таблиц в приложениях бэкенда?
Подсказки:
Подуймайте об опера ...
Внутреннее устройство хеш-таблицы
Как устроена хэш-таблица как структура? Как она работает?
Доп вопросы:
Приведите сценарий, в котором хэш-таблица была бы оптимальным выбором структуры данных.
Можете объяснить способы обработки кол ...
Массивы и связанные списки: что и когда лучше, почему
Какие основные различия между массивами (array) и связными списками (linked list)?
Дополнительные вопросы:
В чем разница между ними в отношении использования памяти и доступа к их элементам?
В каки ...