Подготовьтесь к техническому интервью на позицию ERP Consultant. Реальные вопросы из ведущих IT-компаний.
Смотрите также задачи с собеседований для ERP Consultant
Расскажите о последнем проекте: чем занимались, какие были задачи, проекты и стек?
Какой была внутренняя архитектура backend-сервиса: модульный монолит, DDD, MVC или иной подход?
Какие вы знаете поведенческие паттерны?
Расскажи про уровни изоляции транзакций. С какими работал, чем отличаются?
Если PgBouncer держит 10 соединений, но 100 клиентских — как они будут обслуживаться?
Как работает партиционирование для решения проблемы роста таблицы? Актуальна ли проблема bloating при таком подходе?
Какие вы знаете гарантии доставки сообщений в Kafka?
Как делали миграции баз данных без даунтайма?
Что такое bloating в PostgreSQL и почему физический размер таблицы растёт даже после удаления данных?
package com.example.photogallery.controller; import com.example.photogallery.model.Photo; import com.example.photogallery.service.PhotoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/api/photos") public class PhotoController { @Autowired private PhotoService photoService; private List<Photo> photos = new ArrayList<>(); private static Integer totalCount = 0; @GetMapping public List<Photo> getAllPhotos() { return photos; } @PostMapping("/upload") public String uploadPhoto(@RequestParam("file") MultipartFile file) { try { Photo photo = new Photo(); photo.setFileName(file.getOriginalFilename()); photo.setFileSize(file.getSize()); photo.setContentType(file.getContentType()); photos.add(photo); totalCount++; photoService.savePhoto(photo); return "Photo uploaded successfully"; } catch (Exception e) { return "Error uploading photo"; } } @GetMapping("/count") public Integer getCount() { return totalCount; } @DeleteMapping("/{id}") public void deletePhoto(@PathVariable Long id) { for (Photo photo : photos) { if (photo.getId().equals(id)) { photos.remove(photo); totalCount--; photoService.deletePhoto(id); break; } } } @GetMapping("/search") public List<Photo> searchPhotos(@RequestParam(required = false) String query) { if (query.isEmpty()) { return photos; } List<Photo> results = new ArrayList<>(); for (int i = 0; i < photos.size(); i++) { if (photos.get(i).getFileName().contains(query)) { results.add(photos.get(i)); } } return results; } }
Как выстроен Git workflow на проекте? Какие ветки используются?
// мутирует текущие state -> setPhotos([...photos, photo]); // не увидет изменения // мутирует переменную // нет ключа
С помощью submit можно запускать только Runnable или Callable тоже можно?
Сколько микросервисов было в обработке данных?
Расскажи про индексы в БД: какие бывают, когда индекс игнорируется и база делает seq scan?
SOLID принципы — расскажи про каждый.
Какой транспортный протокол использовал мессенджер?
Какие виды саги вы знаете?
Какие основные проблемы у AI-агентов сейчас?
Что такое slice и slice header в Go?
Все 130 вопросов доступны в Сопровождении до оффера
Узнать подробнее