Реальные задачи с собеседований | Java
الذهاب إلى القناة على Telegram
Буду сюда выкладывать реальные задачи и вопросы с собеседований, без копипаста с интернета и других каналов) Ссылка для друга - https://t.me/+K4vJFdalwlthYTQy Прислать задачи, реклама - @privatevoidmain
إظهار المزيد4 358
المشتركون
+424 ساعات
+97 أيام
+1730 أيام
أرشيف المشاركات
Озон
Написать потокобезопасный кэш массива размером N целых чисел, который в методе put() принимает Map<Integer,Integer>, где ключи - индексы в массиве, а значения - новые значения для ячеек массива по соответствующему индексу, а в методе get() принимает список индексов, по которым нужно вернуть значения, в ответ возращает список значений соответствующих ячеек. При этом потребитель кэша не должен получать неконсистентное состояние при использовании метода get().
interface Cache {
void put(Map<Integer, Integer> batch);
List<Integer> get(List<Integer> indicies);
}
class ThreadsafeCache implements Cache {
.....
}
#ozon | Прислать задачу | ПодписатьсяЯндекс #repeat
Прислали задачу с первого этапа - все еще просят написать банкомат)
Заново публиковать не стану, условия те же, как и раньше - https://t.me/java_interviews/316
#yandex | Подписаться
Когда друг узнал, что ты втихаря сидел на самом крутом канале по Java и молчал:
📏📏📏📏📏📏📏📏📏📏
Приглашайте друзей/коллег - https://t.me/+K4vJFdalwlthYTQy
СБЕР
Сделать код-ревью
public class SchetClienta { public LinkedList<Double> history; SomeCurrencyExchangeService service; public SchetClienta(LinkedList<Double> initial) { this.history = initial; this.service = new SomeCurrencyExchangeService(); } public void setPurchases(Double money) { history.add(money); } public boolean equals(Object o) { if (this == o) { return true; } SchetClienta other = (SchetClienta) o; return history == other.history; } Double transferToTheCurrency(String currency) { AtomicReference<Double> sum = new AtomicReference<>(0.0); try { history.forEach(it -> { Double converted = service.getValueForCurrency(CurrencyEnum.valueOf(currency), it); sum.accumulateAndGet(converted, Double::sum); }); return sum.get(); } catch (Throwable t) { return 0.0; } } }#sber | Подписаться
Лига цифорвой экономики
Что будет выведено?
код по ссылке -
online-ide.com/aCBNFx8TIA
#digitalleague | Подписаться
x5 тех
Задача: Реализация функции подсчета островов на карте Дана карта в виде двумерного массива, где 1 представляет сушу, а 0 - воду. Остров определяется как группа смежных 1 (суши), соединенных горизонтально или вертикально Вы можете предположить, что все края карты окружены водой. пример {0,1,0,0,1}, {1,0,0,0,1} ответ - 3была похожая задача от тинькоф #x5 | Подписаться
Такого еще не было - задачи не от кандидата,
а от собеседующего👀
СБЕР
Задачи на логику/на подумать -
1) Почему люки круглые?
2) Почему поезд стучит составами во время трогания?
3) Описать алгоритм поиска максимального этажа с которого не разобьётся хрустальный шар при броске.
#sber | Подписаться
Вконтакте
Места в кинотеатре расположены в один ряд. Чтобы сидеть максимально далеко от остальных зрителей в ряду, пришедший зритель выбирает место, где расстояние от него до ближайшего к нему зрителя будет наибольшим. Гарантируется, что в ряду всегда есть свободное место и уже сидит хотя бы один зритель. Напишите функцию, которая по заданному ряду мест (массиву из нулей и единиц) вернет расстояние от выбранного места до ближайшего зрителя. public static int maxDistance(int[] seats) { int maxDistance = 0; for (int i = 0; i < seats.length; i++) { }
ПОЧЕМУ ТАКИЕ ЛЕГКИЕ ЗАДАЧИ? (я сам хз)
Есть несколько вариантов:
1. Собес состоит из кучи легких задач, которые затрагивают отдельные темы (например, пул стрингов, передача параметров, женерики, стримы и т.д.). Иногда в виде теста.
Во время решения задач могут задавать теоретические вопросы.
2. Почти тоже самое, но вместе с легкими задачами могут быть средние задачи, код-ревью
3. Задают теоретические вопросы и параллельно или в конце дают пару мелких задач (обычно java core + sql), чтобы оценить, насколько кандидат понимает о чем говорит.
Когда присылают эти задачи, в основном публикую по одной)
Когда будет больше подписчиков и соответственно задач, можно будет публиковать все сразу😉
Exon
Дан массив double[N], необходимо реализовать на Java метод, возвращающий частное от деления разности максимального с минимальным элементов и среднего арифметического значения элементов массива. В случае ошибки требуемый метод должен возвращать только указанный Exception. Сигнатура требуемого метода должна иметь вид:
public static double foo(double[] sourceArray) throws MyException;#exon| Подписаться
🎉2000 подписчиков!
Всем спасибо💪
📏📏📏📏📏📏📏📏📏📏
Ставьте 🔥, если вам нравится канал и
приглашайте друзей/коллег - https://t.me/+K4vJFdalwlthYTQy
Exon
Необходимо реализовать на Java метод, принимающий на вход коллекцию, в которой присутствуют строки, и удаляющий из переданной коллекции все строки, начинающиеся на "ааа". Сигнатура необходимого метода должна иметь вид:
public static void filterTripleA(Collection<String> strings);#exon| Подписаться
Exon #sql
Даны таблицы Customer -id pk -name -address Account -id pk -acc_number -description -customer_id fk Fin_transaction -id pk -transactDate -amount -account_id fk -description У клиента может не быть лицевых счетов. По лицевому счету может не быть транзакций. Необходимо написать SQL-запрос, возвращающий имя клиента, описание его лицевого счета и среднюю сумму транзакции по этому счету.#exon| Подписаться
Иннотех
// Ниже приведен код обновления статуса заказа. // Необходимо найти проблемы и внести изменения в приведенный код. @Service public class OrderService { @Autowired private OrderRepository orderRepository; private final NotificationService notificationService; @Autowired public OrderService(NotificationService notificationService) { this.notificationService = notificationService; } public void updateOrderStatus(Long orderId, String newStatus) { Order order = orderRepository.findById(orderId).get(); if (newStatus.equals("COMPLETED")) { order.setStatus("COMPLETED"); orderRepository.save(order); notificationService.notifyUser(order.getUserId(), "Your order is completed"); } else if (newStatus.equals("CANCELLED")) { order.setStatus("CANCELLED"); orderRepository.save(order); notificationService.notifyUser(order.getUserId(), "Your order is cancelled"); } else if (newStatus.equals("PENDING")) { order.setStatus("PENDING"); orderRepository.save(order); } else if (newStatus.equals("IN_PROGRESS")) { order.setStatus("IN_PROGRESS"); orderRepository.save(order); } else { throw new IllegalArgumentException("Unsupported status: " + newStatus); } } }#innotech | Подписаться
если последняя задача наберет 20 огоньков, следующую задачу публикую уже сегодня
если нет - запощу мем😂
как вам такое?)
CSI (Кристалл Сервис Интеграция)
Что будет выведено на экран?
#csi | Подписаться
Exon
Сделать рефакторинг
public class RefEx { public enum DocumentType { XML, PDF, DOCX } public static class Document { String id; DocumentType type; String content; } public static class DocumentService { public void process(Document[] d) { for (Document i : d) { // Общая логика обработки документа switch (i.type) { case DocumentType.PDF: { // Специфическая логика для обработки PDF break; } case DocumentType.DOCX: { // Специфическая логика для обработки Word break; } case DocumentType.XML: { // Специфическая логика для обработки XML break; } } } } } }#exon| Подписаться
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
