C#
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; }
Ұсыныстарды қандай қаржылық диапазонда қарастырып отырсыз?
Әріптесіңіздің тапсырмасы Code Review-ға түсті Кодта қандай мәселелер көресіз?
Асинхрондылық дегеніміз не және оның мәні неде? Ол қалай жүзеге асырылады?
Монолит пен микросервистерді салыстырыңыз — әрқайсысының артықшылықтары мен кемшіліктері.
async/await деген не, ол не үшін қажет және ол қалай жүзеге асады?
Бұл SQL сұрауын барынша қалай оңтайлануға болады?
БД құрылымы бірдей, бірақ деректері әртүрлі екі клиенттің орындау жоспары бірдей бола ма?
Осы сұраудың есептеу күрделілігі қандай? Оны бір өту арқылы сұрыптауға бола ма?
Сілтеме және мән типтері арасындағы айырмашылықты түсіндіріңіз.
LINQ қолдандың ба? Материализация деген не?
RabbitMQ мен Kafka арасындағы айырмашылық неде?
IEnumerable әдістерінің қысқаша салыстырмасы: SingleOrDefault және FirstOrDefault — айырмашылығы неде?
Неге lock ішінде async код жазуға болмайды?
Миллиондаған жазбалары бар кестеде баяу SQL сұрауын қалай оңтайландырар едіңіз?
Қашан орындалу await-қа жетсе, не болады? Компилятор оны қалай өңдейді?
Жақында жасаған қызықты тапсырмаңыз туралы айта аласыз ба (складтағы роботтарды басқару сервисінің архитектурасы сипаттамасы)?
gRPC арқылы қызметтер арасындағы коммуникация мен дәстүрлі HTTP өзара әрекеттесуін салыстыра аласыз ба? Әр тәсілдің артықшылықтары мен кемшіліктері.
Транзакциялар түрлері / оқшаулау деңгейлері?
Struct дегеніміз не және ол class-тан қалай ерекшеленеді?