Golang
Warum wurde ein manueller Commit-Offset anstelle des Autocommits gemacht?
Militärpass?
Erzähl mir von deinem Projekt. Was machst du dort?
// Der Kunde übergibt ein Objekt (Task) mit Daten zur Ausführung der Aufgabe, // in unserem Beispiel verwenden wir eine leere Struktur. // // Der Scheduler kann maximal N Aufgaben gleichzeitig verarbeiten, // und maximal X Aufgaben können in der Warteschlange sein. // Wenn kein Platz in der Warteschlange ist, wird sofort ein Fehler an den Kunden zurückgegeben. // // Eine Aufgabe wird verarbeitet, wenn freie Handler vorhanden sind. // Wir simulieren die Dauer der Verarbeitung mit time.Sleep(5*time.Second). // Sobald eine Aufgabe abgeschlossen ist, nehmen wir die nächste aus der Warteschlange. // Wenn die Warteschlange leer ist, warten wir auf neue Aufgaben von den Kunden. // // Mit einem Sternchen: Struktur Task erweitern und den Status der Aufgaben über eine separate Anfrage abrufen. package scheduler type Scheduler interface { AddTask(t Task) error Close() } type scheduler struct { queue chan Task wg sync.WaitGroup } func New(workers, queue int) Scheduler { // Implementierung ausstehend } type Task interface { Do() }
Wie wird die Sicherheit bei REST und Kafka gewährleistet? Was ist HTTPS/TLS?
Wer ist für das Deployment verantwortlich – die Entwickler oder DevOps?
Warum wurde das Monolith in Microservices aufgeteilt?
Warum hast du das Unternehmen verlassen?
Aufgabe 4: Fehler im Code mit Kanälen und Goroutines finden (doppelte Kanalabschaltung)
Ist die Standardkarte in Go threadsicher? Welche Alternativen gibt es?
Warum ist eine normale Map in Go nicht sicher für gleichzeitige Schreibvorgänge?
Welche Arten von Indizes gibt es und wie erkennt man, ob ein Index benötigt wird?
Wie beendet man einen Prozess in Linux? Was tun, wenn kill pid nicht hilft?
Können Sie Ihre Erfahrung über das Arbeitsbuch bestätigen?
Was ist ACID? Transaktionsisolationsebenen?
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
Wie kann man Race Conditions vermeiden? Wie funktioniert ein Mutex?
Wie wurde das Rate-Limit festgelegt? Worauf basierte es und wo wurde es implementiert? Was wurde technisch verwendet?
Wie ist die Map unter der Haube in Go organisiert?
Wie interagierten die Replikate von Diensten in Kubernetes und welche Informationen teilten sie?