Sobes.tech

Как да използвате договори (интерфейси) в услуги? Dependency Injection в C#.

Senior
Сбербанк
54

Как работи финализаторът? Сравнете финализатора и IDisposable.

Middle+
aiins
54

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); //Изключенията ще отидат вътре, няма да бъдат уловени Task.WhenAll(resultBookFlight, resultBookHotel); //Защо static 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% не са инициализирани //Защо след изключение се опитваме да запазим нещо //GetUser вече е извлечено unitOfWork.Execute(async () => { await _tourRepository.Save(_reservationIdAir, _reservationIdHotel, GetUser(userId)); }).RunSynchronously(); //Interlock.Increment() _countBooked++; } return true; }

Middle
OZONOZON
54

Получихте задача от колега за преглед на код Какви проблеми виждате в кода?

Middle+
СБК ПАРУС
54

Какви lifetime съществуват в .NET DI и защо Redis ConnectionMultiplexer трябва да бъде регистриран като Singleton?

Middle
Альфа-БанкАльфа-Банк
54

Как работи конструкцията async/await? В кой поток се изпълнява кодът след await?

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

С какъв проблем можем да се сблъскаме, ако кешираме няколко свързани данни (температура и новини)?

Middle+
ООО Норд Клан
54

Как да синхронизираме приложения, работещи на различни виртуални машини/pod-ове на Kubernetes?

Middle+
aiins
54

Какво се случва вътре в SQL сървъра при изпълнение на заявка? Как се получава резултатът от текста на заявката?

Middle
PyrusPyrus
54

Какво прави методът Intersect()?

Junior
СБК ПАРУС
54

Какво е инверсия на зависимостите (принцип SOLID)?

Middle
PyrusPyrus
54

SELECT работи бавно — каква може да е причината и какво да направите?

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

Какво е интерфейс в C# и какви предимства дава, включително за тестване?

Middle
SelectySelecty
54

Какво е Activity в MassTransit?

Middle+
ООО Норд Клан
53

Какво означава yield return?

Middle
Чиббис
53

Каква е сложността при получаване на елемент от масив по индекс?

Senior
Сбербанк
53

Разкажи за опита ти в оптимизирането на сложни SQL заявки и работата с план за изпълнение. Имало ли е случай, в който успя да ускориш заявка 2-3 пъти?

Middle
OZONOZON
53

Какви структури от данни (контейнери) знаеш в C#? Кога коя да използваш?

Senior
Сбербанк
53

Каква практическа полза носи async/await в WinForms/WPF клиент?

Middle
ИНДАСОФТ
53

Какво е deadlock във връзка с базите данни?

Senior
.wrk
53
/180