Java
Ներկայացրեք մանրամասնորեն ծառայությունների միջև իրադարձության վրա հիմնված փոխազդեցությունը Kafka- ի օգտագործմամբ։
Արդյոք իրադարձությունների իդեմպոտենտ մշակումը հաջողություն է սենյորի համար, թե դա այն է, ինչից ակնկալվում է նրանից նախապես;
Որ նախագծերում և ինչ արտադրանքների վրա եք աշխատել [կազմակերպություն]-ում։
Պատմեք Java-ում բազմամյա ծրագրավորման մասին՝ ինչ եք օգտագործել?
Կարող են արդյոք բարելավվել թեստերը, օրինակ՝ կոդի քանակը կրճատելով?
Ինչպե՞ս միացրին թիմը:
class User { String անուն; public int hashCode() { return անուն.hashCode(); } public boolean equals(Object o) { return o instanceof User u && անուն.equals(u.անուն); } } Map<User, String> map = new HashMap<>(); User u = new User(); u.անուն = "Bob"; map.put(u, "զարգացնող"); u.անուն = "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(); }
Աշխատակիցների ցանկով անձնագրի աղյուսակ id անուն 1 Petya 2 Vasya 3 Kolya Աշխատավարձի վճարումների աղյուսակ id person_id payment_value [phone] Պետք է գրել հարցում, որպեսզի ընտրել աշխատակիցների անունները, որոնց ընդհանուր վճարումները գերազանցում են 100
Ի՞նչ է այս իրականացման հիմնական խնդիրն - Հիշողության մեջ կեշ չի կիրառվում օպտիմիզացման համար - Տարբեր տեսակի տվյալների պահպանումը նույն hash-ում - Փոխարկիչի ստուգումը տվյալները կարդալուց առաջ արդյունք չի տալիս - `RedisTemplate`-ում ստանդարտ սերիալիզատորների բացակայություն - Պայպլայնը չի օգտագործվում մասնակի գործողությունների համար
Կոդի առաջադրանք՝ Spring @Transactional և ինքնակոչում (կոդով սքրինշոթ)
Ի՞նչ հավաքածու օգտագործել արդյունքների աղյուսակի համար՝ ազգանունով դասակարգմամբ և բանալիով որոնմամբ:
Ինչպե՞ս է REST-ը համատեղվում օգտվողների տվյալների պահեստավորման հետ (օրինակ՝ առցանց խանութում):
Պատմեք ձեր զարգացման փորձի մասին և որ ուղղությամբ եք ուզում աճել։
պատմեք կոնկրետ արդյունքների և ձեռքբերումների մասին թվերով։
Դու երբևէ պետք է օպտիմալացնեիք NOT IN պայմանը? Դա որքան վատ է և ինչպես օպտիմալացնել?