Golang
Wie speichert man Sprachnachrichten in einem Messenger wie WhatsApp? Warum ist es besser, Bilder in S3 zu speichern als in Postgres? Welche Optionen gibt es, um Bilder in Postgres zu speichern?
Der Verbraucher erhält eine Nachricht von Kafka, speichert sie im Puffer, wenn das Batch fertig ist, schreibt es und committet. Was passiert, wenn der Service im Moment der Batch-Erstellung abstürzt?
Wie viele Microservices haben Sie in Go und wie häufig treten Aufgaben auf, die zwei Microservices betreffen?
Bedingung Es gibt 3 Entitäten: Benutzer, Chat, Nachricht • Der Benutzer hat einen Namen und ein Registrierungsdatum • Der Chat hat einen Namen und ein Erstellungsdatum • Die Nachricht hat Text, Autor und Erstellungsdatum • Ein Benutzer kann gleichzeitig in mehreren Chats sein • Eine Nachricht gehört unbedingt zu einem Chat, sie kann nicht gleichzeitig mehreren Chats zugeordnet sein • Der Bereich soll in Form von Tabellen beschrieben werden -- verteilt -- message_count in chats Limit 100 --getShard(time zone) -> shard_id -> 1 --getShard(time zone) -> shard_id -> 2 --shard1 [1..100] --shard2 [101..200] CREATE TABLE users ( id int PRIMARY KEY, name varchar(255) NOT NULL, reg_at TIMESTAMP NOT NULL DEFAULT NOW() ); CREATE TABLE chats ( id int PRIMARY KEY, name VARCHAR(255) NOT NULL, created_at TIMESTAMP NOT NULL DEFAULT NOW(), message_count int NOT NULL CHECK <= 100 ); CREATE TABLE user_chats ( user_id int not null REFERENCES users(id), chat_id int NOT NULL REFERENCES chats(id), PRIMARY KEY (user_id, chat_id) ); CREATE TABLE messages ( id int PRIMARY KEY, chat_id int NOT NULL REFERENCES chats(id), author_id int NOT NULL REFERENCES users(id), created_at TIMESTAMP NOT NULL DEFAULT NOW(), text TEXT NOT NULL );
Welches der folgenden ist ein Synchronisationsmittel in Go? (Kanäle, sync.WaitGroup, sync.Mutex, sync.Cond)
Wurde Parallelisierung zur Beschleunigung der Verarbeitung verwendet?
Ab welchem Betrag betrachtest du deine Gehaltsvorstellungen?
Erzähle mir von deiner Infrastruktur-Erfahrung und deiner Zusammenarbeit mit DevOps
Was ist ein sanfter Shutdown und warum ist er notwendig?
Worin besteht der Unterschied zwischen PARTITION BY und GROUP BY für eine Unterabfrage?
Wie erfolgt die Erweiterung (Rehash) in Swiss Tables?
Wie viele Personen waren im Team und wer hat die Aufgaben verteilt?
Wie lange planst du, nach einem neuen Job zu suchen? Gibt es einen Zeitrahmen?
Aufgabe: «Ping-Pong mit Timeout» Schreiben Sie eine Funktion pingPong, die: - Zwei Goroutines startet: eine generiert Nachrichten "ping", die andere — "pong". - Die Goroutines sollen Nachrichten strikt abwechselnd über einen gemeinsamen Kanal austauschen. - Der Austausch dauert 3 Sekunden, danach soll das Programm beendet werden (sauberes Herunterfahren). - Verwenden Sie einen Kontext zur Abbruchsteuerung mit Timeout. - Geben Sie jede Nachricht zusammen mit der Zeit (in Millisekunden seit Start) aus. Beispiel für die erwartete Ausgabe: 0ms: ping
Was ist der Kontextwechsel von Goroutinen? Wer führt ihn aus?
Ab welcher Summe ziehst du das Angebot in Bezug auf finanzielle Erwartungen in Betracht?
Wie funktioniert eine Hashtabelle?
Erzähle mir von der schwierigsten Aufgabe, die du gemacht hast.
Sie haben über das Read-Model mit Redis gesprochen. Wurde Redis zwischen den Rechenzentren repliziert?
Können wir einen Slice als Parameter an eine Funktion übergeben? Gibt es irgendwelche Feinheiten bei dieser Übergabe?