Sobes.tech

Golang

Modeleer een eenvoudig banksysteem: - Tabel `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabel `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Vereisten:** 1. Schrijf SQL om het schema te maken met de benodigde beperkingen (NOT NULL, FK, CHECK op `amount` niet nul). 2. Schrijf een query: - verkrijg het huidige saldo van de rekening op `account_id` (som van `amount`). 3. Extra uitdaging: ondersteuning voor debet/krediet (dubbele registratie). Opschonen

Middle+
213

Hoe werkt de garbage collector in Go? Beschrijf de fasen en het algoritme.

Middle+
182

Algemene indruk van het interview, het niveau van de kandidaat, aanbevelingen

Middle+
172

Welke synchronisatie-primitieven zijn er in Go? Wat is het verschil tussen Mutex en RWMutex? Wanneer gebruik je atomics?

Middle+
168

Hoe werkt de map in Go? Vertel over de interne structuur, buckets, botsingen.

Middle+
161

Wat zijn de voordelen van goroutines ten opzichte van OS-threads?

Middle+
156

Hoe optimaliseer je de zoekfunctie in een database? Wat zijn indexen en wat is hun complexiteit?

Middle+
154

Vertel over de Go (scheduler). Hoe werkt het? Wat is hand-off?

Middle+
146

3. Complexiteit: ondersteuning van debet/krediet (dubbele boekhouding). Opschoning CREATE TABLE rekeningen ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE transacties ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES rekeningen(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_transacties_account_id ON transacties(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM transacties WHERE account_id = :account_id; ALTER TABLE transacties ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE transacties DROP CONSTRAINT transacties_amount_check, ADD CONSTRAINT transacties_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM transacties WHERE account_id = :account_id;

Middle+
123

Modeleer een eenvoudig banksysteem: - Tabel `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabel `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Vereisten:** 1. Schrijf SQL om het schema te maken met de benodigde beperkingen (NOT NULL, FK, CHECK op niet-nul `amount`). 2. Schrijf een query: - krijg het huidige saldo van de rekening op `account_id` (som van `amount`). 3. Extra uitdaging: ondersteuning voor debet/krediet (dubbele registratie). Opruimen.

Middle+
119