What tasks does a developer face when scaling a solution to other checkpoints: new features, bugs, or core improvements?
C#
What should you do if the network connection disappears during a REST request?
[Name] talked about the last place of work: what system it was, what specific tasks he performed, what technologies and patterns were used?
Why is distributing data across shards via customerId % shardCount problematic when changing the number of shards, and what solution should be used?
public bool BookTour(string userId, DateTime start, DateTime end, int hotelId, string roomType, string flightClass, int airCompanyId, int flightnumber) { try { //flightClass also not desired to parse enum var flightInfo = new FlightInfo(Enum.Parse<FlightClass>(flightClass), airCompanyId, flightnumber); var resultBookFlight = _airWaysService.Book(GetUser(userId), flightInfo); //roomType also not desired to parse enum var rentInfo = new RentInfo(start, end, hotelId, Enum.Parse<RoomType>(roomType)); //GetUserId in a separate variable var resultBookHotel = _hotelService.Book(GetUser(userId), rentInfo); //Exceptions will go to inner, not caught Task.WhenAll(resultBookFlight, resultBookHotel); //Why 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 { //fields are 100% uninitialized //Why do we try to save something after exception //GetUser already extracted unitOfWork.Execute(async () => { await _tourRepository.Save(_reservationIdAir, _reservationIdHotel, GetUser(userId)); }).RunSynchronously(); //Interlock.Increment() _countBooked++; } return true; }
What is SOLID?
Explain the concept of generation in a memory management system and its role in garbage collection.
Tell about the difference between interfaces and abstract classes. Why was default implementation introduced in interfaces?
Kafka — have you worked with it, tell about its features?
Where do you see yourself in five years?
This is a query execution plan select b, sum(d) from T group by b for table create table T (A int not null primary key, b int, c int, d float). The table has no foreign keys. How to reduce the query execution time?
What is asynchrony and how have you applied it in your work?
How were distributed transactions implemented in microservices? Did you use sagas?
What is the complexity of inserting into a List and Dictionary? What are collisions in dictionaries?
How to write text to a file simultaneously from two different tasks? How to synchronize access?
Are there tasks you dislike or want to do less?
RabbitMQ — have you worked with it, tell about its features?
In which direction do you want to grow professionally?
How does List differ from IEnumerable?
What methods can improve the performance of LINQ queries?