Какие паттерны ООП вы использовали на проектах?
Паттерн Стратегия позволяет вынести вариации поведения (алгоритмы) в отдельные классы, что даёт несколько преимуществ при рефакторинге:
Читать ответПодготовка к интервью
881 вопрос с собеседований в Ozon
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Ozon. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, backend, sql.
Каталог
Паттерн Стратегия позволяет вынести вариации поведения (алгоритмы) в отдельные классы, что даёт несколько преимуществ при рефакторинге:
Читать ответВ одном из проектов я разрабатывал систему управления заказами для интернет-магазина на C#.
Читать ответДля диагностики и устранения плохой производительности SQL-запроса в C# (или в целом) обычно выполняют следующие шаги:
Читать ответВажные типы данных внутри класса в C# обычно хранятся в виде приватных или защищённых полей (private/protected fields) или в виде свойств (properties), если требуется контролируемый доступ.
Читать ответВ контексте операционных систем планировщик (scheduler) — это компонент, который управляет распределением процессорного времени между запущенными процессами или потоками.
Читать ответКоманда VACUUM в PostgreSQL используется для очистки базы данных от «мертвых» строк, которые остаются после обновлений и удалений. Это помогает освободить место на диске и предотвратить рост таблиц и индексов.
Читать ответДа, автоматические тесты — важная часть разработки, позволяющая проверять корректность кода и предотвращать регрессии.
Читать ответДля реализации единого метода DoSomethingWithItem, который в зависимости от параметров вызывает нужный метод изменения товара, удобно использовать паттерн "Команда" или стратегию с делегатами.
Читать ответВ своих проектах я использовал Kubernetes для автоматизации развертывания, масштабирования и управления контейнеризованными приложениями.
Читать ответSemaphore — это примитив синхронизации, который управляет доступом к ограниченному пулу ресурсов. Он поддерживает счетчик, который определяет количество потоков, которые могут одновременно получить доступ к ресурсу.
Читать ответНельзя применять операцию await внутри критической секции, защищённой стандартной блокировкой (например, lock в C#).
Читать ответДинамическое управление памятью в куче (heap) означает, что память выделяется и освобождается во время выполнения программы, а не заранее.
Читать ответ