Sobes.tech

Golang

Oddiy bank tizimini model qilish: - `accounts` jadvali: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` jadvali: - `id`, - `account_id`, - `amount`, - `created_at`. **Talablar:** 1. Kerakli cheklovlar bilan sxemani yaratish uchun SQL yozing (NOT NULL, FK, `amount` uchun CHECK). 2. So'rov yozing: - `account_id` bo'yicha hisobning hozirgi balansini oling (summa `amount`). 3. Qo'shimcha qiyinchilik: debet/kreditni qo'llab-quvvatlash (ikkilamchi yozuv). Tozalash

Middle+
213

Go'da garbage collector qanday ishlaydi? Fazonlar va algoritmni tavsiflang.

Middle+
182

Intervyuning umumiy taassuroti, nomzodning darajasi, tavsiyalar

Middle+
172

Go'da qanday sinxronizatsiya primitive'lari mavjud? Mutex va RWMutex o'rtasidagi farq nima? Atomicsni qachon ishlatish kerak?

Middle+
168

Go'da map qanday ishlaydi? Ichki tuzilishi, buckets, koliziyalar haqida gapiring.

Middle+
161

Goroutinlarning OS iplaridan afzalliklari nima?

Middle+
156

Ma'lumotlar bazasida qidirishni qanday optimallashtirish mumkin? Indekslar nima va ularning murakkabligi qanday?

Middle+
154

Go (scheduler) rejalashtiruvchisi haqida gapiring. U qanday ishlaydi? Hand-off nima?

Middle+
148

3. Murakkablik: debet/kreditni qo'llab-quvvatlash (ikkilamchi yozuv). Tozalash CREATE TABLE hisoblar ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE tranzaksiyalar ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES hisoblar(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_tranzaksiyalar_account_id ON tranzaksiyalar(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM tranzaksiyalar WHERE account_id = :account_id; ALTER TABLE tranzaksiyalar ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE tranzaksiyalar DROP CONSTRAINT tranzaksiyalar_amount_check, ADD CONSTRAINT tranzaksiyalar_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM tranzaksiyalar WHERE account_id = :account_id;

Middle+
123

Oddiy bank tizimini model qilish: - `accounts` jadvali: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` jadvali: - `id`, - `account_id`, - `amount`, - `created_at`. **Talablar:** 1. Kerakli cheklovlar bilan sxemani yaratish uchun SQL yozing (NOT NULL, FK, `amount` uchun CHECK). 2. So'rov yozing: - `account_id` bo'yicha hisobning hozirgi balansini oling (summa `amount`). 3. Qo'shimcha qiyinchilik: debet/kreditni qo'llab-quvvatlash (ikkilamchi yozuv). Tozalash.

Middle+
119