Какая вычислительная сложность этого запроса? Можно ли отсортировать за один проход?
Как определить язык пользователя, который впервые заходит на сайт?
Что означает ключевое слово yield? Зачем оно используется?
С Linq2DB не работали?
Расскажите разницу между Action-фильтрами и Middleware в ASP.NET Core.
Kafka — доводилось работать, расскажи особенности?
Расскажите про последнее место работы — Северсталь. Чем занимались, сколько проработали, какой стек?
Микросервисная архитектура — как сервисы общаются между собой? RabbitMQ vs Kafka — отличия?
Зачем вы добавили List в решение, если можно просто использовать HashSet и сделать ToList?
Какая сложность у быстрой сортировки (QuickSort)?
Расскажи про опыт оптимизации сложных SQL-запросов и работы с планом выполнения. Был ли кейс, где удалось ускорить запрос в 2-3 раза?
Ревью: тест CalendarService.cs: public class CalendarService { public bool IsWorkingDay() { switch (DateTime.Now.DayOfWeek) { case DayOfWeek.Saturday: case DayOfWeek.Sunday: return false; default: return true; } } } CalendarServiceTests.cs: public class CalendarServiceTests { [Fact] public void IsWorkingDay_Always_ReturnsTrue() { // Arrange var calendarService = new CalendarService(); // Act var actual = calendarService.IsWorkingDay(); // Assert Assert.True(actual); } }
Расскажи про последнее место работы и свой опыт
Алгоритмы балансировки нагрузки. Как выбрать конкретный инстанс сервиса?
Map в Go — как организована под капотом?
По технологиям — какой стек использовали?
Ревью: прикладной код Класс содержит логику обработки новых заказов. Извлекает из БД заказы и позиции, после чего обращается по http к внешнему микросервису Stock, в котором бронирует товары по позициям заказа. Если все бронирования выполнены успешно, микросервис подтверждает бронь заказа в Stock и отмечает заказ обработанным. Микросервис запущен в несколько экземпляров, поэтому метод Process может выполняться параллельно. Для того, чтобы не обрабатывать одни и те же строки используется механизм пессимистичной блокировки PostgreSQL Select for update ... skip locked. Реализация IBus отправляет сообщения в RabbitMq. ```csharp public sealed class PendingOrdersProcessor { public async Task PendingOrdersProcessor(ILogger logger, IBus bus, HttpStockService st { var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); var cs = _cs[env]; _db = new OrdersRepository(cs); _bus = bus; logger = logger; ``` ```csharp _stockService = stockService; } private readonly ILogger _logger; private readonly IOrdersRepository _db; private readonly IStockService _stockService; private readonly IBus _bus; private static readonly Dictionary<string, string> _cs = new { { "Development", "User ID=root;Password=myPassword;Host=localhost;Port=5432;Database=myDataBase" }, { "Production", "User ID=root;Password=myPassword;Host=prod-db;Port=5432;Database= "Pooling=true;Min Pool Size=0;Max Pool Size=1;" } }; ```
Что такое индексы? Какие бывают?
Чем Entity Framework отличается от Dapper?
Как корректно реализовать отмену бронирования при параллельном выполнении задач через Task.WhenAll?