Your question is Describe What This Code Does. Take a moment with it on the right.
Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).
QinetiQ runs a telemetry pipeline that pulls live readings off a bank of field sensors. Here is the function a colleague wrote to fetch every sensor's latest reading in parallel.
package telemetry
import "sync"
type Reading struct {
SensorID string
Value float64
}
func ProcessReadings(sensorIDs []string, fetch func(string) (Reading, error)) map[string]float64 {
results := make(map[string]float64)
var wg sync.WaitGroup
for _, id := range sensorIDs {
wg.Add(1)
go func() {
defer wg.Done()
reading, err := fetch(id)
if err != nil {
return
}
results[reading.SensorID] = reading.Value
}()
}
wg.Wait()
return results
}
Walk through what this function does end to end, then say what you would flag about its behavior before letting it run against the real sensor fleet, and why.