Рет қаралды 29,393
Настоящее собеседование на Middle Go разработчика: реальные вопросы, кейсы, задачи. Все происходит так, если бы кандидат пришел на собеседование в команду. Расскажем почему спрашивали именно эти вопросы и как лучше всего подготовиться к собеседованию.
Проведет интервью Сергей Парамошкин
- Руководит центром разработки и автоматизации в МТС.Digital
- В подчинении три команды разработки
- Интервьюирует респондентов на позиции Junior, Middle и Senior
- Больше 10 лет в IT, 7 лет опыт в Go
- Декан факультета по Golang в GeekBrains
Чтобы получать уведомления о предстоящих открытых интервью или записаться на менторскую сессию, напишите нашему боту: t.me/skills_mentee_bot?start=...
00:00 Интро
00:50 Бэкграунд Димы
02:24 Менторская программа
03:08 Бэкграунд Сергея
03:52 Бэкграунд Олега
05:14 Начало интервью
05:41 Объектно ориентированная модель в GO
07:16 Чем слайс отличается от массива?
07:56 Как увеличивается капасити при append'е?
08:54 Что можно сказать про map'у?
11:49 Какими свойствами должны обладать ключи в map'у?
12:40 Может ли быть ключом map'ы структура?
13:01 Возможны ли случаи когда перебор по слайсу будет работать быстрее, чем по map'е?
14:47 Что такое интерфейс и в частности пустой интерфейс в GO?
15:24 Как проверить соответствует ли структура интерфейсу?
16:48 Задача про структуры
17:40 Как оптимизировать поля?
18:18 Что находится перед названием метода?
18:49 Что означает звёздочка у ресивера?
19:10 Какое поведение по дефолту в GO?
19:33 Сколько весит пустая структура?
19:56 Задача про функцию
20:49 Замыкания. Что такое клоужер и как оно работает?
21:57 Можем ли мы дописать какие-то методы к пакету ?
22:33 Что из себя представляет горутина?
23:41 Сколько весит горутина?
23:56 Что ты знаешь о GMP паттерне?
25:11 Сколько в паттерне очередей? И какие?
25:59 Могут ли горутины воровать друг у друга задачи?
26:44 Когда мы можем получить дедлок? И что означает дедлок при работе с горутиной?
27:23 Какие есть ещё способы взаимодействия с горутиной(кроме каналов)? Как они могут работать?
27:44 Как завершить толпу горутин, не пристреливая main?
28:09 Какие типы каналов существуют? В чём их отличие?
28:59 Что можно сделать с каналами?
29:38 Что будет, если мы попытаемся написать закрытый канал?
30:04 Как проверить, что канал закрыт?
30:17 Что будет при чтении из закрытого канала?
30:51 Можно ли тоже самое сделать на записи?
31:09 Что делает select при работе с каналами?
31:27 Что делает default? Зачем он нужен?
32:06 Что такое контекст?
32:38 Кейсы с контекстами (применение)
33:00 ACID аббревиатура как расшифровывается?
33:44 Какие типы изоляции транзакций бывают?
35:16 С какими базами данных работал Олег?
35:37 Какие индексы знает Олег?
36:20 Задача про контекст
37:54 System design. Кейс-задачи.
41:40 Конструкции panic, defer, recovery
44:15 Что можно сказать про http?
45:35 Знаешь ли про существование http3?
47:33 Как отдебажить протобаг?
49:44 Сетка TCP и UDP, чем различаются?
50:20 Docker Compose, Linters
50:59 Как работать с Kafka?
51:26 С какими очередями ещё работал Олег?
52:12 Фидбэк от Сергея про интервью с Олегом
54:55 Вопросы из чата
58:34 Про менторскую программу
01:03:43 Дополнительные вопросы из чата
01:08:23 Про прошлое собеседование
01:08:58 Вопросы из чата
01:15:03 Резюмирование