Sobes.tech

Node.js

Как да обработим паралелни операции по изтриване на баланс последователно, за да избегнем двойно изтриване (race condition)?

Middle+
265

Какво да правите, ако базата данни се натоварва на 100% на всеки 30 минути? Как да решите проблема с тежкия аналитичен заявка?

Middle+
249

Защо избрахте обект за съхранение на абонатите? Как работи отписването чрез filter? Каква е сложността на алгоритъма filter?

Middle+
243

/* * Необходимо реализовать 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); */

Middle+
215

За какво служат индексите в PostgreSQL?

Middle+
193

Какво е FK и UNIQUE ограничение в база данни?

Middle+
189

Какво представляват пуловете от връзки в контекста на работа с бази данни и за какво се използват?

Middle+
189

// [БАЗА ДАННИ] Проектирайте базата данни на потребителите и техните електронни портфейли. // Потребителят може да притежава няколко електронни портфейла в различни валути, но не може да притежава два в една и съща валута. // Възможни валути: USD/EUR/RUB. Портфейлът на потребителя трябва да съдържа текущия баланс; // Валутите трябва да имат допълнително име на руски език.

Middle+
189

// 2. Създайте заявка за избор на потребители, които нямат EUR портфейл.

Middle+
183

Разкажи ми за принципите на ACID в релационните бази данни

Middle+
178

Кои нива на изолация на транзакциите знаете и какво означават?

Middle+
176

Защо избрахте типа FLOAT за баланса? Как се различава от DECIMAL? Какво ще се промени, ако използвате INTEGER?

Middle+
171

Разкажете за опита си с мониторинг и логване (Grafana, Kibana)

Middle+
170

Каква е разликата между синхронен и асинхронен код?

Middle+
170

Какво е Node.js и от какво се състои?

Middle+
164

Каква е разликата между Map и WeakMap?

Middle+
162

Посочете методите на обещанията (Promise.resolve, Promise.reject и други)

Middle+
162

// Потребителят може да притежава няколко електронни портфейла в различни валути, но не може да притежава два портфейла в една и съща валута. // Възможни валути: 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 }

Middle+
150

Какво е EventEmitter и как работи?

Middle+
147

Какъв тип връзка ще имат таблиците книги и автори?

Middle+
138