Skip to content

Instantly share code, notes, and snippets.

@Denkneb
Forked from Voley/Checklist.txt
Created June 13, 2024 12:03
Show Gist options
  • Save Denkneb/ea53fb8988ac9422230fe7a387a74d9b to your computer and use it in GitHub Desktop.
Save Denkneb/ea53fb8988ac9422230fe7a387a74d9b to your computer and use it in GitHub Desktop.
Чеклист для собеседования
Общее
[] SOLID, расшифровка каждой буквы + примеры из го
[] Паттерны из Gang of Four, мочь сказать какие виды + 3-4 запомнить и как их использовать
[] Что такое хеш таблица, сет, стек, очередь и для чего нужны
[] Что такое TPC/IP, в чем отличия с UDP?
[] Как работает http запрос? Коды ошибок, http методы.
[] Отличия http и https. Как работает https?
[] http/1 и http/2 в чем отличия?
[] Что такое идемпотентность в http запросах? Как реализовать?
[] Отличия rest и grpc, что когда нужно использовать? Как что работает?
[] Чем отличается поток от процесса?
[] Назови 10 команд линукс и что делают?
[] Что такое git flow?
[] Что такое observability?
[] Проблемы с многопоточностью - data race, race condition, другие. Мочь пояснить за каждую с примером.
Go
[] Слайсы, отличие от массива
[] Как передаются параметры функции в го? А мапа?
[] Как работает append при разных значениях len и cap
[] Как работает мапа?
[] Как сделать сет из мапы?
[] Что такое хеш функция? Как резолвятся и предотвращаются коллизии?
[] Интерфейс Error. Как надо работать с ошибками? Работа с ошибками между модулями.
[] Что такое каналы, какие виды, для чего. Запись и чтение из закрытых каналов. Аксиомы каналов.
[] Мьютексы, вейт группы, рвмьютексы, как создать в коде и как использовать, зачем нужны
[] Что такое sync.pool, пример использования?
[] sync.map и его использование, в чем отличие от мапы с мьютексом?
[] errgroup что такое, как использовать?
[] << ОЧЕНЬ ВАЖНО >> Как работает планировщик?
[] << ОЧЕНЬ ВАЖНО >> Как работает garbage collector?
[] Что такое контекст? Как использовать?
[] Как сделать graceful shutdown?
[] Что такое padding/alignment в структурах в го?
[] Интерфейсы, как реализованы, для чего используются?
[] Типизированный nil.
[] Какие использовал логгеры? Какие использовал линтеры?
[] Lock free структуры данных в го.
Базы Данных
[] Что такое транзакция?
[] Что такое триггеры?
[] Какие агрегатные функции знаешь?
[] ACID, каждая буква подробно
[] CAP theorem, каждый пункт подробно
[] Для чего нужны индексы, какие бывают?
[] Что такое EXPLAIN и EXPLAIN ANALYZE?
[] Что такое миграция? Как делать?
[] Что такое jsonb? Какой индекс к нему подходит? Для чего нужно?
[] Какие есть виды блокировок в базах данных? Оптимистичные и пессимистичные блокировки.
Соседние технологии
[] Зачем нужен REDIS? Что такое cache hit? Когда использование кеша плохо?
[] Зачем нужна kafka? Что такое producer, consumer, topic, partition, consumer group?
[] Что такое докер? Отличия от виртуализации. Как писать dockerfile и docker compose?
[] Что такое мультистейдж сборка в докере?
[] Что такое protobuf и как его использовать? Как поднимать версию и изменять прото контракт?
[] Что такое метаданные в grpc?
[] Как сделать распределенную транзакцию?
[] Что такое stateful и stateless микросервисы?
[] Паттерны микросервисов (уметь рассказать хотя бы 3)
[] Что такое чистая архитектура?
[] Что такое DDD? Основы DDD.
[] Что такое сага?
[] Как перейти от монолита к микросервисам?
[] Что такое OpenAPI? В чем отличие от Swagger?
[] Что такое CQRS? Для чего нужен?
Систем дизайн
[] Что такое лоад балансер? Зачем нужен?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment