ERP Consultant
Czym jest slice i nagłówek slice w Go?
Czym są Wirtualne Wątki? Czym różnią się od Zielonych Wątków? Kiedy lepiej je używać?
Jaka jest różnica między interfejsem Executor a ExecutorService?
Czym jest bloating w PostgreSQL i dlaczego fizyczny rozmiar tabeli rośnie nawet po usunięciu danych?
Ile mikroserwisów było w przetwarzaniu danych?
Jak pracowałeś z testami w Go? Czy pracowałeś z mockami?
Opowiedz o poziomach izolacji transakcji. Z którymi pracowałeś i czym się różnią?
Opowiedz o trudnym zapytaniu, które musiałeś zoptymalizować.
Jak będą rozdzielone partycje w temacie z 2 partycjami, 4 instancjami aplikacji w jednej grupie konsumentów?
Czym jest szyfrowanie end-to-end i jak się ma do TLS?
Jak dostarczyć wiadomości do wszystkich 4 instancji przy ograniczeniu do 2 partycji? Wzorzec standalone consumer
Czy za pomocą submit można uruchamiać tylko Runnable, czy także Callable?
Jak wygląda wyciek pamięci na wykresie? Jak go wykryłeś?
Czy interfejsy mogą mieć metody z implementacją lub bez?
Jakie wymagania muszą spełniać obiekty klasy, aby można je było używać jako kluczy w HashMap?
Jaką ścieżkę używamy, jeśli podczas rekursywnego przeszukiwania znajdziemy katalog?
Czym jest semantyka exactly-once w Kafka? Czy naprawdę zapewnia absolutne gwarancje?
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 "Zdjęcie zostało pomyślnie przesłane"; } catch (Exception e) { return "Błąd podczas przesyłania zdjęcia"; } } @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; } }
Co wiesz o wzorcu Strategia?
Jakie kolekcje wielowątkowe znasz?