uk
Feedback
Реальные задачи с собеседований | Java

Реальные задачи с собеседований | Java

Відкрити в Telegram

Буду сюда выкладывать реальные задачи и вопросы с собеседований, без копипаста с интернета и других каналов) Ссылка для друга - https://t.me/+K4vJFdalwlthYTQy Прислать задачи, реклама - @privatevoidmain

Показати більше
4 358
Підписники
+424 години
+97 днів
+1730 день
Архів дописів
Яндекс
Дан текст T и строка S. Требуется найти подстроку S' в T такую, что она совпадает с S с точностью до перестановки букв и вернуть начальный индекс подстроки. Проверка: "a" "a" => 0 "abcd", "aaa" => -1 ? "abcd", "cbd" => 1 "abcdda", "bcdd" => 1
#yandex | Подписаться

Яндекс
Дана строка. Требуется узнать является ли она палиндромом, если из неё удалить максимум 1 символ
#yandex | Подписаться

ВКонтакте
Дан массив из нулей и единиц. Нужно определить, какой максимальный по длине подынтервал единиц можно получить, удалив ровно один злемент массива. Удалять один элемент из массива обязательно. assert(maxOnes (new int[](1, 1, 0, 1))) =- 3 assert(maxOnes (new int[K1, 1, 0, 0, 1})) -- 2
#vk | Подписаться

Лига цифровой экономики Будет ли работать этот код?
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

for (String elem : list) {
    if (elem.equals("a")) {
       list.remove(elem);
    }
}
#digitalleague | Подписаться

Всех с окончанием рабочей недели) #fridaymemes

Яндекс
/*
 * Дан массив целых чисел a_1, a_2, ..., a_n и неотрицательное число k.
 * Найдите количество пар элементов массива (i, j),
 * таких что i < j и |a_i - a_j| = k (модуль разности равен k).
 *
 * Примеры:
 * {-5, 1, -3, 0, 5}, k = 6 -> 3
 * {-2, 1, 3, 0, -10, 1}, k = 0 -> 1
 */

public int getPairsCountWithDiffByModule(int[] a, int k) {
    // ...
}
#yandex | Подписаться

Сбер #sql
Пользователь хочет по запросу находить сумму, которую он потратил. Также хочет по запросу сумму, которая пришла ему. еще хотели чтобы можно было отследить по датам и как бы это хорошо работало в больших бд с миллионами запросов CREATE TABLE cash.cash_history ( id uuid NOT NULL, user_id uuid NULL, operation_id uuid NULL, server_time timestamptz NULL, sum int8 NULL, CONSTRAINT cash_history_pk PRIMARY KEY (id), CONSTRAINT cash_history_un UNIQUE (operation_id) )
#sber | Подписаться

Unknown company
У Максима есть заранее подготовленный список из n подарков. Он планирует идти по порядку вдоль списка и каждый раз, когда он видит подарок, на который у него хватает денег, он обязательно моментально его покупает. Помогите ему посчитать, какое максимальное количество денег у него может остаться после закупки подарков, если он возьмёт кредит оптимального размера (то есть такого, чтобы у него осталось как можно больше денег после покупки подарков по алгоритму). Формат входных данных Первая строка содержит два целых числа n и m (1≤n≤10^5 ,1≤m≤10^9 ) — длина списка подарков и размер предодобренного кредита. Вторая строка содержит n целых чисел — цены подарков ai (1≤ai≤10^9 ). Формат выходных данных Выведите одно число — максимальное количество бурлей, которое могло остаться у Максима после закупки подарков. Замечание 1 В первом примере Максим может взять в кредит 3 бурля, и тогда он купит только последний подарок. Во втором примере Максим может взять кредит на все 10 бурлей и купить все подарки. Пример 1: 3 10 5 4 1 (на выходе должно получиться 2). Пример 2: 3 10 1 2 3 (на выходе должно быть 4)
#unknown

Сбер Сделать рефакторинг
@RestController @Transactional @RequiredArgsConstructor public class ProcessActionController { private final PushHandler pushHandler; private final SmsHandler smsHandler; @PostMapping(value = "/doAction", consumes = {MediaType.ALL_VALUE}) public ResponseEntity<Object> doIt(@ResponseBody @Valid ActionRequ request) { Action a = request.getaction(); if (a == Action.SEND_PUSH)) { return pushHandler.process(request); } if (a == Action.SEND_SMS) { return smsHandler.process(request); } return ResponseEntity.ok().body(UserRs.getDefaultResponce("It's default response. ")); } } @Data class ActionRequ { @NotNull private Integer id; @NotNull private Action action; //... }
#sber | Подписаться

Сбер
Есть массив содержащий неупорядоченный числовой ряд 1 - 100 в котором не хватает одного случайного числа. Как найти недостающее число? */ public static int findMissingNumber(int[] array) { return 0; }
#sber | Подписаться

Авито
На Авито размещено множество товаров, каждый из которых представлен числом. У каждого покупателя есть потребность в товаре, также выраженная числом. Если точного товара нет, покупатель выбирает ближайший по значению товар, что вызывает неудовлетворённость, равную разнице между его потребностью и купленным товаром. Количество каждого товара не ограничено, и один товар могут купить несколько покупателей. Рассчитайте суммарную неудовлетворённость всех покупателей. Нужно написать функцию, которая примет на вход два массива: массив товаров и массив потребностей покупателей, вычислит сумму неудовлетворённостей всех покупателей и вернет результат в виде числа. Пример # Пример # ввод goods = [8, 3, 5] buyerNeeds = [5, 6] # вывод res = 1 # первый покупатель покупает товар 5 и его неудовлетворённость = 0, второй также покупает товар 5 и его неудовлетворённость = 6-5 = 1
#avito | Подписаться

Авито
Мы в Авито любим проводить соревнования, — недавно мы устроили чемпионат по шагам. И вот настало время подводить итоги! Необходимо определить userIds участников, которые прошли наибольшее количество шагов steps за все дни, не пропустив ни одного дня соревнований. Пример # Пример 1 # ввод statistics = [ [{ userId: 1, steps: 1000 }, { userId: 2, steps: 1500 }], [{ userId: 2, steps: 1000 }] ] # вывод champions = { userIds: [2], steps: 2500 } # Пример 2 statistics = [ [{ userId: 1, steps: 2000 }, { userId: 2, steps: 1500 }], [{ userId: 2, steps: 4000 }, { userId: 1, steps: 3500 }] ] # вывод champions = { userIds: [1, 2], steps: 5500 }
#avito | Подписаться

Иннотех Сделать код-ревью #innotech | Подписаться
Иннотех Сделать код-ревью #innotech | Подписаться

#fridaymemes Твой друг: *начинает изучать программирование* Также он:

забыл про #fridaymemes так что всех с началом рабочей недели😂

Лига цифровой экономики Что будет выведено на экран? код - online-ide.com/ITQZrHjksO #digitalleague | Подписаться
Лига цифровой экономики Что будет выведено на экран? код - online-ide.com/ITQZrHjksO #digitalleague | Подписаться

Лига цифровой экономики Какие цифры можно добавить? Все ли правильно написано?
List<? extends Number> nums = new ArrayList<>();
        nums.add(1);
        nums.add(2.1);
        nums.add(33L);
#digitalleague | Подписаться

Axbit Group Есть модель данных, состоящая из 2 структур. Что в данной реализации можно сделать иначе и почему? Какие потенциа
Axbit Group Есть модель данных, состоящая из 2 структур. Что в данной реализации можно сделать иначе и почему? Какие потенциальные проблемы могут быть при такой модели? Подписаться

Axbit Group
@Service
@RequiredArgsConstructor
public class DocumentProcessService {

    private final DocumentRepo repo;

    @Async
    @Transactional
    void revokeDocument(List<Document> docs) {
        List<Integer> id_list = docs.stream().map(Document::getId).collect(Collectors.toList());
        List<Document> list = repo.findAllById(id_list);

        Optional<Document> doc = Optional.empty();
        for (int i = 0; i < list.size(); i++) {
            Integer statusId = list.get(i).getStatusId();
            if (statusId == 4) {
                doc = Optional.of(list.get(i));
                break;
            }
        }

        if (doc.isPresent()) return;

        System.out.println("Processing document id: " + doc.get().getId());

        int processed = process(doc.get());

        if (processed == 1) {
            // Сохраняем документ, если он был обработан
            repo.save(doc.get());
        }
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public int process(Document doc) {
        Integer result = 0;
        doc.getAssistants().forEach(a -> a.setFullName("dismissed"));
        // some logic:
        // if document is processed returns 1, else 0
        return result;
    }
}
Подписаться