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

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

الذهاب إلى القناة على Telegram

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

إظهار المزيد
4 354
المشتركون
+324 ساعات
+47 أيام
+2030 أيام
أرشيف المشاركات
Тбанк
Найти симметрическую разность двух отсортированных массивов целых чисел. a = [1, 2, 3, 4] b = [2, 4, 5, 6] результат = [1, 3, 5, 6] public static int[] getSymmetricDifference(int[] a, int[] b) { }
#tbank Прислать задачу | Подписаться

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

Сбер
/** * Написать бинарное дерево Node с целочисленными значениями в узлах. * Реализовать метод sum, принимающий на вход дерево и возвращающий сумму * значений листьев. * * Пример дерева: * * 3 * / \ * 1 2 * / * 4 * * Листья: 2 и 4 * Ответ: 2 + 4 = 6 */ class Main { public static void main(String[] args) { } static class Node { static int sum(Node node) { return 0; } } }
#sber Прислать задачу | Подписаться

Иннотех #repeat #sql #innotech
Даны две таблицы: EMPLOYEES -EMP_ID | NUMBER PK -SURNAME | VARCHAR -SALARY | NUMBER -DEPARTMENT_ID | NUMBER FK DEPARTMENTS -DEPARTMENT_ID | NUMBER PK -DEPARTMENT_NAME | VARCHAR Получить список департаментов и среднюю з/п по департаменту, где средняя з/п по департаменту больше 5000. Ожидаемый рез-т: DEPARTMENT_NAME AVG_SALARY HR 8000 IT 12000
Прислать задачу | Подписаться

cdit Необходимо написать функцию, выполняющий сортировку массива пузырьковым методом (сеньоры на месте?) Прислать задачу | Подписаться

itone #repeat
/** * Посчитать сумму элементов списка (более 1 млн. элементов), * используя для этого 10 потоков */ public static long sum(List<Long> numbers) { final int threads = 10; List<List<Long>> subLists = split(numbers, threads); // TODO: make it work! return ???; } private static List<List<Long>> split(List<Long> numbers, int parts) { int size = numbers.size(); int subListSize = (int) Math.ceil((double) size / parts); List<List<Long>> result = new ArrayList<>(parts); for (int i = 0; i < parts; i++) { int fromIndex = i * subListSize; if (fromIndex >= size) { result.add(Collections.emptyList()); } else { int toIndex = Math.min((i + 1) * subListSize, size); List<Long> sublist = numbers.subList(fromIndex, toIndex); result.add(sublist); } } return result; }
#itone Прислать задачу | Подписаться

Дижитал Сектор Поддержка
Есть сервис A и сервис авторизации B. Чтобы вытащить аккаунты из сервиса B по REST используется класс DataService. У него есть 3 метода: 1. dataService.getCount() - возвращает кол-во аккаунтов (int) 2. dataService.getPersons(int from, int to) - возвращает упорядоченные по индексу аккаунты (Person) из сервиса B от from до to. 3. dataService.getAllPersons() - возвращает упорядоченные по индексу все аккаунты из сервиса (Эти методы изменять нельзя) Известно, что некоторые аккаунты имеют дополнительную нагрузочную информацию (Person.description), из-за чего ответ сервиса блокируется прокси-сервисом gateway по ограничению для тела ответа. Реализовать получение всех валидных Persons, максимально быстро
Прислать задачу | Подписаться

WB #sql #repeat
Есть таблица "employee" в которой записи про сотрудников, которые знают языки программирования Name Lang Nick C# Nick SQL Eva Rust Vika Kotlin Vika SQL .... ..... Надо написать запрос? который выберет имена сотрудников, которые знают SQL и ещё хотя бы один любой язык. Считать, что один сотрудник — одно имя
#wilberries Прислать задачу | Подписаться

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

Яндекс
# Нужно посчитать скалярное произведение двух векторов, заданных в RLE‑виде: список пар (value, count). # # Пример из условия: # [(1, 3)] — это вектор [1, 1, 1]. # [(1, 2), (10, 1)] — это [1, 1, 10].
#yandex Прислать задачу | Подписаться

WB #repeat Сделать ревью #repeat
import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.transaction.support.TransactionTemplate; import org.springframework.web.reactive.function.BodyInserters; import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Mono; import java.util.List; import java.util.Map; @Component public class InterviewService { private final ScoreRepository scoreRepository; private final TransactionTemplate transactionTemplate; private final InterviewScoreMLService interviewScoreMLService; private final ObjectMapper objectMapper = new ObjectMapper(); public InterviewService(ScoreRepository scoreRepository, TransactionTemplate transactionTemplate, InterviewScoreMLService interviewScoreMLService) { this.scoreRepository = scoreRepository; this.transactionTemplate = transactionTemplate; this.interviewScoreMLService = interviewScoreMLService; } /** * Метод считает сколько очков заработал кандидат, * сохраняет результат в базу и кидает callback об этом во внешний сервис */ public void process(Candidate c) { transactionTemplate.executeWithoutResult(status -> { Score s = interviewScoreMLService.compute(c); String body = objectMapper.writeValueAsString(Map.of(c.getName(), s)); Mono<ResponseEntity<Void>> request = WebClient.create() .post() .body(BodyInserters.fromValue(body)) .retrieve() .toBodilessEntity(); scoreRepository.saveScore(s); }); } } class Candidate { private final String name; private final List<Integer> tasksSolvedId; public Candidate(String name, List<Integer> tasksSolvedId) { this.name = name; this.tasksSolvedId = tasksSolvedId; } public String getName() { return name; } public List<Integer> getTasksSolvedId() { return tasksSolvedId; } } class Score { private final String name; private final int score; public Score(String name, int score) { this.name = name; this.score = score; } public String getName() { return name; } public int getScore() { return score; } }
#wilberries Прислать задачу | Подписаться

x5тех
public interface ProductCategoryService { /** * Метод вызывается 1 раз, инициализирует сервис всеми товарами и категориями. */ void init(List<Product> products, List<Category> categories); /** * Проверяет принадлежность товара к категории, может вызываться много раз и часто. * * @param productId идентификатор товара * @param categoryId идентификатор категории * @return {@code true} если товар принадлежит к категории, в остальных случаях {@code false}и товар принадлежит к к */ boolean isProductInCategory(Long productId, Long categoryId); /** * Возвращает список товаров по категории. * Товары должны быть отсортированы по имени. * Может вызываться много раз и часто. * * @param categoryId идентификатор категории * @return список товаров, принадлежащих к категории или пустой список, если к категории не принадлежит ни один товар */ Collection<Product> getProductsByCategory(Long categoryId); } public interface Category { Long getId(); String getName(); } public interface Product { Long getId(); String getName(); List<Category> getCategories(); } public class ProductCategoryServiceImpl implements ProductCategoryService { /** * Метод вызывается 1 раз, инициализирует сервис всеми товарами и категориями. */ @Override public void init(List<Product> products, List<Category> categories) { //TODO implement } /** * Проверяет принадлежность товара к категории, может вызываться много раз и часто. * * @param productId идентификатор товара * @param categoryId идентификатор категории * @return {@code true} если товар принадлежит к категории, в остальных случаях {@code false} */ @Override public boolean isProductInCategory(Long productId, Long categoryId) { //TODO implement return false; } /** * Возвращает список товаров по категории. * Товары должны быть отсортированы по имени. * Может вызываться много раз и часто. * * @param categoryId идентификатор категории * @return список товаров, принадлежащих к категории или пустой список, если к категории не принадлежит ни один товар */ @Override public Collection<Product> getProductsByCategory(Long categoryId) { //TODO implement return null; } }
#x5 Прислать задачу | Подписаться

WB #kotlin
@Component class InterviewService( private val scoreRepository: ScoreRepository, private val transactionTemplate: TransactionTemplate, private val interviewScoreMLService: InterviewScoreMLService, ) { private val objectMapper = ObjectMapper() /** * Метод считает сколько очков заработал кандидат, * сохраняет результат в базу и кидает callback об этом во внешний сервис */ fun process(c: Candidate) { transactionTemplate.executeWithoutResult { val s: Score = interviewScoreMLService.compute(c) val request: Mono<ResponseEntity<Void>> = WebClient.create() .post() .body(BodyInserts.fromValue(objectMapper.writeValueAsString(c.name to s))) .retrieve() .toBodilessEntity() scoreRepository.saveScore(s) } } } data class Candidate( val name: String, val tasksSolvedId: List<Int>, ) data class Score( val name: String, val score: Int, )
#wilberries Прислать задачу | Подписаться

Кто устроился в 2025-2026 гг, сколько вы искали новую работу (с момента выхода на рынок и до трудоустройства) ? ❤️ - меньше 2-х недель 👍 - меньше месяца 🤔 - два месяца 🤷‍♂️ - 4 месяца 👎 - 6 месяцев 😢 - 1 год 🤯 - больше года

Прошли 3 месяца 2026 года. Кто в этом году искал работу, как у вас дела? ❤️ - нашел работу 👍 - есть офферы, выбираю 🤔 - есть офферы, но не подходят, ищу дальше 👎 - есть собесы, офферов нет 😢 - нет ни собесов, ни офферов 🤯 - ушел/ухожу из айти

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

Сбер
// Сервис определения типа мяча по ID мяча // Известно, что: // * Вызываемый сервис BallPropertiesService возвращает список свойств (List<BallProperty>) для одного мяча. Размер списка от 0 до 2^30. // * Значения BallProperty.code от 0 до 9 описывают размер мяча (т.е. 0 - микроскопический, 9 - гигантский). // * Значения BallProperty.code от 100 до 129 описывают материал мяча. // * Значения BallProperty.code в других диапазонах существуют, но бизнес ценности в данном случае не несут. // * Если в списке: // - пришел проперти с кодом 7, то считаем, что мяч баскетбольный // - пришел проперти с кодом 6, то считаем, что мяч футбольный // - пришел проперти с кодом 5, то считаем, что мяч тенисный // - пришел проперти с кодом 5 и еще проперти 102, то считаем, что это ядро // - не пришло что-то из выше описанного, то считаем, что это мяч для пингпонга // * Гарантируется, что если в списке присутствует BallProperty с кодом из какого-то диапазона, то не может // быть в этом же списке BallProperty с другим кодом из этого диапазона (т.е. в одном списке не будет // одновременно кодов 1 и 2) // Что не так? @Service @RequiredArgsConstructor public class BallTypeService { private final BallPropertiesService ballPropertiesService; public BallType getType(Long ballId) { List<BallProperty> ballProperties = ballPropertiesService.getBallProperties(ballId); ballProperties.sort(Comparator.comparing(BallProperty::getCode).reversed()); return resolveType(ballProperties); } private BallType resolveType(List<BallProperty> ballProperties) { long propertyNum = ballProperties.get(0).getCode(); long propertyNext = ballProperties.get(1).getCode(); if (propertyNum == 102 && propertyNext == 5) { return BallType.CANNON_BALL; } if (propertyNum == 7) { return BallType.BASKET_BALL; } if (propertyNum == 6) { return BallType.FOOT_BALL; } if (propertyNum == 5) { return BallType.TENNIS_BALL; } return BallType.PING_PONG_BALL; } } public enum BallType { BASKET_BALL, FOOT_BALL, CANNON_BALL, TENNIS_BALL, PING_PONG_BALL; } // библиотечный код @Data public class BallProperty { private Integer group; private Integer code; private String description; } public interface BallPropertiesService { List<BallProperty> getBallProperties(Long itemId); }
#sber Прислать задачу | Подписаться

от подписчика (скорее всего не с собеса) Решить задачу, чтобы получилось как на скрине
от подписчика (скорее всего не с собеса) Решить задачу, чтобы получилось как на скрине

Сбер
// Сервис определения типа мяча по ID мяча // Известно, что: // * Вызываемый сервис BallPropertiesService возвращает список свойств (List<BallProperty>) для одного мяча. Размер списка от 0 до 2^30. // * Значения BallProperty.code от 0 до 9 описывают размер мяча (т.е. 0 - микроскопический, 9 - гигантский). // * Значения BallProperty.code от 100 до 129 описывают материал мяча. // * Значения BallProperty.code в других диапазонах существуют, но бизнес ценности в данном случае не несут. // * Если в списке: // - пришел проперти с кодом 7, то считаем, что мяч баскетбольный // - пришел проперти с кодом 6, то считаем, что мяч футбольный // - пришел проперти с кодом 5, то считаем, что мяч тенисный // - пришел проперти с кодом 5 и еще проперти 102, то считаем, что это ядро // - не пришло что-то из выше описанного, то считаем, что это мяч для пингпонга // * Гарантируется, что если в списке присутствует BallProperty с кодом из какого-то диапазона, то не может // быть в этом же списке BallProperty с другим кодом из этого диапазона (т.е. в одном списке не будет // одновременно кодов 1 и 2) // Что не так? @Service @RequiredArgsConstructor public class BallTypeService { private final BallPropertiesService ballPropertiesService; public BallType getType(Long ballId) { List<BallProperty> ballProperties = ballPropertiesService.getBallProperties(ballId); ballProperties.sort(Comparator.comparing(BallProperty::getCode).reversed()); return resolveType(ballProperties); } private BallType resolveType(List<BallProperty> ballProperties) { long propertyNum = ballProperties.get(0).getCode(); long propertyNext = ballProperties.get(1).getCode(); if (propertyNum == 102 && propertyNext == 5) { return BallType.CANNON_BALL; } if (propertyNum == 7) { return BallType.BASKET_BALL; } if (propertyNum == 6) { return BallType.FOOT_BALL; } if (propertyNum == 5) { return BallType.TENNIS_BALL; } return BallType.PING_PONG_BALL; } } public enum BallType { BASKET_BALL, FOOT_BALL, CANNON_BALL, TENNIS_BALL, PING_PONG_BALL; } // библиотечный код @Data public class BallProperty { private Integer group; private Integer code; private String description; } public interface BallPropertiesService { List<BallProperty> getBallProperties(Long itemId); }
#sber Прислать задачу | Подписаться

Как поживает телеграм?
Anonymous voting