C#
Малумотту өзгөртүүчү үч метод бар (күйдү өзгөртөт, тегдердин курамын өзгөртөт жана салмакты белгилейт). Келечекте дагы 10-20 метод кошулары пландаштырылууда (өздөрү NuGet катары башка кызматта ишке ашырылышы мүмкүн), бир гана DoSomethingWithItem методун ишке ашыруу керек, ал кирүү параметрлерине жараша ар кандай өзгөртүүлөрдү чалса болот. Демек, методго "Күйдү өзгөрт" же "Салмакты белгилөө" деп айтса болот, жана анын ишке ашырылышы StateChanger.Change же WeightSetter.Set сыяктуу методдорду чакырган болот. StateChanger, TagsSetter жана WeightSetter класстары өзгөртүлүшү мүмкүн. Маңызы — бизнес функционалдуулугун сактоо.
Учурдагы компанияңызда кандай даражадасыз?
C# да интерфейс эмне жана ал кандай артыкчылыктарды берет, анын ичинде тестирлөө үчүн?
IEnumerable ыкмасында SingleOrDefault жана FirstOrDefault ортосунда кандай айырма бар?
MassTransit'te Activity эмне?
Singleton lock объектисин, static талаасы менен instance, жеке конструктор жана GetInstance методу менен. Канча көйгөй бар?
ASP.NET Core-догу суроо-талаптар каналы (middleware pipeline) эмне?
Класс методун кеңейтүүнү кантип жасаса болот, кодду өзгөртпөстөн?
Монолиттик жана микросервистик архитектуранын артыкчылыктары жана кемчиликтери.
Мобил түзмөктөрдөн мобил субдоменге (VKontakte сыяктуу) колдонуучуларды багыттоону кантип ишке ашыруу керек?
Телеметриялык маалыматтар боюнча кайсы үлгүлөр жана топтоо иштери жүргүзүлдү?
Outbox жана Inbox үлгүлөрү эмнелер?
int[] Distinct(int[] src) //[1,2,5,3,3,2] → [1,2,5,3] // LINQ-ты колдонбостон, элементтердин тартибин сактап, дублдалбаган массив кайтарган ыкманы ишке ашырыңыз. //[1,2,5,3,3,2] → [1,2,5,3] //[Төмөндө чечимди киргизиңиз]
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; }
Жолдаштанын кодду карап чыгуу тапшырмасын алдыңыз Коддо кандай проблемалар көрөсүз?
GetHashCode жана Equals бирге кайра жазылышы керекпи? Же бирөөнү гана кайра жазса болобу?
SOLIDтин эки принципин атаңыз жана алардын бузулушунун мисалдарын келтириңиз.
gRPC эмне жана ал жөнөкөй HTTP-ден эмнеге айырмаланат?
SQL серверинин ичинде суроо-талап ишке ашырылганда эмне болот? Суроо-талаптын текстинен натыйжаны кантип алууга болот?
Keycloak'то уруксат берүү формасы өзү тарабынан камсыздалабы?