В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Для реализации highload RPC ручки /weather с нагрузкой 10k RPS и функцией aiWeatherForecast(), которая работает около 1 секунды, нужно обеспечить масштабируемость и асинхронность, чтобы не блокировать обработку запросов.
Программа выполнит 10000 итераций, в каждой из которых вызывается функция networkRequest(), которая делает паузу на 1 миллисекунду (эмуляция сетевого запроса) и увеличивает глобальную переменную count на 1.
SSD (твердотельные накопители) обеспечивают значительно более высокий показатель операций ввода-вывода в секунду (IOPS) по сравнению с HDD (жесткими дисками).
Использование git merge --squash для слияния ветки refactor/db-constraints в develop приводит к тому, что все 15 коммитов из ветки рефакторинга объединяются в один новый коммит в develop.
а) Чтобы получить имя сотрудника с максимальной зарплатой и название его отдела, можно использовать подзапрос для поиска максимальной зарплаты и соединение с таблицей отделов:
Обеспечить транзакционность при записи события одновременно в брокер сообщений (Kafka/RabbitMQ) и базу данных — нетривиальная задача, так как это две разные системы с разными транзакционными моделями.
В такой задаче важно обеспечить атомарность операции бронирования тура, чтобы либо оба компонента (авиабилет и отель) были забронированы, либо ни один — иначе возможна рассинхронизация данных.