Sobes.tech

Golang

Modellieren Sie ein einfaches Banksystem: - Tabelle `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabelle `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Anforderungen:** 1. Schreiben Sie SQL zum Erstellen des Schemas mit den erforderlichen Einschränkungen (NOT NULL, FK, CHECK auf `amount` ungleich Null). 2. Schreiben Sie eine Abfrage: - Erhalten Sie den aktuellen Kontostand nach `account_id` (Summe von `amount`). 3. Erhöhte Schwierigkeit: Unterstützung von Debit/Kredit (doppelte Buchung). Bereinigung

Middle+
172

Wie funktioniert der Garbage Collector in Go? Beschreiben Sie die Phasen und den Algorithmus.

Middle+
172

Gesamt Eindruck vom Vorstellungsgespräch, Kandidatenniveau, Empfehlungen

Middle+
160

Was sind die Vorteile von Goroutines gegenüber OS-Threads?

Middle+
146

Wie kann man die Suche in einer Datenbank optimieren? Was sind Indizes und wie ist ihre Komplexität?

Middle+
144

Erzählen Sie uns vom Go-Planer (scheduler). Wie funktioniert er? Was ist der Hand-off?

Middle+
136

Wie ist eine Map in Go aufgebaut? Erzählen Sie über die interne Struktur, Buckets, Kollisionen.

Middle+
121

Welche Synchronisationsprimitive gibt es in Go? Was ist der Unterschied zwischen Mutex und RWMutex? Wann sollten Atomics verwendet werden?

Middle+
121

3. Komplexität: Unterstützung von Debit/Kredit (Doppelte Buchführung). Bereinigung CREATE TABLE konten ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE transaktionen ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES konten(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_transaktionen_account_id ON transaktionen(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM transaktionen WHERE account_id = :account_id; ALTER TABLE transaktionen ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE transaktionen DROP CONSTRAINT transaktionen_amount_check, ADD CONSTRAINT transaktionen_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM transaktionen WHERE account_id = :account_id;

Middle+
108

Modellieren Sie ein einfaches Banksystem: - Tabelle `accounts`: - `id`, - `owner_id`, - `currency`, - `created_at`. - Tabelle `transactions`: - `id`, - `account_id`, - `amount`, - `created_at`. **Anforderungen:** 1. Schreiben Sie SQL zum Erstellen des Schemas mit den erforderlichen Einschränkungen (NOT NULL, FK, CHECK auf `amount` ungleich Null). 2. Schreiben Sie eine Abfrage: - um den aktuellen Kontostand nach `account_id` (Summe von `amount`) zu erhalten. 3. Schwierigkeit: Unterstützung von Debit/Kredit (doppelte Buchung). Bereinigung.

Middle+
94