Как взаимодействует Backend и Frontend?
Как правило, если люди следуют определенной архитектуре/парадигме/принципам только ради какой-то "красивости", то вскоре разгребают кучу проблем. Поразмышляйте, будет ли разработка быстрее/качественнее, обоснуйте такой подход экономически. И если все сойдется, то имеет смысл.
Код должен быть читаем и масштабируем, все остальное как правило уже личные хотелки программистов, ничем не подкрепленные.
у вас в любом случае бэкенд и фронтэнд разделён, вы их так-то даже на разных языках пишете). 
можно рендерить ответ на сервере, можно разработать приложение которое бы данные грузило и создавало внешний вид уже на клиенте. 
Но нужно понимать что тогда человеку чтоб увидеть ответ, нужно в начале загрузить это приложение. 
Оба подхода имеют место быть. 
отдавать на запросы уже готовый HTML это тоже стоящая вещь, позволяет быстро сформировать простую страницу.
В твиттере например рендерят всё на серевере, тк считают что такой способ для их сервиса больше подходит. 
Хотя я за внедрение SPA приложений (одностраничные приложения) - это позволяет не только снизить нагрузку на сервера, переложив часть работы на клиента, но и сделать более продвинутые интерфейсы, с гладкой плавной подзагрузкой данных. Ну и да для масштабирования сервиса  возможность отделять части приложения не заботясь о сборке на сервере, крайне полезна.