Java Backend | YeaHub
933 subscribers
238 photos
28 videos
3 files
415 links
Теория, подготовка к интервью и курсы для Java разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #Spring
🤔 В чём основное различие между @RestController и @Controller?

@Controller используется для обработки запросов в традиционных веб-приложениях и возвращает HTML-представления. @RestController автоматически возвращает данные в формате JSON или XML, что делает его идеальным для создания RESTful API.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Spring
🤔 Что лежит в основе Spring?

Spring построен на принципах инверсии управления (IC) и внедрения зависимостей (DI). оС означает, что создание и управление объектами берёт на себя контейнер Spring, a DI позволяет автоматически предоставлять объектам их зависимости. Эти принципы делают код более модульным, гибким и удобным для тестирования.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
#Собес #Spring
🤔 Что такое Spring Boot и в чём его основное преимущество?

Spring Boot - это инструмент для быстрого создания приложений на базе Spring Framework. Он предоставляет автоматические настройки, готовые стартеры для интеграции зависимостей и встроенные серверы приложений. Благодаря этому Spring Boot позволяет минимизировать конфигурацию и быстро разрабатывать приложения, особенно микросервисы.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 Разница между Spring и Spring Boot

Spring Framework — это универсальный фреймворк для создания приложений с гибкой конфигурацией. Spring Boot, в свою очередь, дополняет Spring, предоставляя автоматическую конфигурацию и встроенные серверы для быстрого создания приложений. Spring Boot подходит для быстрого старта проектов, минимизируя количество ручной конфигурации.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 В чем разница между Dependency Injection и Inversion of Control?

loC — это общий принцип проектирования, согласно которому управление объектами и их зависимостями передается внешнему контейнеру или фреймворку. Dependency Injection - это конкретный способ реализации loC, при котором зависимости обьекта предоставляются ему извне, а не создаются внутри. ІС можно реализовать не только через DI, но и другими методами, например, через фабричный метод или событийное управление.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 Что такое Spring контекст?

Spring контекст (или ApplicationContext) - это ядро Spring Framework, которое управляет жизненным циклом бинов и их зависимостями. Он позволяет создавать, настраивать и связывать обьекты приложения. Контекст поддерживает интернационализацию, обработку событий, доступ к ресурсам и интеграцию с внешними технологиями. Конфигурация контекста может быть выполнена через XML, аннотации или Java-классы.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 Зачем нужен Spring Framework?

Spring Framework - это мощный инструмент для упрощения разработки приложений. Он предоставляет механизм управления зависимостями (Dependency Injection), гибкость конфигурации, интеграцию с различными технологиями и поддержку создания веб-приложений. Благодаря своей модульности и широким возможностям, Spring подходит как для небольших проектов, так и для крупных корпоративных систем.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 Какой жизненный цикл Spring Beans?

Жизненный цикл Spring Bean состоит из этапов создания, настройки зависимостей, инициализации, использования и уничтожения. Контейнер автоматически выполняет все эти шаги, вызывая методы, такие как @PostConstruct для настройки перед использованием и @PreDestroy для завершения работы. Пользователи могут настраивать этапы жизненного цикла через интерфейсы или аннотации.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 Что такое Bean?

Bean в Spring - это обьект, который управляется контейнером Spring loC (Inversion of Control). Бины обычно создаются, настраиваются и используются для инкапсуляции бизнес-логики, управления данными или предоставления сервисов. Контейнер Spring автоматически управляет жизненным циклом бина, его зависимостями и настройками.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Spring
🤔 Какие Spring Scope знаешь?

Основные области видимости Spring: Singleton, Prototype, Request, Session, Application, WebSocket.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #oop #java #spring

🤔 Middle Java Backend разработчик в компанию Яндекс (Вертикали)

Техническое собеседование. Лето 2025. Зарплатная вилка: 250-280к. Опыт в резюме: 4.2 года. Проект: Разработка интеграционного слоя (микросервисы на Spring Boot) для системы расчета штрафов и оценки поставщиков для сети гипермаркетов. Был лайвкодинг.

💬 Вопросы:

- Как вы создавали и использовали кастомные запросы в Hibernate?

- Работали ли вы со Spring Profiles? Для чего они используются?

- Как работает Dependency Injection (DI) в Spring? Как вы его использовали?

- Как настроить конфигурацию с использованием аннотаций в ваших Spring-приложениях?

- Как работает аннотация @Transactional в Spring?

👉 Все вопросы из этого собеседования (26)

📣 Хочешь больше собесов?
Подпишись на наш главный канал
👍2🔥21🤣1
Spring Boot: автоконфигурация и REST API (Часть 2)

Привет, коллеги! 👋

Вторая часть про Spring. Сегодня — Spring Boot и создание REST API.

Что такое Spring Boot?

Spring Boot упрощает настройку Spring-приложений:
- Автоконфигурация
- Встроенные серверы (Tomcat, Jetty)
- Starter-зависимости
- Готовые production-фичи

Создание приложения

Структура проекта:
src/main/java/
└── com/example/demo/
├── DemoApplication.java
├── controller/
├── service/
└── repository/


Основной класс:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}


Создание REST контроллера

@RestController
@RequestMapping("/api/users")
public class UserController {

private final UserService userService;

public UserController(UserService userService) {
this.userService = userService;
}

@GetMapping
public List<User> getAllUsers() {
return userService.findAll();
}

@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.findById(id);
}

@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public User createUser(@RequestBody User user) {
return userService.create(user);
}
}


Spring Boot Starters

<!-- В pom.xml -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>


Конфигурация через application.yml

# application.yml
server:
port: 8081

spring:
datasource:
url: jdbc:postgresql://localhost:5432/mydb
username: user
password: pass

jpa:
hibernate:
ddl-auto: update
show-sql: true


Spring Boot Actuator

# Мониторинг приложения
management:
endpoints:
web:
exposure:
include: health,info,metrics


В третьей части разберем Spring Data JPA, транзакции и тестирование!

Какой ваш любимый Spring Boot starter? 👇

#springboot #restapi #java #spring
2🔥1🤝1