Sobes.tech

Golang

Modelēt vienkāršu bankas sistēmu: - `accounts` tabula: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` tabula: - `id`, - `account_id`, - `amount`, - `created_at`. **Prasības:** 1. Rakstiet SQL, lai izveidotu shēmu ar nepieciešamajiem ierobežojumiem (NOT NULL, FK, CHECK uz `amount`). 2. Rakstiet vaicājumu: - iegūt pašreizējo konta bilanci pēc `account_id` (summa `amount`). 3. Papildu grūtības: atbalstīt debetu/kredītu (divkāršs ieraksts). Tīrīšana

Middle+
213

Kā darbojas garbage collector Go? Aprakstiet fāzes un algoritmu.

Middle+
182

Kopējā iespaids no intervijas, kandidāta līmenis, ieteikumi

Middle+
172

Kādi sinhronizācijas primitīvi ir Go? Kāda ir atšķirība starp Mutex un RWMutex? Kad izmantot atomics?

Middle+
168

Kā darbojas karte Go? Pastāstiet par iekšējo struktūru, buckets, kolīzijām.

Middle+
161

Kādi ir goroutines priekšrocības salīdzinājumā ar OS pavedieniem?

Middle+
156

Kā optimizēt meklēšanu datu bāzē? Kas ir indeksi un kāda ir to sarežģītība?

Middle+
154

Pastāstiet par Go (scheduler) plānotāju. Kā tas darbojas? Kas ir hand-off?

Middle+
146

3. Sarežģītība: atbalsts debetam/kreditam (divkārša ieraksta). Tīrīšana CREATE TABLE konti ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE transakcijas ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES konti(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_transakcijas_account_id ON transakcijas(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM transakcijas WHERE account_id = :account_id; ALTER TABLE transakcijas ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE transakcijas DROP CONSTRAINT transakcijas_amount_check, ADD CONSTRAINT transakcijas_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM transakcijas WHERE account_id = :account_id;

Middle+
123

Modelējiet vienkāršu bankas sistēmu: - `accounts` tabula: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` tabula: - `id`, - `account_id`, - `amount`, - `created_at`. **Prasības:** 1. Rakstiet SQL, lai izveidotu shēmu ar nepieciešamajiem ierobežojumiem (NOT NULL, FK, CHECK uz `amount`, lai tas nebūtu nulle). 2. Rakstiet vaicājumu: - iegūt pašreizējo konta bilanci pēc `account_id` (summa `amount`). 3. Papildu grūtības: atbalstīt debetu/kredītu (divkāršs ieraksts). Tīrīšana.

Middle+
118