Sobes.tech

Java

Jak uczynić stos uniwersalnym do pracy nie tylko z Integer, ale także z String i obiektami niestandardowymi?

180

Na co należy zwrócić uwagę, tworząc indeks na dużej tabeli w produkcji?

174

Napisz własną klasę, która implementuje stos, z metodami push, pop i peekMax, zwracającym maksymalny element na stosie w czasie O(1).

162

Dlaczego potrzebny jest SELECT FOR UPDATE, a nie synchronized? I dlaczego blokada pesymistyczna, a nie optymistyczna?

157

Dlaczego wystąpi błąd StackOverflowError, jeśli nie ma zmiennych lokalnych? Czym zostanie wypełniona pamięć?

153

Co zrobić, jeśli processFile nie może zostać wykonany po zatwierdzeniu transakcji?

152

Dlaczego nie można po prostu użyć jednej zmiennej max zamiast drugiego stosu?

147

Istnieje system, który umożliwia użytkownikom pracę z plikami w przeglądarce. Standardowy stos technologiczny: Java, Spring, React, Postgres. Pliki są przechowywane w systemie plików na backendzie, metadane plików w bazie danych. Zespół zaimplementował funkcję: @Transactional public void process(String oldName, String newName) { Long id = exec("select id from file where name='" + oldName + "'"); //wykonanie zapytania do bazy danych processFile(oldName, newName); //zmiana nazwy pliku na dysku exec("update file set name='" + newName + "' where id = " + id); //wykonanie zapytania do bazy danych }

141

Czy można zoptymalizować stos pod kątem pamięci, aby nie było podwójnego zużycia?

135

Jaki typ indeksu użyć do wyszukiwania w środku lub na końcu ciągu (LIKE '%tekst%')?

125

Jest backend i interfejs użytkownika. Stos technologiczny jest standardowy: Java, Spring, React, Postgres. Zadanie: Zaprojektować punkt końcowy REST, który musi pobrać dane z 3 źródeł i zwrócić je do UI, zapewniając maksymalną możliwą przepustowość i minimalny możliwy czas odpowiedzi (kryteria maksymalne/minimalne w oparciu o nasze konkretne warunki, ponieważ w zasadzie nie ma magicznego rozwiązania i trzeba znaleźć kompromis). Wiadomo, że oczekiwany szczyt RPS dla tego punktu końcowego wyniesie 200. Znane szczegóły dotyczące źródeł: 1. Źródło - nasza baza danych, zapytanie trwa około 15 sekund. 2. Źródło - powiązana usługa REST, degraduje do 2 minut przy 100 RPS, w trybie normalnym odpowiedź w ciągu 5 sekund. Nie możemy zmienić zachowania tego źródła. 3. Źródło - powiązana usługa REST, odpowiada losowo (nie udało się ustalić żadnych wzorców) z błędami 503, w trybie normalnym odpowiedź w 10 sekund. Nie możemy zmienić zachowania tego źródła.

124

Napisz najprostszy sposób, który podczas działania rzuci StackOverflowError.

120