Monolītiskās un mikroservisu arhitektūras priekšrocības un trūkumi.
C#
Kā risināt kešatmiņas degradācijas problēmu (Redis atbild 1 sekundē, datu bāze 10 ms)?
Vai jums ir pieredze monolītu lietojumprogrammu izstrādē vai atbalstīšanā?
Izskaidrojiet atsauces un vērtības tipu atšķirības.
Vai mēs varam izmantot await lock blokā?
Realizējiet metodi, kas aizpilda lietotāja pilno vārda no krātuves (IDbRepository vai ICacheRepository) un nodod bagātināto notikumu tālāk (IEventSaver) Nepieciešams sasniegt maksimālo veiktspēju Kešā ir 99,9% aktuālo datu Sākotnējais notikumu kārtība saglabāšanas laikā var tikt pārkāpta public async Task Enrich(IEnumerable<UserEvent> events) { }
Kāda ir iemesls, kāpēc izmanto dažādus atmiņas segmentus objektu glabāšanai, nevis tos apvienojot vienā sadaļā?
Kā atjaunot saskaņotību, ja Kubernetes sabruka pēc veiksmīgas viesnīcas rezervēšanas, bet pirms rezervācijas ID saglabāšanas?
Vai jūs varat izskaidrot, ko saprot ar indeksiem SQL datu bāzēs?
Pastāsti par sevi, par saviem interesantajiem un nozīmīgajiem uzdevumiem, par kaut ko grūtu karjerā, ar ko lepojies.
Vai jūs varat izskaidrot, ko nozīmē Dispose paraugs programmēšanā?
Cik paaudzes ir datu struktūra tipa kaudze?
Vai vienmēr var izmantot steku, lai glabātu nozīmīgus datu tipus?
publiska bool BookTour(string userId, DateTime start, DateTime end, int hotelId, string roomType, string flightClass, int airCompanyId, int flightnumber) { try { //flightClass arī nevēlētos parsēt uz enum var flightInfo = new FlightInfo(Enum.Parse<FlightClass>(flightClass), airCompanyId, flightnumber); var resultBookFlight = _airWaysService.Book(GetUser(userId), flightInfo); //roomType arī nevēlētos parsēt uz enum var rentInfo = new RentInfo(start, end, hotelId, Enum.Parse<RoomType>(roomType)); //GetUserId atsevišķa mainīgā var resultBookHotel = _hotelService.Book(GetUser(userId), rentInfo); //Izņēmumi tiks apstrādāti iekšējā, neķerot Task.WhenAll(resultBookFlight, resultBookHotel); //Kāpēc statiska 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 { //lauki 100% nav inicializēti //Kāpēc pēc izņēmuma mēģinām kaut ko saglabāt // GetUser jau ir izņemts unitOfWork.Execute(async () => { await _tourRepository.Save(_reservationIdAir, _reservationIdHotel, GetUser(userId)); }).RunSynchronously(); //Interlock.Increment() _countBooked++; } return true; }
Ir statiska vārdnīca, un mēs vēlamies tajā rakstīt no dažādām pavedieniem. Kā to vislabāk izdarīt?
Kas ir objektorientētā programmēšana?
Nosauciet sinhronizācijas primitīvus un īsi aprakstiet to darbības principus.