channel, array

This commit is contained in:
dreddsa5dies
2022-02-15 12:18:21 +03:00
parent 509befee65
commit 55f8ad3a3a
2 changed files with 73 additions and 22 deletions

View File

@@ -87,27 +87,27 @@
- [Какое у slice zero value? Какие операции над ним возможны?](docs/PODOLSKY.md#5) - [Какое у slice zero value? Какие операции над ним возможны?](docs/PODOLSKY.md#5)
- [Как устроен тип map?](docs/PODOLSKY.md#6) - [Как устроен тип map?](docs/PODOLSKY.md#6)
- [Каков порядок перебора map?](docs/PODOLSKY.md#7) - [Каков порядок перебора map?](docs/PODOLSKY.md#7)
- Что будет, если читать из закрытого канала? - [Что будет, если читать из закрытого канала?](docs/PODOLSKY.md#8)
- Что будет, если писать в закрытый канал? - [Что будет, если писать в закрытый канал?](docs/PODOLSKY.md#9)
- Как вы отсортируете массив структур по алфавиту по полю Name? - [Как вы отсортируете массив структур по алфавиту по полю Name?](docs/PODOLSKY.md#10)
- Что такое сериализация? Зачем она нужна? - [Что такое сериализация? Зачем она нужна?](docs/PODOLSKY.md#11)
- Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка? - [Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка?](docs/PODOLSKY.md#12)
- Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему? - [Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему?](docs/PODOLSKY.md#13)
- Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go? - [Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go?](docs/PODOLSKY.md#14)
- Главный недостаток стандартного логгера? - [Главный недостаток стандартного логгера?](docs/PODOLSKY.md#15)
- Есть ли для Go хороший orm? Ответ обоснуйте. - [Есть ли для Go хороший orm? Ответ обоснуйте.](docs/PODOLSKY.md#16)
- Какой у вас любимый линтер? - [Какой у вас любимый линтер?](docs/PODOLSKY.md#17)
- Можно ли использовать один и тот же буфер []byte в нескольких горутинах? - [Можно ли использовать один и тот же буфер []byte в нескольких горутинах?](docs/PODOLSKY.md#18)
- Какие типы мьютексов предоставляет stdlib? - [Какие типы мьютексов предоставляет stdlib?](docs/PODOLSKY.md#19)
- Что такое lock-free структуры данных, и есть ли в Go такие? - [Что такое lock-free структуры данных, и есть ли в Go такие?](docs/PODOLSKY.md#20)
- Способы поиска проблем производительности на проде? - [Способы поиска проблем производительности на проде?](docs/PODOLSKY.md#21)
- Стандартный набор метрик prometheus в Go -программе? - [Стандартный набор метрик prometheus в Go -программе?](docs/PODOLSKY.md#22)
- Как встроить стандартный профайлер в свое приложение? - [Как встроить стандартный профайлер в свое приложение?](docs/PODOLSKY.md#23)
- Overhead от стандартного профайлера? - [Overhead от стандартного профайлера?](docs/PODOLSKY.md#24)
- Почему встраивание не наследование? - [Почему встраивание не наследование?](docs/PODOLSKY.md#25)
- Какие средства обобщенного программирования есть в Go? - [Какие средства обобщенного программирования есть в Go?](docs/PODOLSKY.md#26)
- Какие технологические преимущества языка Go вы можете назвать? - [Какие технологические преимущества языка Go вы можете назвать?](docs/PODOLSKY.md#27)
- Какие технологические недостатки языка Go вы можете назвать? - [Какие технологические недостатки языка Go вы можете назвать?](docs/PODOLSKY.md#28)
10. [Популярные задачи на собеседованиях](docs/POPULAR_TASKS.md) 10. [Популярные задачи на собеседованиях](docs/POPULAR_TASKS.md)
- [На вход подаются два неупорядоченных слайса любой длины. Надо написать функцию, которая возвращает их пересечение](docs/POPULAR_TASKS.md#1) - [На вход подаются два неупорядоченных слайса любой длины. Надо написать функцию, которая возвращает их пересечение](docs/POPULAR_TASKS.md#1)
- [Написать генератор случайных чисел](docs/POPULAR_TASKS.md#2) - [Написать генератор случайных чисел](docs/POPULAR_TASKS.md#2)

View File

@@ -33,23 +33,74 @@ Map в Go это хэш таблица, позволяющая хранить п
Случайным образом. Случайным образом.
### <a name="8"></a> Что будет, если читать из закрытого канала? ### <a name="8"></a> Что будет, если читать из закрытого канала?
Вернется нулевое значение.
### <a name="9"></a> Что будет, если писать в закрытый канал? ### <a name="9"></a> Что будет, если писать в закрытый канал?
Произойдет вызов panic.
### <a name="10"></a> Как вы отсортируете массив структур по алфавиту по полю Name? ### <a name="10"></a> Как вы отсортируете массив структур по алфавиту по полю Name?
С помощью функции sort.SliceStable. Для этого сначала конвертируем массив в слайс.
```go
slice := array[:]
```
### <a name="11"></a> Что такое сериализация? Зачем она нужна? ### <a name="11"></a> Что такое сериализация? Зачем она нужна?
### <a name="12"></a> Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка? ### <a name="12"></a> Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка?
### <a name="13"></a> Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему? ### <a name="13"></a> Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему?
### <a name="14"></a> Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go? ### <a name="14"></a> Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go?
### <a name="15"></a> Главный недостаток стандартного логгера? ### <a name="15"></a> Главный недостаток стандартного логгера?
### <a name="16"></a> Есть ли для Go хороший orm? Ответ обоснуйте. ### <a name="16"></a> Есть ли для Go хороший orm? Ответ обоснуйте.
### <a name="17"></a> Какой у вас любимый линтер? ### <a name="17"></a> Какой у вас любимый линтер?
### <a name="18"></a> Можно ли использовать один и тот же буфер []byte в нескольких горутинах? ### <a name="18"></a> Можно ли использовать один и тот же буфер []byte в нескольких горутинах?
### <a name="19"></a> Какие типы мьютексов предоставляет stdlib? ### <a name="19"></a> Какие типы мьютексов предоставляет stdlib?
### <a name="20"></a> Что такое lock-free структуры данных, и есть ли в Go такие? ### <a name="20"></a> Что такое lock-free структуры данных, и есть ли в Go такие?
### <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> Как встроить стандартный профайлер в свое приложение?
### <a name="24"></a> Overhead от стандартного профайлера? ### <a name="24"></a> Overhead от стандартного профайлера?
### <a name="25"></a> Почему встраивание не наследование? ### <a name="25"></a> Почему встраивание не наследование?
### <a name="26"></a> Какие средства обобщенного программирования есть в Go? ### <a name="26"></a> Какие средства обобщенного программирования есть в Go?
### <a name="27"></a> Какие технологические преимущества языка Go вы можете назвать? ### <a name="27"></a> Какие технологические преимущества языка Go вы можете назвать?
### <a name="28"></a> Какие технологические недостатки языка Go вы можете назвать?
### <a name="28"></a> Какие технологические недостатки языка Go вы можете назвать?