Java
Разкажете подробно за взаимодействието между услугите, базирано на събития, с използване на Kafka.
Дали внедряването на идемпотентна обработка на събития е постижение за сеньора или това е нещо, което се очаква от него по подразбиране?
На кои проекти и с какви продукти работихте в [компания]?
Разкажете ни за многонитово програмиране в Java: какво използвахте?
Могат ли тестовете да бъдат подобрени, например, като се съкрати количеството код?
Как събраха екипа?
class User { String ime; public int hashCode() { return ime.hashCode(); } public boolean equals(Object o) { return o instanceof User u && ime.equals(u.ime); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.ime = "Bob"; map.put(u, "разработчик"); u.ime = "Alice"; System.out.println(map.get(u));
10 приложения за обработка взимат задачи от базата данни. Как да предотвратим две екземпляра да вземат една и съща задача?
Какво беше синхронно и какво се промени? Кой от двата случая (по график или по промяна на статуса) беше синхронен?
Какво търсите в екип и продукт? Какви са вашите критерии при избор на работно място?
Какъв е проблемът N+1 в JPA/Hibernate? Как беше решен?
@PutMapping("/create") public Book create(@RequestBody CreateBook request) throws Exception { System.out.println("Проверка дали книгата съществува " + map); Book book = new ObjectMapper().convertValue(map, Book.class); Book b = repo.findByTitle(book.getTitle()); if (b != null) { throw new Exception("Книгата вече съществува"); } book.setId(UUID.randomUUID().toString()); repo.save(book); log.debug("Книгата {} от {} е създадена с id {}", book.getTitle(), book.getAuthor(), book.getId()); return book; } @GetMapping("/get") public Book get(@QueryParam("id") String id) { log.debug("Вземане на книга " + id); return repo.findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); } @GetMapping("/{id}") public Book get(@RequestParam("id") String id) { log.debug("Вземане на книга ", id); return repo.findById(id).orElseThrow(() -> new BookAlreadyExeption("книга не е намерена")) findAll().stream() .filter(b -> b.getId().equals(id)) .findFirst().get(); }
SELECT име FROM person JOIN payment ON person.id = payment.person_id GROUP BY person.id HAVING SUM(payment_value) > 100;
Какъв е основният проблем на тази реализация? - Не се използва кеш в паметта за оптимизация. - Различни типове съхранение на данни в един хеш - Проверка на превключвателя преди четене на данни не дава резултати - Липсват стандартни сериализатори в `RedisTemplate` - Пайплайнът не се използва за частични операции
Задача по коду: Spring @Transactional и самовиклик (екранна снимка с код)
Коя колекция да използвате за таблицата с резултати с сортиране по фамилия и търсене по ключ?
Как REST се съчетава със съхранението на данни за потребителите (например, в онлайн магазин)?
Разкажете за своя опит в разработката и в коя посока искате да растете.
Разкажете за конкретни резултати и постижения в цифри.
Имали ли сте някога нужда да оптимизирате условието NOT IN? Колко е лошо и как да го оптимизирате?