Quali domande su Kafka devo aspettarmi a un colloquio?
Di Aaron Cao · Aggiornato il

Aspettati quattro livelli: concetti fondamentali (topic, partizioni, offset, gruppi di consumer), garanzie di consegna (almeno una volta, esattamente una volta, producer idempotenti), operazioni (replica, repliche sincronizzate, conservazione, ribilanciamento) e scenari di progettazione in cui dimensionare le partizioni, scegliere le chiavi e gestire i guasti. Gli intervistatori approfondiscono il perché di ogni risposta.
Quali concetti fondamentali di Kafka verifica subito ogni intervistatore?
Sai già che Kafka è un log distribuito e temi che l'intervistatore approfondisca oltre ciò che usi ogni giorno. È proprio qui che arrivano queste domande: questa sezione illustra quindi il vocabolario nell'ordine generalmente seguito dagli intervistatori e segnala la domanda successiva nascosta dietro ogni termine.
- Topic e partizioni. Un topic è suddiviso in partizioni, ciascuna delle quali è un log ordinato e di sola aggiunta. Domanda successiva: perché Kafka aumenta la scalabilità delle scritture aggiungendo partizioni, anziché rendere più veloce un singolo log?
- Offset. La posizione di un consumer in una partizione. Domanda successiva: chi memorizza gli offset confermati e cosa accade se un consumer si arresta prima di confermarli?
- Gruppi di consumer. I consumer di un gruppo si dividono le partizioni di un topic; in ogni momento, una partizione è assegnata al massimo a un consumer del gruppo. Domanda successiva: cosa accade alla capacità di elaborazione se il gruppo contiene più consumer che partizioni?
- Broker e controller. I broker memorizzano le partizioni; il controller gestisce l'elezione dei leader e i metadati. Domanda successiva: cosa è cambiato quando Kafka ha trasferito i metadati da ZooKeeper a KRaft?
- Producer e chiavi. Un messaggio con una chiave viene inserito in una partizione scelta applicando una funzione hash alla chiave; un messaggio senza chiave viene distribuito tra le partizioni. Domanda successiva: quale delle due modalità mantiene l'ordine degli eventi di uno stesso cliente?
Rispondi spiegando il meccanismo, non con uno slogan. Dire che le partizioni consentono il parallelismo è solo il requisito minimo; spiegare che l'ordine esiste esclusivamente all'interno di una partizione e che, di conseguenza, la chiave determina l'ambito dell'ordinamento è la risposta che ti porta al turno successivo.
Come vengono poste le domande sulle garanzie di consegna e sulla replica?
È a questo livello che la maggior parte dei candidati perde punti, perché le definizioni sono semplici, ma i compromessi non lo sono. Aspettati che l'intervistatore indichi una garanzia e ti chieda di realizzarla tramite la configurazione.
- Al massimo una volta e almeno una volta. Se confermi l'offset prima dell'elaborazione, puoi perdere un messaggio; se elabori prima e confermi dopo, puoi elaborarlo due volte. Spiega quale guasto tollera ciascun ordine e quale preferisce il tuo sistema.
- Producer idempotenti ed esecuzione esattamente una volta. Un producer idempotente elimina i duplicati causati dai tentativi ripetuti all'interno di una partizione; le transazioni estendono questa garanzia a più partizioni e agli offset dei consumer in un ciclo di consumo, trasformazione e produzione. Preparati a spiegare cosa non copre l'esecuzione esattamente una volta: una scrittura su un database a valle, esterno alla transazione, resta un problema da risolvere.
- acks, fattore di replica e repliche sincronizzate.
acks=allattende l'insieme delle repliche sincronizzate;min.insync.replicasstabilisce fino a che punto tale insieme può ridursi prima che le scritture vengano rifiutate. Gli intervistatori chiedono spesso cosa sacrifichi in cambio della durabilità: latenza e disponibilità durante la perdita di un broker. - Conservazione e compattazione. La conservazione basata sul tempo o sulle dimensioni elimina i segmenti meno recenti; la compattazione del log mantiene il record più recente per ogni chiave. Domanda successiva: quale delle due supporta il changelog di un archivio chiave-valore e perché?
- Ribilanciamento. Quando un consumer entra o esce, le partizioni vengono riassegnate. Domanda successiva: che effetto ha un lungo ribilanciamento su un servizio sensibile alla latenza e in che modo il ribilanciamento cooperativo e l'appartenenza statica riducono il problema?
Un'abitudine utile: per ogni impostazione che citi, indica il guasto che evita e il costo che comporta. Questa struttura risponde alla domanda e al successivo approfondimento in un unico passaggio.
Come sono le domande di progettazione e quelle basate su scenari?
Nei colloqui per ruoli senior, le definizioni lasciano spazio a uno scenario in cui viene osservato il tuo ragionamento. Un esempio tipico: a un backend engineer candidato per un ruolo di piattaforma presso un'azienda di pagamenti viene chiesto di progettare una pipeline di eventi in cui tutte le transazioni di uno stesso conto siano elaborate in ordine, la capacità di elaborazione cresca insieme al traffico e l'interruzione di un broker non provochi perdite di dati. Una risposta solida assegna ai messaggi la chiave dell'identificativo del conto, affinché gli eventi dello stesso conto condividano una partizione; dimensiona le partizioni per il picco previsto, lasciando margine per la crescita; configura la replica e acks=all per la durabilità; infine, spiega come i consumer confermano gli offset affinché un arresto provochi la ripetizione anziché il salto dei messaggi.
Altri scenari ricorrenti: un consumer che resta indietro e come rilevarne il ritardo e recuperarlo; un topic con un numero di partizioni di cui ti penti e il motivo per cui ripartizionarlo interrompe l'ordinamento per chiave; un messaggio anomalo che manda in arresto il consumer e il modello dead-letter che lo isola; modifiche allo schema tra producer e consumer e i vantaggi offerti da un registro degli schemi. L'intervistatore non cerca un'unica architettura corretta. Vuole che tu identifichi il vincolo, scelga un meccanismo e dichiari esplicitamente il compromesso.
Esercitati a rispondere ad alta voce prima del colloquio, anziché limitarti a leggere. La modalità di esercitazione nella pagina del colloquio simulato serve proprio a provare domande basate su scenari con un intervistatore AI che insiste sugli approfondimenti; la raccolta più ampia organizzata per ruoli e argomenti è disponibile in domande di colloquio per ruolo e argomento.
Un assistente AI può essere utile per le domande su Kafka?
In un colloquio conversazionale sì, entro limiti corretti. L'app desktop nativa di SubcueAI per macOS e Windows acquisisce l'audio dell'intervistatore e del tuo microfono e mostra brevi suggerimenti per la risposta in una sovrimpressione locale. Così, quando l'intervistatore chiede da cosa protegga min.insync.replicas, il meccanismo compare sullo schermo mentre lo spieghi con parole tue. L'estensione del browser fa lo stesso per le chiamate in una scheda del browser, acquisendo esclusivamente l'audio della scheda della riunione. Nessuna delle due aggiunge un bot alla chiamata o inserisce elementi nella pagina della riunione; la procedura di configurazione è disponibile nella pagina del tutorial.
I limiti contano più della presentazione commerciale. Un test di programmazione sorvegliato, uno schermo registrato o un portatile gestito dall'azienda non rientrano nell'ambito di utilizzo; inoltre, un esercizio di programmazione dal vivo in cui devi implementare un consumer sotto osservazione deve essere svolto autonomamente. L'assistente è particolarmente efficace per le domande sulla terminologia e sui compromessi descritte sopra, ma meno adatto a qualsiasi attività da svolgere in una piattaforma di valutazione. Prima di affidarti all'assistente, forniscigli il tuo curriculum, affinché i suggerimenti riflettano il lavoro su Kafka che hai effettivamente svolto; il profilo viene gestito nello strumento per creare il curriculum.
FAQ
Perché Kafka può garantire l'ordine solo all'interno di una partizione?
Qual è la differenza tra almeno una volta ed esattamente una volta in Kafka?
Quanti consumer dovrebbe avere un gruppo di consumer?
Cosa accade quando un broker Kafka si guasta?
SubcueAI può aiutare durante una valutazione di programmazione su Kafka?
Domande correlate
- Quali domande devo aspettarmi a un colloquio Databricks?
- Quali domande devo aspettarmi a un colloquio .NET?
- Quali domande da colloquio per quality engineer devo aspettarmi?
- Quali domande devo aspettarmi a un colloquio quant?
- Quali domande su Snowflake devo aspettarmi al colloquio?
- Quali domande devo aspettarmi a un colloquio per insegnanti?