tgindex
З

Задачи с собеседований😎

описание

Всем привет! Будем сюда выкладывать реальные задачи и вопросы с собеседований @privatevoidmain - по всем вопросам Еще больше задач с собеседований на нашем основном канале - https://t.me/+SlsR25MJs_1iYTcy

156
подписчиков
Охват к подписчикам
39,1%
ERR
Реакции к просмотрам
0,00%
0 на 50 постов
Пересылки к просмотрам
0,08%
3
Постов в день
0,4
всего 98

Где отзываются чаще

доля реакций к просмотрам
  • 09:43сбер #sql // 6. Написать запрос, выводящий список клиентов у которых сумма значений ордеров > 100. // [client] // id // fio // [deal] // id // client_id // amount #sber Прислать задачу | Подписаться0,00%
  • 08:59сбер #sql // 6. Написать запрос, выводящий список клиентов у которых сумма значений ордеров > 100. // [client] // id // fio // [deal] // id // client_id // amount #sber Прислать задачу | Подписаться0,00%
  • 17 авг.Сбер // 1. [Java Memory Model] - сколько объектов и в какой области памяти создано? public void foo() { Object[] array = {new Object(), new Object()}; log.info(""); } public class Operator { private String id; private String fio; } Set<Operator> operators = new HashSet<>(); operators.add(new Operator("1", "Иванов")); operators.add(new Operator("1", "Иванов")); #sber Прислать задачу | Подписаться0,00%
  • 6 авг.Альфа банк import lombok.Data; @Data class User { private String username; private Integer age; private List<Group> groups; } @Data class Group { private String name; private String description; } public class SomeConsumer { // получить список пользователей которые состоят в группе, с наименованием начинающемся на "X" public List<User> consume(Stream<User> usersStream) { } } #alfabank Прислать задачу | Подписаться0,00%
  • 5 авг.cdti Необходимо перенести все нулевые элементы в конец массива, сохраняя относительный порядок элементов, не являющихся нулем. Решение должно производится на месте, без использования дополнительного массива, а также решение должно иметь минимальную сложность по времени и пространству. Input: [0, 1, 0, 3, 12] Output: [1, 3, 12, 0, 0] Прислать задачу | Подписаться0,00%
  • 5 авг.Сбер #sql -- Найти имена, которые встречаются более одного раза -- Таблица: users(id, name, ...) #sber Прислать задачу | Подписаться0,00%
  • 4 авг.Т банк (стажировка) #tbank Прислать задачу | Подписаться0,00%
  • 30 июл.Сбер /* * Дано дерево папок. Вывести названия папок рекурсивно * с отступами (как в IDE), где каждый уровень вложенности * добавляет отступ. * * Пример вывода: * src * main * java * service * repository * resources * test */ public static void printTree(File dir, int depth) { // TODO } #sber Прислать задачу | Подписаться0,00%
  • 29 июл.Яндекс /* Реализуйте простую pub-sub систему для обмена событиями между компонентами с возможностью отписки через токены. Требования: - Подписка на события должна возвращать уникальный токен - Отписка происходит по токену - События должны доставляться асинхронно - Система должна быть потокобезопасной. */ import java.util.function.Consumer; class OrderCreated { final String orderId; OrderCreated(String orderId) { this.orderId = orderId; } } // Токен подписки - можно использовать любую реализацию interface SubscriptionToken { } interface EventBus extends AutoCloseable { SubscriptionToken subscribe(Consumer<OrderCreated> handler); void unsubscribe(SubscriptionToken token); void publish(OrderCreated event); } @Test public void testEventDeliveryWithToken() throws InterruptedException { EventBus eventBus = new EventBusImpl(); AtomicInteger orderCount = new AtomicInteger(); AtomicReference<String> lastOrderId = new AtomicReference<>(); SubscriptionToken token = eventBus.subscribe(order -> { orderCount.incrementAndGet(); lastOrderId.set(order.orderId); }); eventBus.publish(new OrderCreated("ORDER-123")); Thread.sleep(100); assertEquals(1, orderCount.get()); assertEquals("ORDER-123", lastOrderId.get()); } #yandex Прислать задачу | Подписаться0,00%
  • 28 июл.Uzum Провести код ревью, назвать проблемы. Потом написать решение одной из проблем @Slf4j public class SyncServiceImpl implements SyncService { @Autowired private SellerRestClient restClient; @Autowired private ShopRepository shopRepository; @Autowired private ProductRepository productRepository; @Autowired private KafkaTemplate<String, ProductDto> kafkaTemplate; @Schedule(cron = "* * * * * * ") // 1 sec @Override public void syncShops() { for (Shop shop : shopRepository.findAll()) { try { syncShop(shop); } catch (Exception e) { e.printStackTrace(); } } } @Transactional @Override public void syncShop(Shop shop) { log.info("Syncing shop"); shopRepository.lockShop(shop.getId()); // @Query(native = true, value = ""SELECT * FROM shop WHERE id = ? FOR UPDATE"") var products = shop.getNotSynchedProducts(); products.parallelStream() .forEach(product -> { log.info("Syncing product"); var seller = product.getSeller(); var sellerDetails = restClient.getLegalDetails(seller.getInn()); var dto = new ProductDto(); dto.setProduct(product); dto.setSellerDetails(sellerDetails); kafkaTemplate.send("product_details", "product", dto); // topic, key, value product.setSynced(true); productRepository.save(product); }); shop.setSynced(true); } } Прислать задачу | Подписаться0,00%
  • 24 июл.WB🔥 Реализовать функцию решения уравнения вида ax^2 + bx + c = 0. Результат работы вывести в консоль public void solve (double a, double b, double c) #wilberries Прислать задачу | Подписаться0,00%
  • 16 июл.Uzum Какие проблемы тут возникнут если этот блок вызовет 2 человека одновременно? @Transactional(isolation = Isolation.REPEATABLE_READ) { var product = productDao.findById(id); var newPrice = product.getPrice - 100; //вычисляется очень долго (сложная логика) product.setPrice(newPrice); productDao.save(product); } Прислать задачу | Подписаться0,00%