Java
class User { String name; public int hashCode() { return name.hashCode(); } public boolean equals(Object o) { return o instanceof User u && name.equals(u.name); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.name = "Bob"; map.put(u, "developer"); u.name = "Alice"; System.out.println(map.get(u));
10 қолданба өңдеушілері дерекқордан тапсырмаларды алады. Екі мысалдың бір тапсырманы алуын қалай болдырмауға болады?
Қандай нәрсе синхронды болды және не өзгерді? Екі жағдайдың қайсысы (кесте бойынша немесе күй өзгерісі) синхронды болды?
Топта және өнімде не іздейсіз? Жұмыс орнын таңдауда қандай критерийлерді ескереді?
JPA/Hibernate-де N+1 мәселесі дегеніміз не? Оны қалай шешті?
@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(); }
Қызметкерлер тізімі бар person кестесі id name 1 Petya 2 Vasya 3 Kolya Жалақы есептеулері бар payment кестесі id person_id payment_value [phone] Жұмысшылардың жалпы есептелген сомасы 100-ден асатындарын таңдау үшін сұрау жазу керек
Осы іске асырудың негізгі мәселесі қандай? - Жадыда кэштеу қолданылмайды, ол оңтайландыру үшін. - Бір хэште әртүрлі деректер сақтау түрлері бар. - Ауыстырғыштың бар-жоғын тексеру деректерді оқымас бұрын нәтиже бермейді. - `RedisTemplate`-те стандартты сериализаторлар жоқ. - Жартылай операциялар үшін пайплайн қолданылмайды.
Код бойынша тапсырма: Spring @Transactional және self-invocation (код скриншоты)
Тегі бойынша сұрыпталған және кілт бойынша іздеуге болатын нәтижелер кестесі үшін қандай жинақты пайдалану керек?
REST пайдаланушы деректерін сақтау (мысалы, онлайн дүкенде) қалай байланысты?
Өз даму тәжірибеңіз туралы айтыңыз және қай бағытта өскіңіз келеді?
Сандармен нақты нәтижелер мен жетістіктер туралы айтыңыз.
NOT IN шартын оңтайландыруға тырысқан кезіңіз болды ма? Бұл қаншалықты нашар және оны қалай оңтайландыруға болады?
Ластанған оқу аномалиялары мен қайталанбайтын оқудың айырмашылығы неде?
Callable және Runnable интерфейстерінің айырмашылығы неде? Неге олар әртүрлі аталады?
Дерек түріне байланысты ағаштың биіктігін есептегенде логарифмнің негізі қалай өзгереді?
Индекстерге қандай шектеулер бар? Қандай типтегі индекстер бар (hash, B-tree) және оларды қашан қолдану керек?
Өнім сұрау салумен келді, ол бойынша Лояльдік қызметін әзірлеу керек, ол жеткізілген тапсырыстар санына (тапсырыстардың OMS негізгі жүйесі) негізделген түрде тапсырыс беру қызметіне (кассир) жеңілдік мөлшерін береді. Лояльдік қызмет әлі фронт-энд бөлігін қамтымайды, тек мәліметтер базасында жеткізілген және жойылмаған тапсырыстар санына сәйкес қандай жеңілдік болатынын көрсететін карта сақталуы керек. Мысалы: Тапсырыстар саны Жеңілдік [phone]% [phone]% [phone]% [phone]% Қызметті жобалау, тапсырыс беру қызметі мен тапсырысты басқару қызметімен интеграциялау механизмдерін ұсыну керек. Қызмет архитектурасын жобалау керек, оны әзірлеу және орналастыру командасына беру үшін.
throws-те тексерілмеген қателік көрсетілсе, қате пайда бола ма?