Имали ли сте опит с внедряването и използването на патърна Saga в архитектурата на микросервизи?
C#
Уточнявате дали имате специални предпочитания или изисквания към бъдещата роля?
Плюсове и минуси на монолитната и микросервизната архитектура.
Как да решите проблема с деградацията на кеша (Redis отговаря за 1 секунда, базата данни за 10 ms)?
Имали ли сте опит в разработването или поддръжката на монолитни приложения?
Реализирайте метод, който запълва пълното име на потребителя от хранилището (IDbRepository или ICacheRepository) и предава обогатеното събитие нататък (IEventSaver) Необходимо е да се постигне максимална производителност Кешът съдържа 99,9% от актуалните данни Първоначалният ред на събитията при запазване може да бъде нарушен public async Task Enrich(IEnumerable<UserEvent> events) { }
Разкажи за себе си, за интересните и значими задачи, за нещо трудно в кариерата ти, с което се гордееш.
Можете ли да обясните концепцията за Boxing в контекста на езици за програмиране?
Обяснете разликата между референтни и стойностни типове.
Каква е причината за използването на различни сегменти памет за съхранение на обекти вместо да ги обедините в една секция?
Можете ли да обясните какво се разбира под индекси в контекста на SQL бази данни?
Как да възстановите последователността, ако Kubernetes се срина след успешно резервиране на хотел, но преди да запази ID-то на резервацията?
Можете ли да обясните какво означава моделът Dispose в програмирането?
Колко поколения има структурата данни тип купа?
Може ли винаги да използвате стек за съхраняване на значими типове данни?
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; }
Има статичен речник, и искаме да пишем в него от различни нишки. Как е най-добре да го направим?
Какво е обектно-ориентирано програмиране?
Посочете примитивите за синхронизация и кратко опишете принципите им на работа.