mirror of
https://github.com/goavengers/go-interview.git
synced 2026-02-04 04:36:19 +00:00
interface
This commit is contained in:
@@ -57,7 +57,7 @@ slice := array[:]
|
|||||||
|
|
||||||
### <a name="13"></a> Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему?
|
### <a name="13"></a> Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему?
|
||||||
|
|
||||||
|
Небольшое копирование лучше, чем небольшая зависимость. Даже в стандартной библиотеке есть места, где те же io.Reader или fmt.Stringer переопределены, чтобы избежать ненужной зависимости от других пакетов. Если интерфейс маленький, скопировать его не составит труда, а если он большой, то есть вероятность, что в будущем одному модулю понадобятся одни методы, а другому - другие.
|
||||||
|
|
||||||
### <a name="14"></a> Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go?
|
### <a name="14"></a> Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go?
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ slice := array[:]
|
|||||||
### <a name="21"></a> Способы поиска проблем производительности на проде?
|
### <a name="21"></a> Способы поиска проблем производительности на проде?
|
||||||
|
|
||||||
|
|
||||||
### <a name="22"></a> Стандартный набор метрик prometheus в Go -программе?
|
### <a name="22"></a> Стандартный набор метрик prometheus в Go-программе?
|
||||||
|
|
||||||
|
|
||||||
### <a name="23"></a> Как встроить стандартный профайлер в свое приложение?
|
### <a name="23"></a> Как встроить стандартный профайлер в свое приложение?
|
||||||
|
|||||||
Reference in New Issue
Block a user