Реальные задачи с собеседований | Java
2.9K subscribers
251 photos
24 videos
383 links
Буду сюда выкладывать реальные задачи и вопросы с собеседований, без копипаста с интернета и других каналов)

Ссылка для друга - https://t.me/+K4vJFdalwlthYTQy

Прислать задачи, реклама - @privatevoidmain
Download Telegram
Яндекс

На вход дается массив целых чисел и число x. Найти под-отрезок (любой), сумма элементов которого равняется x. Вывести границы этого отрезка или пустой массив если это невозможно.

Тест кейс: [5,1,2,1], x=4 -> (1,3) // 1+2+1 = 4

#yandex | Подписаться
Axbit Group

В модели существует некоторый enum:

public enum AccountType {
TYPE_ONE,
TYPE_INO
}

который используется для указания типа в какой-то сущности, как:

@Enumerated
private AccountType accountType;

Была поставлена задача добавить новый тип в перечисление TYPE_ONE_AND_HALF, что и было сделано:

public enum AccountType {
TYPE_ONE_AND_HALF,
TYPE_ONE,
TYPE_INO
}

Корректно ли данное решение и какие могут быть проблемы при такой реализации?

Подписаться
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;
}
}

Подписаться
Axbit Group
Есть модель данных, состоящая из 2 структур.

Что в данной реализации можно сделать иначе и почему? Какие потенциальные проблемы могут быть при такой модели?

Подписаться
Лига цифровой экономики

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

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

код - online-ide.com/ITQZrHjksO
#digitalleague | Подписаться
This media is not supported in your browser
VIEW IN TELEGRAM
#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 | Подписаться
Лига цифровой экономики

Будет ли работать этот код?
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 | Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM