Golang
Zijn er vragen over de fasen van het interview?
Hoe kun je op transactieniveau in de database slechts één groep sturen wanneer meerdere gelijktijdig reageren op een signaal in een snelreactiesysteem?
Bij tracering, hoeveel teams, services, hoeveel integraties met hun eigen teams ongeveer?
In de x86-architectuur neemt de interrupt-instructie twee bytes in beslag, maar de interrupt met nummer 3 heeft een alternatieve eentekstige variant. Waarom was dit nodig?
Vragen over belastingen, architectuur van nieuwe diensten (berekeningen en tarieven) — hoe ervaar je dat?
Waarom overweeg je nu om je huidige baan te verlaten?
Heb je momenteel aanbiedingen of ben je nog steeds in gesprek?
In welke fase bevindt u zich in uw zoektocht naar een baan: actief of passief vacatures overwegen?
Met welke databases heb je gewerkt?
Waarom wordt een B-tree index gebruikt in plaats van een binaire boom?
Kun je een voorbeeld geven van een hash-functie?
Wat is een samengestelde index?
De productmanager vraagt om binnen een maand een functie te maken: als er geen appartementen in Sint-Petersburg zijn voor de voorstellingen in mei, vergelijkbare opties tonen in nabijgelegen steden (Vyborg, Kronstadt). Geen analytiek, geen specificaties. Beschrijf de stappen van het gesprek tot de eerste commit.
In het cv wordt vermeld dat je tracing hebt geïmplementeerd — kun je er meer over vertellen?
Wat gebeurt er als je een select zonder cases in Go achterlaat?
Welke manieren ken je om te schakelen tussen goroutines? Hoe schakel je handmatig tussen goroutines?
Welke ontwerppatronen ken je? Welke groepen patronen bestaan er?
Hoe voorkom je dat je überhaupt naar een service gaat die gegarandeerd uitvalt of niet bereikbaar is?
func fanin[T any](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }
Wat is de uitlijning van structuren in Go? Hoe optimaliseer je de velden van een structuur in het geheugen?