Kaspersky / Касперский - 2
Вопросы
Заголовок раздела «Вопросы»- Что такое event sourcing?
architecture/patterns - О чем говорит CAP теорема?
nosql-cache/general - Что такое CQRS?
architecture/patterns - Какие есть уровни согласованности между системами можете назвать?
architecture/system-design - Допустим есть 100 операций расчета квадратного корня. Если их запустить в 100 горутинах, то получим ли мы прирост по производительности?
go/concurrency - Когда интерфейс равен nil?
go/interfaces - Как проверить что значение интерфейса равно nil?
go/interfaces
Задача: Необходимо просмотреть код, затем рассказать какие в нем могут быть проблемы и, если они есть, то как бы ты их пофиксил. go/basics
Заголовок раздела «Задача: Необходимо просмотреть код, затем рассказать какие в нем могут быть проблемы и, если они есть, то как бы ты их пофиксил. go/basics»type FileLogger struct{ file *os.File }
func NewFileLogger(fileName string) (*FileLogger, error) { f, err := os.Create(fileName) if err != nil { return nil, err }
return &FileLogger{f}, nil}
func (f *FileLogger) Log(message string) error { _, err := f.file.WriteString(message + "\n ") return err}
func (f *FileLogger) Close() error { return f.file.Close()}
func main() { l := NewFileLogger("file.txt ")
defer Close()}Задача: Из предыдущей задачи переписать код с учетом данной структуры. go/structs-methods
Заголовок раздела «Задача: Из предыдущей задачи переписать код с учетом данной структуры. go/structs-methods»type SequentialLogger struct { wrppedLogger Logger}
func NewSequentialLogger(wrppedLogger Logger) *SequentialLogger {}
func (sl *SequentialLogger) Log(message string) error {}
func (sl *SequentialLogger) Close() error {}