Sobes.tech

Μοντελοποιήστε ένα απλό τραπεζικό σύστημα: - Πίνακας `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+
229

Ποια είναι τα πλεονεκτήματα των goroutines σε σύγκριση με τα νήματα του λειτουργικού συστήματος;

Middle+
212

Πώς λειτουργεί ο garbage collector στο Go; Περιγράψτε τις φάσεις και τον αλγόριθμο.

Middle+
186

Γενική εντύπωση από τη συνέντευξη, επίπεδο υποψηφίου, συστάσεις

Middle+
178

Ποιες primitive συγχρονισμού υπάρχουν στο Go; Ποια είναι η διαφορά μεταξύ Mutex και RWMutex; Πότε να χρησιμοποιείτε atomics;

Middle+
168

Πώς λειτουργεί το map στο Go; Μιλήστε για τη εσωτερική δομή, buckets, συγκρούσεις.

Middle+
165

Πείτε μας για τον προγραμματιστή του Go (scheduler). Πώς λειτουργεί; Τι είναι το hand-off;

Middle+
156

Πώς μπορεί να βελτιστοποιηθεί η αναζήτηση σε μια βάση δεδομένων; Τι είναι οι δείκτες και ποια είναι η πολυπλοκότητά τους;

Middle+
154

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+
139

Μοντελοποιήστε ένα απλό τραπεζικό σύστημα: - Πίνακας `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+
125