Подготовка к собеседованию
Go
13 уроков в линии
- 1СрезыСрез в Go: окно над чужим массивом, два пути append и правило роста, которое все помнят неверно35 МИН
- 2КартыКарта в Go: группа из восьми, порог 7/8 и промах, который дороже попадания35 МИН
- 3Строки и руныСтроки, руны и байты: почему len не считает символы, а подстрока держит мегабайтыПонятнее после: Срезы30 МИН
- 4ИнтерфейсыИнтерфейс в Go: два слова, nil, который не nil, и вызов дороже в четыре раза30 МИН
- 5Получатель метода в Go: копия, которой не видно, и «указатель быстрее», которое неверноПонятнее после: Интерфейсы25 МИН
- 6Ошибки в Go: одна буква, которая рвёт цепочку, и утверждение типа, которое перестанет работатьПонятнее после: Интерфейсы25 МИН
- 7defer, panic, recoverdefer, panic и recover в Go: три момента вместо одного и recover, который молча не работаетПонятнее после: Ошибки35 МИН
- 8Context в Go: отмена только вниз, cancel, который не про отмену, и Value, который дорожает с глубинойПонятнее после: Каналы · Планировщик30 МИН
- 9ПланировщикГорутины и планировщик Go: две тысячи байт, вытеснение и GOMAXPROCS, который ограничивает не то, что думают30 МИН
- 10КаналыКанал в Go: значение мимо буфера, select без приоритетов и цена, которую платят парковкойПонятнее после: Планировщик25 МИН
- 11sync и atomic в Go: два совета, которые разваливаются при замереПонятнее после: Каналы · Планировщик30 МИН
- 12Стек и кучаСтек, куча и escape-анализ: почему указатель ещё ничего не значитПонятнее после: Срезы · Интерфейсы25 МИН
- 13Сборщик мусораПочему пауза не растёт вместе с кучей, а GOGC ничего не ускоряетПонятнее после: Стек и куча25 МИН
Финальная проверка: линия Go
По одному вопросу на каждый урок линии. Здесь не пересказ уроков, а те места, где механизм даёт ответ, которого не ждут: общий массив после append, порядок обхода карты, select без приоритетов и nil, который не nil.
Финальная проверка1 / 13
s := make([]int, 0, 4); a := append(s, 1); b := append(s, 2). Чему равно a[0]?