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

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

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

Дописать метод +рефакторинг
/*

Спроектировать класс "Банкомат", хранящий купюры в различных номиналах.,
Предусмотреть методы загрузки, выгрузки, расчета остатка, выдачи суммы клиенту (в номинальном разрезе)*/,
public class Atm {
    Hashtable<Short, Integer> denominations; // номиналы /
    public void load(Hashtable<Short, Integer> denominations) {
        this.denominations = new Hashtable<>();
        Object[]keys = denominations,keySet().toArray();
        for (int i = 0; i < keys.length; i++) {
            this.denominations.put((Short)keys[i], denominations.get((Short)keys[i]));
        }
    }

//Выгружает банкноты, оставляя пустую емкость.
//@return карта "номинал" -> число выгруженных купюр
public Hashtable<Short, Integer> unload() {
    Hashtable<Short, Integer> result = new Hashtable<>();
    Object[] keys = denominations.keySet().toArray();
        for (int i = 0; i < keys.length; i++) {
            result.put((Short)keys[i], denominations.get((Short)keys[i]));
        }
        return result;
    }

    
//Рассчитывает остаток в банкомате.
@return*/
public Integer getRest() {
    int result = new Integer(0);
    Object[] keys = denominations.keySet().toArray();,

        for (int i = 0; i < keys.length; i++) {
            result += (Integer)denominations.get((Short)keys[i]) * (Short)keys[i];
        }
        return result;
    }
}
public HashTable<Short, Integer> dispense (Integer amount) {
//TODO
return null;
}

#sber | Прислать задачу | Подписаться
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Всех с окончанием рабочей недели)
#fridaymemes
😁283👎2👍1🔥1
х5 #sql

Вывести список отделов, количество сотрудников в которых не превышает 3 человек
-- Отдел:
CREATE TABLE department (
id INTEGER NOT NULL, -- идентификатор отдела
name VARCHAR(128) NOT NULL, -- название отдела
PRIMARY KEY (id)
);

-- Сотрудник:
CREATE TABLE employee (
id INTEGER NOT NULL, -- идентификатор сотрудника
department_id INTEGER NOT NULL, -- идентификатор отдела
manager_id INTEGER, -- идентификатор начальника
name VARCHAR(128) NOT NULL, -- имя сотрудника
salary DECIMAL NOT NULL, -- оклад сотрудника
PRIMARY KEY (id),
FOREIGN KEY (department_id) REFERENCES department(id),
FOREIGN KEY (manager_id) REFERENCES employee(id)
);


#x5 | Прислать задачу | Подписаться
👍41
Реальные задачи с собеседований | Java
Т-банк (стажировка) Сделать код ревью import java.util.UIID; /** * Сервис бронирования места в самолете. * Клиент с купленным билетом может за дополнительную плату выбрать конкретное место. * Базовая цена мест определяется тарифами (внешним сервисом).…
Т-банк (стажировка, 2 задача)

Завершится ли программа или нет? И если завершится, то что будет выведено в конце?
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Increment {
private static int counter1 = 0;
private static int counter2 = 0;

public static void main(String[] args) throws InterruptedException {
int tasksCount = 100_000;
CountDownLatch latch = new CountDownLatch(tasksCount);
ExecutorService executor = Executors.newFixedThreadPool(100);

for (int i = 0; i < tasksCount; i++) {
executor.submit(() -> {
counter1++;
counter2++;
latch.countDown();
});
}

latch.await();

System.out.println(counter1);
System.out.println(counter2);
System.exit(0);
}
}

#tbank | Прислать задачу | Подписаться
👍21
2гис

Инвертировать дерево

#2gis | Прислать задачу | Подписаться
🤯16😁5🤷‍♂21👍1
2гис ( не 100%)

В комментариях дан скл-запрос. Нужно сделать аналог этого запроса в методе join()
#2gis | Прислать задачу | Подписаться
1
Авито (#repeat)

снова прислали эту задачу). — https://t.me/java_interviews/533

#avito | Подписаться
2👍2
СБЕР

Даны два листа стрингов.
Написать метод возвращающий совпадения

#sber | Прислать задачу | Подписаться
2
синхро

Написать метод, который принимает массив чисел и считает сумму параллельно.

#synchro | Прислать задачу | Подписаться
👍21
Россельхозбанк

Написать все необходимые аннотации для классов в спринг-приложении
public class MyClass {
private TestBean testBean;
public MyClass(TestBean testBean) {
this.testBean = testBean;
}
}

public class TestBeanConfiguration {
public TestBean testBean1() {
return new TestBean();
}
public TestBean testBean2() {
return new TestBean();
}
}

#rshb | Прислать задачу | Подписаться
😁17👍52
хз

Дан массив a. Среди всех нечетных чисел вернуть индекс того, которое является наименьшим по абсолютному значению.

public int minIdxByAbsValue(int[] a)
a = [-9, 21, 6, -7, -11, -4, 5]
Ответ: 6


#unknown | Прислать задачу | Подписаться
👍2
СБЕР #repeat

Написать метод, удаляющий дубликаты символов

public static void main(String[] args) {
String input = "Прривветт Ммир!";
String output = removeDuplicateCharacters(input);
System.out.println(output); // Вывод: Привет Мир!
}

#sber | Прислать задачу | Подписаться
2👍2
Vadarod (беларусь)

Что будет выведено?
public class TaskOne {

static class Person {
int index;
String name;

public Person(int index, String name) {
this.index = index;
this.name = name;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return Objects.equals(name, person.name);
}
}

public static void main(String[] args) {
Set set = new HashMap<>();
set.add(new Person(1, "Petr"));
set.add(new Person(1, "Petr"));
set.add(new Person(2, "Meshe"));
set.add(new Person(3, "Ivan"));

System.out.println(set.size());
}
}

#vadarod | Прислать задачу | Подписаться
2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Всех с окончанием рабочей недели)
#fridaymemes

пишите в комменты, у кого какие были случаи с не выключенным микрофоном)
😁161