From b68e4a837a998781ba9c406cf42478d6734ce2e8 Mon Sep 17 00:00:00 2001 From: dreddsa5dies Date: Thu, 10 Feb 2022 09:43:42 +0300 Subject: [PATCH] interface, append, slice PODOLSKY --- README.md | 6 +++--- docs/PODOLSKY.md | 39 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e231484..dbefad5 100644 --- a/README.md +++ b/README.md @@ -82,9 +82,9 @@ 9. [Вопросы от Данила Подольского на позицию Senior Golang Backend Developer в компанию Evrone](docs/PODOLSKY.md) - [Go — императивный или декларативный? А в чем разница?](docs/PODOLSKY.md#1) - [Что такое type switch?](docs/PODOLSKY.md#2) - - Как сообщить компилятору, что наш тип реализует интерфейс? - - Как работает append? - - Какое у slice zero value? Какие операции над ним возможны? + - [Как сообщить компилятору, что наш тип реализует интерфейс?](docs/PODOLSKY.md#3) + - [Как работает append?](docs/PODOLSKY.md#4) + - [Какое у slice zero value? Какие операции над ним возможны?](docs/PODOLSKY.md#5) - Как устроен тип map? - Каков порядок перебора map? - Что будет, если читать из закрытого канала? diff --git a/docs/PODOLSKY.md b/docs/PODOLSKY.md index 9633286..38825f3 100644 --- a/docs/PODOLSKY.md +++ b/docs/PODOLSKY.md @@ -9,4 +9,41 @@ ### Что такое type switch? -Сравнение типов переменной, а не ее значений. \ No newline at end of file +Сравнение типов переменной, а не ее значений. + +### Как сообщить компилятору, что наш тип реализует интерфейс? + +Если наш тип реализует все методы интерфейса, значит он реализует этот интерфейс. + +### Как работает append? + +Если capacity исходного массива достаточно, он используется повторно. В противном случае выделяется новый базовый массив достаточной длины и данные копируются + +### Какое у slice zero value? Какие операции над ним возможны? + +Zero value у slice == nil +Возможные операции: len, cap, append. + +### Как устроен тип map? +### Каков порядок перебора map? +### Что будет, если читать из закрытого канала? +### Что будет, если писать в закрытый канал? +### Как вы отсортируете массив структур по алфавиту по полю Name? +### Что такое сериализация? Зачем она нужна? +### Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка? +### Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему? +### Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go? +### Главный недостаток стандартного логгера? +### Есть ли для Go хороший orm? Ответ обоснуйте. +### Какой у вас любимый линтер? +### Можно ли использовать один и тот же буфер []byte в нескольких горутинах? +### Какие типы мьютексов предоставляет stdlib? +### Что такое lock-free структуры данных, и есть ли в Go такие? +### Способы поиска проблем производительности на проде? +### Стандартный набор метрик prometheus в Go -программе? +### Как встроить стандартный профайлер в свое приложение? +### Overhead от стандартного профайлера? +### Почему встраивание — не наследование? +### Какие средства обобщенного программирования есть в Go? +### Какие технологические преимущества языка Go вы можете назвать? +### Какие технологические недостатки языка Go вы можете назвать? \ No newline at end of file