Sobes.tech

Сравните монолит и микросервисы — плюсы и минусы каждого подхода.

Middle+
aiins
6

Расскажи разницу между ссылочными и значимыми типами.

Middle
OZONOZON
6

Будет ли корректно работать логика catch-блоков для компенсации при использовании await Task.WhenAll? Какое исключение будет брошено?

Middle+
OZONOZON
6

К вам на Code Review попала задача коллеги Какие проблемы в коде вы видите?

Middle+
СБК ПАРУС
6

Интервью займет 1 час, будет live-coding. Подключайся с компьютера и с видео, чтобы было удобно решать задачи)

Middle+
01.tech
6

Когда происходит замыкание (closure)?

Middle+
Gravilink
6

Как dotnet понимает, что IO-операция завершилась?

Middle
OZONOZON
6

Что такое ValueTask и когда его стоит использовать?

Middle+
СБК ПАРУС
6

Что будет выведено в консоль? ```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(); } } ```

Middle+
Core outstaff
6

Есть процесс клиентской поддержки. В рамках него есть процесс назначения тикетов поддержки на оператора. У оператора может быть не более 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); }

Middle+
PyrusPyrus
6

Как работать со Scoped-сервисами (например, DbContext) внутри Kafka/MassTransit consumer, где нет scope запроса?

Senior
Сбербанк
6

Дана таблица: 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) Что можно сказать об оптимальности плана запроса?

Middle+
Gravilink
6

Задача: вас попросили сделать код ревью новой фичи, суть которой в возможности забронировать тур (состоящий из авиабилета и отеля). Фичи для раздельного бронирования авиабилета и тура уже существуют, от данной задачи ожидается наличие единого метода, который забронирует либо тур целиком, либо ничего из компонентов тура.

Middle+
OZONOZON
6

Что такое проблема N+1?

Middle
ИТ Инополис
6

Что предложить разработчику для улучшения тестируемости?

Middle+
Gravilink
6

Что такое объектно-ориентированное программирование?

Middle+
OZONOZON
6

Что такое тип record в C#? Для чего используете?

Middle+
aiins
6

Основные структуры данных в C#, которыми пользуетесь?

Middle
СБК ПАРУС
6

Сколько памяти аллоцируется при создании нового HashSet?

Middle
PyrusPyrus
6

Как реализовать собственный Where без yield? Что такое yield и как он работает под капотом?

Middle+
Core outstaff
6
/168