Sobes.tech

Golang

Basit bir banka sistemi modelleyin: - `accounts` tablosu: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` tablosu: - `id`, - `account_id`, - `amount`, - `created_at`. **Gereksinimler:** 1. Gerekli kısıtlamalarla (NOT NULL, FK, `amount` için CHECK) şema oluşturan SQL yazın. 2. Sorgu yazın: - `account_id` ile hesabın güncel bakiyesini alın (amount toplamı). 3. Zorluk ekleme: borç/alacak desteği (çift kayıt). Temizlik

Middle+
208

Go'da çöp toplayıcı nasıl çalışır? Aşamaları ve algoritmayı açıklayın.

Middle+
178

Görüşmenin genel izlenimi, adayın seviyesi, öneriler

Middle+
168

Go'da hangi senkronizasyon primitive'leri var? Mutex ile RWMutex arasındaki fark nedir? Atomics ne zaman kullanılmalı?

Middle+
164

Go'daki map nasıl çalışır? İç yapısı, buckets, çakışmalar hakkında bilgi verin.

Middle+
153

Bir veritabanında aramayı nasıl optimize edebilirsiniz? İndeksler nedir ve karmaşıklıkları nedir?

Middle+
150

Goroutine'lerin işletim sistemi thread'lerine göre avantajları nelerdir?

Middle+
150

Go planlayıcısı (scheduler) hakkında bilgi verin. Nasıl çalışır? Hand-off nedir?

Middle+
143

3. Zorluk: Borç/Alacak desteği (çift kayıt). Temizlik CREATE TABLE hesaplar ( id BIGSERIAL PRIMARY KEY, owner_id BIGINT NOT NULL, currency VARCHAR(3) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE TABLE işlemler ( id BIGSERIAL PRIMARY KEY, account_id BIGINT NOT NULL REFERENCES hesaplar(id), amount NUMERIC(18,2) NOT NULL CHECK (amount <> 0), created_at TIMESTAMP NOT NULL DEFAULT now() ); CREATE INDEX idx_işlemler_account_id ON işlemler(account_id); SELECT COALESCE(sum(amount), 0) AS balance FROM işlemler WHERE account_id = :account_id; ALTER TABLE işlemler ADD COLUMN type VARCHAR(6) NOT NULL CHECK (type IN ('debit', 'credit')); ALTER TABLE işlemler DROP CONSTRAINT işlemler_amount_check, ADD CONSTRAINT işlemler_amount_check CHECK (amount > 0); SELECT COALESCE( SUM(CASE WHEN type = 'credit' THEN amount WHEN type = 'debit' THEN - amount ) AS balance FROM işlemler WHERE account_id = :account_id;

Middle+
119

Basit bir banka sistemi modelleyin: - `accounts` tablosu: - `id`, - `owner_id`, - `currency`, - `created_at`. - `transactions` tablosu: - `id`, - `account_id`, - `amount`, - `created_at`. **Gereksinimler:** 1. Gerekli kısıtlamalarla (NOT NULL, FK, `amount` için CHECK) şema oluşturmak için SQL yazın. 2. Sorgu yazın: - `account_id` ile hesabın güncel bakiyesini alın (amount toplamı). 3. Zorluk: borç/alacak desteği (çift kayıt). Temizlik.

Middle+
118