Сравните монолит и микросервисы — плюсы и минусы каждого подхода.
Расскажи разницу между ссылочными и значимыми типами.
Будет ли корректно работать логика catch-блоков для компенсации при использовании await Task.WhenAll? Какое исключение будет брошено?
К вам на Code Review попала задача коллеги Какие проблемы в коде вы видите?
Интервью займет 1 час, будет live-coding. Подключайся с компьютера и с видео, чтобы было удобно решать задачи)
Когда происходит замыкание (closure)?
Как dotnet понимает, что IO-операция завершилась?
Что такое ValueTask и когда его стоит использовать?
Что будет выведено в консоль? ```csharp public class Program { static void Main() { var myClassObj = new MyClass(); var myStructObj = new MyStruct(); MethodA(myClassObj.Num); // MethodB(myStructObj); MethodC(myClassObj); MethodD(myClassObj); Console.WriteLine(myClassObj.Num); // ? Console.WriteLine(myStructObj.Num); // ? } private static void MethodA(int num) { num = num + 1; } private static void MethodB(MyStruct myStruct) { myStruct.Num += 1; } private static void MethodC(MyClass myClass) { myClass.Num += 1; } private static void MethodD(MyClass myClass) { myClass = new MyClass(); } } ```
Есть процесс клиентской поддержки. В рамках него есть процесс назначения тикетов поддержки на оператора. У оператора может быть не более 5 тикетов одновременно. TABLE Tickets ( Id int PK, -- прочие колонки ) TABLE Operators ( Id int PK, -- прочие колонки ) -- маппинг оператор-тикет для активных тикетов. -- При закрытии тикета маппинг удаляется. TABLE OperatorsTicket ( TicketId int PK, OperatorId int NULL ) // в рамках транзакции public void TryAssignOperatorToTicket(int ticketId) { var avalibleOperator = _db.GetOperatorsWithTicketsCount(maxTickets: 4) .OrderBy(o => o.TicketsCount).FirstOrDefault(); if(avalibleOperator is not null) _db.AssignTicketToOperator(ticketId, avalibleOperator.Id); else _db.AssignTicketToOperator(ticketId, null); }
Как работать со Scoped-сервисами (например, DbContext) внутри Kafka/MassTransit consumer, где нет scope запроса?
Дана таблица: create table bank_users ( id bigint generated by default as identity primary key, status int, employee_number varchar(8) unique, first_name varchar(100) not null, last_name varchar(100) not null, middle_name varchar(100) default null, email varchar(100) not null unique, created_at_date_time timestamptz ); create index ix_created_at_date_time_status on bank_users (created_at_date_time, status); Есть запрос: explain (costs off, verbose) select employee_number, first_name, last_name from bank_users where status = 2 order by created_at_date_time; Возвращает: Sort Output: employee_number, first_name, last_name, created_at_date_time Sort Key: bank_users.created_at_date_time -> Seq Scan on bank_users Output: employee_number, first_name, last_name, created_at_date_time Filter: (bank_users.status = 2) Что можно сказать об оптимальности плана запроса?
Задача: вас попросили сделать код ревью новой фичи, суть которой в возможности забронировать тур (состоящий из авиабилета и отеля). Фичи для раздельного бронирования авиабилета и тура уже существуют, от данной задачи ожидается наличие единого метода, который забронирует либо тур целиком, либо ничего из компонентов тура.
Что такое проблема N+1?
Что предложить разработчику для улучшения тестируемости?
Что такое объектно-ориентированное программирование?
Что такое тип record в C#? Для чего используете?
Основные структуры данных в C#, которыми пользуетесь?
Сколько памяти аллоцируется при создании нового HashSet?
Как реализовать собственный Where без yield? Что такое yield и как он работает под капотом?