ERP Consultant
// mění aktuální stav -> setPhotos([...photos, photo]); // nevidí změny // mění proměnnou // bez klíče
Pověz mi něco o sobě a svých zkušenostech
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 "Fotografie úspěšně nahrána"; } catch (Exception e) { return "Chyba při nahrávání fotografie"; } } @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 víte o vzoru Strategie?
Jak jste prováděli migrace databází bez výpadku?
Jak jste bojovali s únikem goroutine — sledovali jste ho?
Je třeba ukládat data do mezipaměti a do databáze na 10-30 minut, ale databáze roste. Hogyan oldjuk meg a végtelen növekedést?
Co je to kontext v Go? K čemu je to potřeba, jaké jsou jeho druhy, jaké vzory práce s ním existují?
Jaké jsou hlavní problémy AI agentů v současnosti?
Jaký je rozdíl mezi neopakovatelným čtením (non-repeatable read) a fantomovým čtením (phantom read)?
Jeden ze služeb v řetězci požadavků přestal odpovídat. Jak budete problém řešit krok za krokem?
Proč může v Kafka probíhat nekonečná redistribuce?
Povězte nám něco o sobě (sebe-představení)
Ve výchozím nastavení, kde se provádí CompletableFuture?
Proč jste zvolili Go pro messenger?
Kolik současných spojení držel jeden instanční a jak se škálovalo?
Existuje technické řešení, které jste implementoval a nyní považujete za nesprávné?
Jaký je rozdíl mezi rozhraním Executor a ExecutorService?
Co je to vzor Mediátor, pracoval jsi s ním?
Na čem záleží — komu je povoleno pracovat na dálku a komu ne?