Микросервис архитектурасында Saga паттернін енгізу және қолдану тәжірибеңіз бар ма?
C#
Сіз болашақ рөлге қатысты ерекше қалауларыңыз немесе талаптарыңыз бар-жоғын нақтылайсыз ба?
Монолиттік және микросервистік архитектураның артықшылықтары мен кемшіліктері.
Redis 1 секундта жауап берсе, ал дерекқор 10мс болса, кэш деградациясының мәселесін қалай шешуге болады?
Монолиттік қосымшаларды әзірлеу немесе қолдау тәжірибеңіз бар ма?
Пайдаланушының толық атын сақтау қоймасынан (IDbRepository немесе ICacheRepository) толтырып, байытылған оқиғаны әрі қарай тарату әдісін жүзеге асырыңыз (IEventSaver). Өнімділікті барынша арттырыңыз. Кэште 99.9% деректер өзекті. Оқиғаларды сақтау кезінде бастапқы тәртіп бұзылуы мүмкін.
Өзіңіз туралы, қызықты және маңызды тапсырмалар, мансаптағы қиын нәрселер, мақтан тұтатын нәрселер туралы айтыңыз.
Сілтеме және мән типтері арасындағы айырмашылықты түсіндіріңіз.
Объектілерді сақтау үшін әртүрлі жады сегменттерін қолданудың себебі неде, оны бір аймаққа біріктіру орнына?
SQL деректер базасының контекстінде индекс дегеніміз не екенін түсіндіре аласыз ба?
Kubernetes-те pod қонақүйді сәтті брондағаннан кейін, бірақ брондау ID-ін сақтамай тұрып, қалай тұтастықты қалпына келтіруге болады?
Бағдарламалауда Dispose паттерні дегеніміз не екенін түсіндіріп берсеңіз.
Heap деректер құрылымында қанша ұрпақ бар?
Стектер әрқашан мән типтерін сақтау үшін қолдана ала ма?
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 ішкі әдіске кетеді, ұстамайды Task.WhenAll(resultBookFlight, resultBookHotel); //Неге статикалық 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; }
Статикалық сөздік бар, оған әртүрлі ағындардан жазғымыз келеді. Оны қалай ең жақсы жасауға болады?
Объектіге бағытталған бағдарламалау дегеніміз не?
Синхрондау негізгі құралдарын атаңыз және олардың қалай жұмыс істейтінін қысқаша сипаттаңыз.