1
Первый этап технического собеседования
1. Задача: Реализовать функцию MultiSearch
Нужно реализовать функцию, которая выполняет поиск query во всех переданных SearchFunc. Когда получаем первый успешный результат — отдаем его сразу, не дожидаясь результата других SearchFunc. Если все SearchFunc отработали с ошибкой — отдаем последнюю полученную ошибку.
package main
import (
"context"
)
type Result struct{}
type SearchFunc func(ctx context.Context, query string) (Result, error)
func MultiSearch(ctx context.Context, query string, sfs []SearchFunc) (Result, error) {
}2
Второй этап (теоретический)
2. Задача: Рефакторинг SQL-запроса
select sender_code
, receiver_code
, content
,…