mirror of
https://github.com/goavengers/go-interview.git
synced 2026-02-04 04:36:19 +00:00
channel, array
This commit is contained in:
42
README.md
42
README.md
@@ -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)
|
||||||
|
|||||||
@@ -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 вы можете назвать?
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user