Golang
Может ли размер среза оказывать влияние на объем выделенной памяти под него?
Объясните концепцию разделения задач между несколькими потоками или процессами для оптимизации работы системы. Что означает термин Work-Sharing?
Каким образом можно выполнить аутентификацию пользователя перед обращением к DNS-серверу?
Какие технологии или форматы используют для упаковки кода в архитектуре, аналогичной Redhub?
Какие ключевые аспекты использования небуферных каналов в системах взаимодействия вы можете выделить?
Как обеспечить предотвращение превышения лимита открытых дескрипторов файлов в системе?
Каким образом можно обратиться к элементу среза за пределами функции в языке программирования?
Какие сложности могут возникнуть при использовании наследования в объектно-ориентированном программировании?
Какие методы вы использовали или знаете для реализации процесса входа пользователя в систему?
Каким образом осуществляется асинхронная работа структуры данных Map?
Какие типы HTTP-запросов используются при взаимодействии с REST API?
В каком месте в структурном виде системы располагается документация по API, соответствующая принципам чистой архитектуры?
Можете объяснить, как реализован механизм планировщика задач в системе?
Объясните назначение оператора WITH в SQL и как его используют при работе с базами данных.
Какие протоколы передачи данных использовал для взаимодействия с клиентской частью приложения?
Можете объяснить, что подразумевается под понятием benchmark в контексте оценки производительности системы?
/ * Есть приложение с микросервисной архитектурой. Микросервис можно абстрагировать с помощью интерфейса Backend. Для доступа к одному экземпляру микросервиса можно использовать тип BackendImpl, который уже реализован. Для каждого микросервиса есть несколько десятков запущенных экземпляров, каждый из которых доступен по своему адресу addr. Однако отдельные экземпляры микросервиса ненадежны: они могут падать, быть недоступными либо перегруженными. Поэтому вам нужно реализовать тип Balancer, который также реализует интерфейс Backend и осуществляет client-side балансировку нагрузки между экземплярами микросервиса, выбирая каждый раз **наименее нагруженный** экземпляр. * /
func countSubs(s string) int { result := 0 left := 0 hm := make(map[rune]int) n := len(s) for right := 0; right < n; right++ { hm[s[right]]++ for hm[s[right]] > 1 { hm[s[left]]-- if hm[s[left]] == 0 { delete(hm, s[left]) } left++ } result += (right - left + 1) } return result }
Возможна ли у нас сейчас паника записи в закрытый канал?
В чём разница между VACUUM и VACUUM FULL?