Популярный стек бэкенд технологий в 2024 году

время 3 МИН
звезда звезда звезда ЛЕГКО
Основы

Привет, дорогой друг!

Рассказываю, как быть актуальным и востребованным бэкенд разработчиком. Информация может быть полезна при подготовке к собеседованиям. Так же поделюсь моими любимыми ссылками, по которым сам освежал знания. Итак, погнали!

Общая теория

Часто спрашивают про ООП, AOP, DDD, SOLID. Так же желательно в общих чертах знать, что такое GRASP, DRY и KISS. Прежде всего, выучите определения, что означает каждая буква в аббревиатурах, будет супер, если вспомните, где и как что-то из этого уже использовали.

Важно знать базовые структуры данных и алгоритмы и их сложность в Big O-нотации (например какая сложность поиска по HashSet? А TreeSet?). Вот про структуры, а вот про сложности

Про алгоритмы можно почитать тут , а здесь можно посмотреть

Так же практически всегда спрашивают про: CAP-теорему, ACID и GoF-паттерны. Если располагаете временем, почитайте книжку GoF, если нет - знайте, какие бывают типы паттернов (Creational, Structural, Behavioral) и хотя бы по паре самых популярных из каждого типа, лучше, если такие, с которыми уже работали (например, Singleton, Builder, Facade, Proxy, Iterator, Observer).

Практически везде нужны микросервисы, редкая вакансия обходится без них.

Технологии

Кратко: Java/Kotlin, многопоточность, Spring Boot, Kafka, Kubernetes, Postgres, Docker, Kubernetes, Redis. Теперь в деталях.

Java. Stream API, Optional, Collections, видимость свойств и методов

Java concurrency. Как работают атомик-классы. Какие есть виды тред пулов, чем они отличаются, Java Memory Model (можно почитать тут) многопоточность, потокобезопасные коллекции, синхронизации потоков тут годная инфа

Spring core – какие библиотеки отвечают за проксирование и чем они отличаются, AOP хорошая стятья. BeanFactoryPostProcessor чем отличается от BeanPostProcessor. Как работает аннотация @PreDestroy на синглтоне и прототайпе, про жизненный цикл бинов можно почитать тут

Spring web – повторить пайплайн обработки запроса в Spring MVC. Изучить ключевые отличия от WebFlux и MVC. Мультиплексирование каналов. java NIO vs IO (тут можно почитать).

Микросервисная архитектура. Хорошо знать плюсы и минусы применения микро сервисной архитектуры, когда ее стоит применять, а когда нет. Что такое микросервисы? Как разбивать систему на микросервисы? Какие есть паттерны микро сервисной архитектуры? А как насчет транзакций? Что спрашивают:

  • плюсы и минусы, когда необходимы микросервисы, а когда лучше без них;
  • паттерны микро сервисной архитектуры;
  • транзакций в обычном смысле нет, есть “согласованность в конечном счете”, тут же почитать про SAGA (два вида оркестровка и хореография) тут можно почитать
  • Спасибо, что заглянули,
    добавляйтесь в Telegram канал и будьте в курсе новинок.
    Если Вам было интересно, можете поддержать автора

    Что еще почитать?

    Собеседования для программистов в 2024 году

    2024, 22 МАРТА
    время 3 МИН
    звезда звезда звезда ЛЕГКО
    Основы
    Недавно собеседовался в несколько компаний на должность программиста, делюсь опытом

    Как стать программистом?

    2023, 19 АВГУСТА
    время 3 МИН
    звезда звезда звезда СРЕДНЕ
    Основы
    Веб
    Делюсь тем какие дополнительные навыки, скорее всего придется получить, чтобы подняться вверх по карьерной лестнице разработчиков программного обеспечения
    на главную