Главная мысль
Flexbox — одномерная раскладка (ряд или колонка). Grid — двумерная: строки и столбцы одновременно.
Когда что
.nav { display: flex; gap: 1rem; }
.page {
display: grid;
grid-template-columns: 240px 1fr;
grid-template-rows: auto 1fr auto;
}
Flex силён в выравнивании вдоль одной оси, «лишнее место — в этот item». Grid — макроразметка страницы, overlapping областей, grid-template-areas.
Их комбинируют: grid для каркаса, flex внутри карточки.
Итог
Ось одна → flex; сетка 2D → grid. Вопрос «что лучше» без контекста — ловушка; на интервью ждут критерии выбора.