Перейти к содержимому

Samokat / Самокат (полный список)

  • Чем отличается статическая типизация от динамической? go/basics
  • Чем отличается строгая (сильная) типизация от нестрогой (слабой)? go/basics
  • Что такое референсные типы? go/basics
  • Какие есть строенные типы в Go? go/basics
  • Как можно изменить строку? go/strings-runes
  • Какими способами можно эффективно складывать строки? go/strings-runes
  • Чем отличается слайс от массива? go/slices-arrays
  • Как работает append? go/slices-arrays
  • Что из себя представляет тип map? go/maps
  • Какой порядок обхода элементов в мапе? go/maps
  • Какие есть особенности конкурентной записи в мапу? go/concurrency
  • Какие есть особенности в работе с неинициализированной мапы? go/maps
  • Как взять указатель на значение мапы? go/maps
  • Что такое эвакуация бакетов? go/maps
  • Что такое интерфейс и как просходит их сравнение? go/interfaces
  • Что такое утиная типизация? go/interfaces
  • Какие существуют виды каналов? go/channels
  • Из чего состоят каналы? (структура, назначение) go/channels
  • Что будет если писать в закрытый канал? go/channels
  • Что такое ошибки и какие есть способы их обработки? go/errors-panic
  • Что такое defer и какие особенности работы с ним? go/errors-panic
  • Чем отличаются горутины от потоков ос? linux-os/processes
  • В чем отличие параллелизма от конкурентности? go/concurrency
  • Что такое гонка? go/sync
  • Какие существуют примитивы синхронизации в Go? go/basics
  • Какие можете назвать атомарные операции? go/sync
  • Что можете сказать про устройство планировщка в Go? go/basics
  • Что можете сказать об организации многозадачности на уровне ос? linux-os/processes
  • Как можно оптимизировать медленный запрос в бд? sql/query-optimization
  • В чем отличия explain от explain analyze? sql/query-optimization
  • Что такое индекс и какие виды индексов существуют? sql/indexes
  • Что такое денормализация? sql/schema-design
  • Что такое репликация? sql/replication-scaling
  • Что такое партиционирование? sql/schema-design
  • Что такое реиндексация? sql/indexes
  • Как можно создавать и удалять индексы? sql/indexes
  • Какие способы горизонтального масштабирования известны? architecture/system-design
  • Как в PostgreSQL физически происходит изменение и удаление строк? sql/general
  • Что такое vacuum? sql/replication-scaling
  • Чем отличается vacuum от vacuum full? sql/replication-scaling
  • Есть ли опыт работы с Elasticsearch/OpenSearch? nosql-cache/elasticsearch
  • Что такое маппинги, индексы и алиасы? sql/indexes
  • Как можно оптимизировать запрос медленный запрос в Elastic? sql/query-optimization
  • Что можете сказать про nested objects? nosql-cache/elasticsearch
  • Что такое брокер сообщений? brokers/general
  • Что можешь сказать про топик, партицию, продюсера, консьюмера, группу консьюмеров? brokers/general
  • Что такое Dead Letter Queue? brokers/general
  • Какие можете назвать преимущества и недостатки микросервисной архитектуры? architecture/microservices
  • Что можете рассказать о реализации распределенных транзакций? architecture/microservices
  • Какие можете перечислить архитектурные принципы, которые используете в разработке? architecture/general
  • Что означает буква S в SOLID? architecture/principles
  • Какие можете перечислить 3 любых шаблона проектирования (уровня кода)? architecture/patterns
  • Что такое связанность и связность? architecture/principles
func main() {
// Write here
}
func printNumber(n int) {
time.Sleep(time.Second)
fmt.Println(n)
}
  • используя функцию printNumber, последовательно напечатать числа от 1 до 10; go/concurrency
  • измените код в main так, чтобы распараллелить печать; go/concurrency
  • изменить программу так, чтоб одновременно выводились по 5 чисел. go/concurrency
CREATE TABLE cities (
id serial PRIMARY KEY,
name text NOT NULL
);
INSERT INTO
cities (name)
VALUES
('Москва '),
('Санкт-Петербург '),
('Ростов-на-Дону ');
CREATE TABLE users (
id serial PRIMARY KEY,
name text NOT NULL,
city_id int NOT NULL REFERENCES cities (id)
);
INSERT INTO
users (name, city_id)
VALUES
('Женя ', 1),
('Анна ', 1),
('Олег ', 2);
  • вывести одной таблицей названия городов и имена пользователей из этих городов; так, чтобы города, пользователей из которых нет, отсутствовали в выборке; так, чтобы города, пользователей из которых нет, присутствовали в выборке; sql/general
  • вывести одной таблицей названия городов и количество пользователей из этих городов; так, чтобы города, пользователей из которых нет, отсутствовали в выборке; так, чтобы города, пользователей из которых нет, присутствовали в выборке со значением 0; так, чтобы города, пользователей из которых нет, присутствовали в выборке со значением null; sql/general
  • отсортировать результаты по количеству пользователей из городов в порядке возрастания; algorithms/sorting-search
  • поменять сортировку так, чтоб строки с количеством не равным null остались в прежнем порядке, а строки с количеством равным null переместились в начало таблицы; algorithms/sorting-search
  • оставить в выводе только те города, количество пользователей из которых больше 1; sql/general
  • вернуть все города в результат и добавить столбец с порядковым номером строки; сохранив порядок вывода строк, реализовать в столбце с номерами строк обратный порядок. go/strings-runes