De ce crearea unui nou HttpClient pentru fiecare solicitare reprezintă o problemă și cum se poate remedia?
Analiza codului cu IEnumerable: problema multiplelor iterații și cum să o corectați. Calculări leneșe vs materializare.
Ai lucrat ca singur dezvoltator pe un proiect. Cum a fost și cât de stresant a fost?
Vorbiți despre principiile SOLID. Ce înseamnă Principiul Inversiunii Dependinței?
Cum să optimizezi o interogare SQL lentă cu scanare completă a tabelului?
Care este diferența dintre ref și out? Ce înseamnă parametrul in?
Poți compara RabbitMQ și Kafka? Pentru ce sarcini ai folosi fiecare dintre ele?
Cum organizezi rularea aceluiași test de mai multe ori cu argumente diferite fără a folosi atribute?
Ce este IAsyncDisposable și la ce folosește?
Cum funcționează distribuirea mesajelor în RabbitMQ între mai mulți consumatori ai aceleiași cozi?
public bool BookTour(string userId, DateTime start, DateTime end, int hotelId, string roomType, string flightClass, int airCompanyId, int flightnumber) { try { //flightClass de asemenea nu mi-aș dori să fie analizat ca enum var flightInfo = new FlightInfo(Enum.Parse<FlightClass>(flightClass), airCompanyId, flightnumber); var resultBookFlight = _airWaysService.Book(GetUser(userId), flightInfo); //roomType de asemenea nu mi-aș dori să fie analizat ca enum var rentInfo = new RentInfo(start, end, hotelId, Enum.Parse<RoomType>(roomType)); //GetUserId într-o variabilă separată var resultBookHotel = _hotelService.Book(GetUser(userId), rentInfo); //Excepțiile vor merge în interior, nu vor fi capturate Task.WhenAll(resultBookFlight, resultBookHotel); //De ce 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 { //câmpurile 100% nu sunt inițializate //De ce după excepție încercăm să salvăm ceva //GetUser deja a fost extras unitOfWork.Execute(async () => { await _tourRepository.Save(_reservationIdAir, _reservationIdHotel, GetUser(userId)); }).RunSynchronously(); //Interlock.Increment() _countBooked++; } return true; }
În ce interval financiar luați în considerare ofertele?
Ce este asincronia și în ce constă? Cum se realizează?
Cum faci o clasă iterabilă?
Ce este modelul OSI și de ce există?
Gestionarea memoriei: stivă, heap, tipuri de referință și tipuri de valoare — ce știi despre asta?
Ce înseamnă abrevierea OLTP și OLAP, care este diferența, inclusiv arhitecturile de stocare?
Colecție de funcții, buclă 0-9, adăugăm lambda care capturează i, le apelăm pe toate. Ce va afișa?
Ce te motivează la muncă, de ce te bucuri?
Există trei metode care modifică informațiile despre articol (modifică starea, schimbă compoziția etichetelor și setează greutatea). Deoarece în viitor se intenționează să se adauge încă 10-20 de metode care modifică informațiile despre articol (metodele în sine pot fi implementate ca NuGet într-un alt serviciu), trebuie implementată o singură metodă DoSomethingWithItem care, în funcție de parametrii de intrare, poate apela orice modificare a articolului. Adică, metodei i se poate spune "Schimbă starea" sau "Setează greutatea" și implementarea sa va apela unul dintre metode precum StateChanger.Change sau WeightSetter.Set etc. Clasele StateChanger, TagsSetter și WeightSetter pot fi modificate. Esențial este să păstreze funcționalitatea de business.