Встречается на собеседованиях • сегодня

Оптимизировал ли базы данных

Да, оптимизировал базы данных, используя следующие подходы:

  1. Индексы – создавал индексы для часто запрашиваемых полей, ускоряя поиск.
    python
    # Пример создания индекса в Django
    class User(models.Model):
        username = models.CharField(max_length=100, db_index=True)
  1. Оптимизация запросов – избегал N+1 проблемы с select_related и prefetch_related в ORM.

    python
    # Плохо: N+1 запрос
    users = User.objects.all()
    for user in users:
        print(user.profile.age)
    
    # Хорошо: 1 запрос
    users = User.objects.select_related('profile').all()
  2. Денормализация – иногда жертвовал нормализацией для ускорения чтения.

  3. Кэширование – использовал Redis или Memcached для частых запросов.

  4. Партиционирование – разделял большие таблицы на логические части.

Всегда анализировал запросы через EXPLAIN и профилировал нагрузку.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы