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

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

رفتن به کانال در Telegram

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

نمایش بیشتر
4 358
مشترکین
+424 ساعت
+97 روز
+1730 روز
آرشیو پست ها
Всех с окончанием рабочей недели) #fridaymemes

Озон Написать потокобезопасный кэш массива размером 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 и молчал: 📏📏📏📏📏📏📏📏📏📏 Приглашайте друзей/колле
Когда друг узнал, что ты втихаря сидел на самом крутом канале по 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 | Подписаться
Лига цифорвой экономики Что будет выведено? код по ссылке - 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 | Подписаться
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| Подписаться