ERP Consultant
Quel protocole de transport le messager a-t-il utilisé?
Avez-vous déjà utilisé des primitives de synchronisation en multithreading ? Parlez-moi de CountDownLatch, CyclicBarrier, Phaser et d'autres.
Principes SOLID — racontez-moi chacun d'eux.
Qu'est-ce que SELECT FOR UPDATE ? À quoi ça sert, avez-vous travaillé avec cette construction ?
Y a-t-il une différence dans l'ordre de définition des champs dans un index composé ? Par exemple, si l'index composé est (nom, prénom), sera-t-il utilisé si la requête ne concerne que le prénom ?
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; } }
Quelle est la différence entre l'interface Executor et ExecutorService?
Que faites-vous si vous n'êtes pas d'accord avec la solution technique de l'équipe?
// modifie l'état actuel -> setPhotos([...photos, photo]); // ne voit pas de changement // modifie la variable // pas de clé
Quels types de sagas connaissez-vous?
Qu'est-ce que PgBouncer et quel problème résout-il dans PostgreSQL?
Qu'est-ce que le bloating dans PostgreSQL et pourquoi la taille physique de la table augmente-t-elle même après la suppression des données?
Comment le processus CI/CD a-t-il été organisé ? Qui était responsable : les développeurs ou des DevOps séparés ?
Comment fonctionne la partition pour résoudre le problème de croissance de la table ? Le problème de bloating est-il toujours pertinent avec cette approche ?
Quelle est la complexité lors de l'insertion d'un élément dans HashSet?
Comment livrer des messages à toutes les 4 instances avec une limite de 2 partitions ? Patron consommateur autonome
Parle-moi un peu de toi et de ton expérience
Peut-on lancer uniquement Runnable avec submit ou Callable aussi?
Tu as travaillé jusqu'à tard hier soir. Es-tu payé quelque chose en plus ?
Combien de microservices étaient en traitement de données?