Как да обработим паралелни операции по изтриване на баланс последователно, за да избегнем двойно изтриване (race condition)?
Node.js
Какво да правите, ако базата данни се натоварва на 100% на всеки 30 минути? Как да решите проблема с тежкия аналитичен заявка?
Защо избрахте обект за съхранение на абонатите? Как работи отписването чрез filter? Каква е сложността на алгоритъма filter?
/* * Необходимо реализовать EventEmitter. * С методами emit и on. * * on(eventName: string | Symbol, callback: (payload?: any) => void): * () => void; * Принимает eventName с названием события и функцию callback. * Функция выполняет подписку на событие. * Результатом выполнения функции должна быть функция отписки. * * emit(eventName: string | Symbol, payload?: any): void * Принимает eventName с названием события и payload который будет * передан каждому слушателю eventName; Функция выполняет вызов события. * В случае если слушатель не найден, должен выкинуть исключение * * ------------------------------------------------------ * * Пример: * const myEmitter = new EventEmitter(); * * const unSubscribe = myEmitter.on('event', (payload) => { * console.log('произошло событие!!!', payload); */
За какво служат индексите в PostgreSQL?
Какво е FK и UNIQUE ограничение в база данни?
Какво представляват пуловете от връзки в контекста на работа с бази данни и за какво се използват?
// [БАЗА ДАННИ] Проектирайте базата данни на потребителите и техните електронни портфейли. // Потребителят може да притежава няколко електронни портфейла в различни валути, но не може да притежава два в една и съща валута. // Възможни валути: USD/EUR/RUB. Портфейлът на потребителя трябва да съдържа текущия баланс; // Валутите трябва да имат допълнително име на руски език.
// 2. Създайте заявка за избор на потребители, които нямат EUR портфейл.
Разкажи ми за принципите на ACID в релационните бази данни
Кои нива на изолация на транзакциите знаете и какво означават?
Защо избрахте типа FLOAT за баланса? Как се различава от DECIMAL? Какво ще се промени, ако използвате INTEGER?
Разкажете за опита си с мониторинг и логване (Grafana, Kibana)
Каква е разликата между синхронен и асинхронен код?
Какво е Node.js и от какво се състои?
Каква е разликата между Map и WeakMap?
Посочете методите на обещанията (Promise.resolve, Promise.reject и други)
// Потребителят може да притежава няколко електронни портфейла в различни валути, но не може да притежава два портфейла в една и съща валута. // Възможни валути: USD/EUR/RUB. Портфейлът на потребителя трябва да съдържа текущия баланс; // Валутите трябва да имат допълнително име на руски език. // Добавяне на валута -> BTC/ETH/TON // Добавяне на език ES/FR/EN Потребител { id int PK string email string } Валута { код varchar(3) PK // USD, EUR, RUB име_ru string опционално тип enum('fiat', 'crypto') } ПреводиНаВалути { } Портфейл { user_id FK (Потребител.id) currency_code FK (Валута.код) баланс decimal }
Какво е EventEmitter и как работи?
Какъв тип връзка ще имат таблиците книги и автори?