Конкурентные списки (ConcurrentCollection) — расскажите об опыте использования?
Есть медленный SELECT-запрос, который со временем стал выполняться дольше. Как диагностировать проблему?
Работа с базами данных — Entity Framework, Dapper, построение индексов?
Дана таблица: 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) Что можно сказать об оптимальности плана запроса?
Расскажите разницу между IEnumerable и IQueryable.
Как соотносятся HTTP и TCP? Как соотносятся UDP и TCP?
Приложение с БД — работает в одной среде, деградирует в другой. Почему?
Расскажи про разницу между интерфейсами и абстрактными классами. Для чего придумали реализацию по умолчанию в интерфейсах?
Существует три метода, которые меняют информацию о товаре (изменяют состояние, изменяют состав тегов и задает вес). Так как в дальнейшем планируется добавить еще 10-20 методов которые меняют информацию о товаре (сами методы могут быть реализованы как nuget в другом сервисе) нужно реализовать единственный метод DoSomethingWithItem который в зависимости от входных параметров мог бы вызывать любое изменение товара. То есть методу может быть сказано "Поменяй состояние" или "Задай вес" и так далее и его реализация уже сама вызовет один из методов StateChanger.Change или WeightSetter.Set и т.д. Классы StateChanger, TagsSetter и WeightSetter можно менять. Главное сохранить бизнесовую функциональность. namespace ItemsService { public sealed class StateChanger { public enum State { Active, InActive } public void Change(int itemId, State newState) { } } public sealed class TagsSetter { public void Set(int itemId, string[] tags) { } } public sealed class WeightSetter { public void Set(int itemId, int weight) { } } public sealed class ItemsService { //public void DoSomethingWithItem } }
Будет ли одинаковый план выполнения у двух клиентов с одинаковой структурой БД, но разными данными?
public bool BookTour(string userId, DateTime start, DateTime end, int hotelId, string roomType, string flightClass, int airCompanyId, int flightnumber) { try { //flightClass тоже не хотелось бы парсить enum var flightInfo = new FlightInfo(Enum.Parse<FlightClass>(flightClass), airCompanyId, flightnumber); var resultBookFlight = _airWaysService.Book(GetUser(userId), flightInfo); //roomType тоже не хотелось бы парсить enum var rentInfo = new RentInfo(start, end, hotelId, Enum.Parse<RoomType>(roomType)); //GetUserId в отдельная переменная var resultBookHotel = _hotelService.Book(GetUser(userId), rentInfo); //Exception уйдут в inner, не отловит Task.WhenAll(resultBookFlight, resultBookHotel); //Почему статикa reservationIdAir = resultBookFlight.Result; _reservationIdHotel = resultBookHotel.Result; } catch (BookFlightException) { _hotelService.CancelBook(_reservationIdAir); return false; } catch (BookHotelException) { _airWaysService.CancelBook(_reservationIdHotel); return false; } catch (Exception ex) { throw new ApplicationException(ex.Message); } finally { //поля 100% не инициализованы //Почему после exception мы пытаемся что-то сохранить // GetUser уже вынесли unitOfWork.Execute(async () => { await _tourRepository.Save(_reservationIdAir, _reservationIdHotel, GetUser(userId)); }).RunSynchronously(); //Interlock.Increment() _countBooked++; } return true; }
Как ускорить этот SQL запрос максимально?
IMemoryCache Какие плюсы и минусы использования IMemoryCache в приложении? OWASP top 10, что это такое? Метрики кода 1. Какие метрики качества кода знаете? 2. Использовали? 3. Как считали? 4. Часть CI или adhoc Нагрузка Что будете делать если ваш сервис (веб страница) зависает на тестовом или нагруженном контуре, а локально все работает?
В чём разница между RabbitMQ и Kafka?
Как работает конструкция async/await? В каком потоке выполняется код после await?
Расскажи о себе, своих интересных и значимых задачах, о чём-то сложном в карьере, чем гордишься.
Сколько запросов к сетевому сервису будет выполнено при использовании FilterLast с take(4) из коллекции из 10 элементов? А FilterLast2?
Как реализована авторизация?
Зачем нужна асинхронность в .NET? Как она работает?
Что использовали для трейсинга и метрик?