Подборка объединяет вопросы, отмеченные на этапах интервью в ПочтаТех. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, backend, sql.
Инверсия зависимостей (Dependency Inversion Principle) позволяет отделить высокоуровневую логику от конкретных реализаций зависимостей, заменяя их абстракциями (например, интерфейсами).
Механизмы синхронизации в программировании используются для управления доступом нескольких потоков к общим ресурсам, чтобы избежать конфликтов и ошибок, таких как состояние гонки. В C# это могут быть:
Да, применение асинхронности для подсчёта суммы элементов большого массива из миллиарда чисел оправдано. Такая задача хорошо распараллеливается, так как сумма — ассоциативная операция.
Они помогают гарантировать корректность и целостность данных внутри объекта. Например, если у класса есть поле "возраст", инвариантом может быть условие, что возраст всегда должен быть неотрицательным.