Около интервью
Микросервисы (+) Преимущества и недостатки (-) Есть монолит, как будем делить, что будет отдельно в разных сервисах а что вместе - в одном? (-) Отправить большой файл между сервисами (-) У нас есть например 2 микросервиса, каждый из них работает со своей базой. Каким образом можно реализовать согласованное изменение данных в этих 2 базах? gRPC (-) Типы запросов? (unary, ...) MongoDB (+, -) В коллекции лежат документы, у каждого документа есть поле balance - число. Как можно выбрать документы где это число например >100? А как можно посчитать сумму балансов во всех документах? (-) Как скейлить монгу? ... Чем отличается primary от secondary реплики? (-) Что такое write concern, какие опции доступны? (-) Какие типы индексов есть? Golang (+) Типы каналов (-) Что будет если читаем из закрытого канала, а если пишем? (+) Как можно добавить метод к структуре из другого пакета? (+) Есть 2 структуры, с кучей полей и вложенностью, но полностью идентичные по структуре данных. Какие есть способы перегнать данные из одной в другую, кроме присваивания руками по полям? ЧЕРЕЗ ПРЕОБРАЗОВАНИЕ ТИПОВ:
foo := Foo{Id: "123", Name: "Joe"}
bar := Bar(foo)