Java
Ако злосторникът знае алгоритъма за хеширане, ще може ли да фалшифицира JWT токен?
Разкажете ни защо решихте да излезете на пазара и да разглеждате нещо ново за себе си.
/** * Интерфейс за взаимодействие с хардуера на банкомата. */ interface Hardware { /** * Връща масив с броя на банкнотите по номинали 50, 100, 500, 1000, 5000. * Методът работи бавно и създава шум. * * @return масив, където всеки елемент съответства на броя на банкнотите за даден номинал. * Например, [10, 20, 30, 40, 50] означава: * - 10 банкноти от 50 рубли * - 20 банкноти от 100 рубли * - 30 банкноти от 500 рубли * - 40 банкноти от 1000 рубли * - 50 банкноти от 5000 рубли */ int[] getBillsCounts(); /** * Зарежда в изходящия кутия посочените банкноти. * * @param billsCounts масив с броя на банкнотите по номинали [50, 100, 500, 1000, 5000]. * Например, [0, 1, 0, 2, 0] означава: * - 0 банкноти от 50 * - 1 банкнота от 100 * - 0 банкноти от 500 * - 2 банкноти от 1000 * - 0 банкноти от 5000 */ void giveBills(int[] billsCounts); } /** * Клас за реализиране на логиката на банкомата. * Тук трябва да се напише код */ class MyATM { /** * Хардуер на банкомата. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }
Какво дава анотацията @Transactional в този контекст? Ще помогне ли при падане на външен сервиз?
Какво е вашето мнение за работа с технически дълг? Как да живеем с него, ако кодът е като «спагети»?
Какво е инкапсулация? Каква е нейната полза?
Какво е средната алгоритмична сложност? Можеш ли да обясниш и да дадеш примери за алгоритми с различна сложност?
Каква е разликата между оптимистично и песимистично блокиране?
Какви са нивата на изолация на транзакциите в SQL и кое от тях е зададено по подразбиране в PostgreSQL?
Въпрос 9. Напишете заявка, която да върне служителите с най-високата заплата във всяка позиция. Отидете на onecompiler.com/postgresql Инициализационен скрипт: CREATE TABLE users ( fio TEXT NOT NULL, position TEXT, salary BIGINT NOT NULL ); Вмъкнете данни в таблицата: INSERT INTO users(fio, position, salary) VALUES ('Иванов', 'Тестировщик', 100000), ('Горохов', 'Тестировщик', 120000), ('Петров', 'Тестировщик', 140000), ('Сидоров', 'Тестировщик', 100000), ('Кузнецов', 'Тестировщик', 120000), ('Михайлов', 'Тестировщик', 150000), ('Антонов', 'Разработчик', 200000), ('Сухой', 'Разработчик', 100000), ('Микоян', 'Разработчик', 100000), ('Капустин', 'Директор', 300000), ('Астахов', 'ИБ', 200000); Примерен резултат: Михайлов Тестировщик 150000 Антонов Разработчик 200000 Капустин Директор 300000 Астахов ИБ 200000 Време за изпълнение: 10 минути. Напишете заявката в полето:
Защо да отделим обектите from и to (защо да не работим директно с first и second)?
Какво е Keycloak? Разкажи ми, с какво си се сблъсквал.
Какви тестове пишеш? Какви рамки използваш?
Защо теоретично е невъзможно да се гарантира CA без P?
Как да се защитим от наследяване и презаписване на гетъра (за да не може колега да override-не гетъра и да премахне защитното копие)?
Защо клиентът вижда стар баланс след успешен изтегляне вчера?
Кои методи за синхронизиране на нишки в Java познаваш?
Може ли да се използва механизма AOP за добавяне на собствена логика?
[име] попита: Как точно е построено Java приложението в Docker образа?
Какво знаеш за патърна Saga? Кога да прилагаме оркестрация, а кога хореография?