Sobes.tech

Golang

Պարզ բանկային համակարգի մոդելավորում: - `accounts` աղյուսակ: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` աղյուսակ: - `id`, - `account_id`, - `amount`, - `created_at`. **Պահանջներ:** 1. Գրեք SQL՝ սքեմա ստեղծելու համար անհրաժեշտ սահմանափակումներով (NOT NULL, FK, CHECK `amount`-ի համար, որը չի լինի զրո): 2. Գրեք հարցում: - ստացեք հաշվի ընթացիկ մնացորդը `account_id`-ով (միավոր `amount`): 3. Ավելորդ բարդություն՝ աջակցել դեբետ/կրեդիտ (երկակի գրառում): Աճաքարել

Middle+
213

Ինչպես է աշխատում garbage collector-ը Go-ում: Նկարագրեք փուլերը և ալգորիթմը։

Middle+
184

Ընդհանուր տպավորություն հարցազրույցից, թեկնածուի մակարդակ, առաջարկներ

Middle+
172

Ի՞նչ սինխրոնիզացիայի primitive-ներ կան Go-ում: Ի՞նչ տարբերություն կա Mutex և RWMutex-ի միջև: Երբ օգտագործել atomics-ը:

Middle+
168

Ինչպես է կառուցված Go-ի քարտեզը: Պատմեք ներքին կառուցվածքի, buckets, բախումների մասին։

Middle+
165

Ի՞նչ են goroutines-ի առավելությունները OS-թելերից։

Middle+
156

Ինչպե՞ս կարելի է օպտիմալացնել տվյալների բազայում որոնումը: Ինդեքսները ինչ են և ինչպիսի՞ն է նրանց բարդությունը։

Middle+
154

Պատմեք Go (scheduler)-ի պլանավորողի մասին: Ինչպե՞ս է աշխատում: Ի՞նչ է hand-off-ը:

Middle+
150

3. Կոմպլեքսություն: աջակցություն դեբիտ/կրեդիտ (երկակի գրառում): մաքրման CREATE TABLE հաշիվներ ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE գործարքներ ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES հաշիվներ(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_գործարքներ_account_id ON գործարքներ(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM գործարքներ WHERE account_id = :account_id; ALTER TABLE գործարքներ ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE գործարքներ DROP CONSTRAINT գործարքներ_amount_check, ADD CONSTRAINT գործարքներ_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM գործարքներ WHERE account_id = :account_id;

Middle+
123

Պարզ բանկային համակարգի մոդելավորում: - `accounts` աղյուսակ: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` աղյուսակ: - `id`, - `account_id`, - `amount`, - `created_at`. **Պահանջներ:** 1. Գրեք SQL՝ անհրաժեշտ սահմանափակումներով (NOT NULL, FK, CHECK `amount`-ի համար, որ չլինի զրո): 2. Գրեք հարցում՝ - ստացեք հաշվի ընթացիկ մնացորդը `account_id`-ով (միավոր `amount`): 3. Ավելորդ բարդություն՝ աջակցել դեբիտ/քրեդիտ (երկակի գրառում): Թարմացում։

Middle+
119