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

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

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

Дана коллекция строк: null, "yuLia", " ", "borjA", "Ceba", "", "aleNa", "daRek", "FranK", null, "yulia"
Нужно написать метод возвращающий строку: "Alena - Borja - Ceba - Darek - Frank – Yulia"

#ladadigit | Подписаться
1👍5👎1
Kaspi kz

Есть бесконечный поток чисел.
Нужно придумать логику, чтобы этот поток обрабатывало 3 дополнительных потока, первый из которых принимает только 1, второй поток который принимает только числа делящие на 2 без остатка, 3 поток для чисел принимающих только дробные числа.


#kaspikz | Прислать задачу | Подписаться
1👍3🤔1
Золотая корона (но это не точно)

Что будет выведено?

#korona | Прислать задачу | Подписаться
2👍10😁3
Золотая корона (не точно)

Что будет выведено на экран? Объяснить каждую строку вывода
class MyHashSet {
public static void main(String[] args) {
MyObject obj = new MyObject(10);
Set<MyObject> set = new HashSet<MyObject>();
set.add(obj);
obj.set(1000);

System.out.println(set.contains(obj));
System.out.println(set.contains(new MyObject(10)));
System.out.println(set.contains(new MyObject(1000)));
System.out.println(Object.equals(new MyObject(1000), obj));
}
}

class MyObject {
private int i;

private MyObject(int i) {
set(i);
}

private void set(int i) {
this.i = i;
}

public int hashCode() {
return i;
}

public boolean equals(MyObject o) {
return (o.i == this.i);
}
}


#korona | Прислать задачу | Подписаться
1👍5
когда твое призвание – лечить, а не дебажить
👀
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁16👍8🔥7🥰2
СБЕР
Написать метод concatenateWithIntersection
public class Concatenation {

public static void main(String[] args) {
var res = concatenateWithIntersection("раз, два, три", "два, три, четыре, пять!");
if (!"раз, два, три, четыре, пять!".equals(res)) {
throw new IllegalStateException("Concatenation failed: " + res);
}
}

static String concatenateWithIntersection(String a, String b) {
return a + b; // todo - write code!
}
}


#sber | Подписаться
1👍6🔥1
Золотая корона (не точно) #exceptions

Что будет выведено?

#korona | Прислать задачу | Подписаться
1👍6😱1
СБЕР

/**
* По условиям задачи робот должен ходить обеими ногами строго поочередно (Left, Right, Left, Right, ...),
* начиная с левой ноги. Каждой ногой управляет свой поток. Необходимо сделать не менее 10 шагов.
*/
public class Robot {

public static void main(String[] args) throws InterruptedException {
Thread leftLeg = new Thread(() -> {
for (int i = 0; i < 10; i++) {
System.out.println("Left");
}
});

Thread rightLeg = new Thread(() -> {
for (int i = 0; i < 10; i++) {
System.out.println("Right");
}
});
leftLeg.start();
rightLeg.start();

leftLeg.join();
rightLeg.join();
}
}


#sber | Подписаться
1👍5👏3🤷‍♂1
Реальные задачи с собеседований | Java
СБЕР 1. Написать простейший метод, который бы при работе бросил StackOverflowError. 2. Написать свой класс, который бы реализовывал стек, с методами push, pop, и peekMax, который бы возвращал max Элемент в стеке за О(1) 3. Этот метод переименовывает файл…
СБЕР (#repeat)

1.
* Дан массив целых чисел x длиной N.
* Массив упорядочен по возрастанию.
* Написать функцию, которая из этого массива
* получит массив квадратов чисел, упорядоченный по возрастанию.

2. Написать свой класс, который бы реализовывал стек, с методами push, pop, и peekMax, который бы возращал max Элемент в стеке за О(1)

3. Рефакторинг-
@Transactional
public void process(String oldName, String newName) {
Long id = exec("select id from file where name='" + oldName + "'"); //выполнение запроса к БД
exec("update file set name='" + newName + "' where id = " + id); //выполнение запроса к БД
processFile(oldName, newName); //переименование файла на диске

}


#sber | Подписаться
1👍81
Альфа-капитал #sql

Даны таблицы

mark
| ID | NAME |
|----|----------|
| 1 | Ford |
| 2 | Toyota |
| 3 | Bentley |

model
| ID | MARK_ID | MODEL_NAME |
|----|---------|------------|
| 1 | 1 | Explorer |
| 2 | 1 | Focus |
| 3 | 2 | Camry |
| 4 | 2 | Prado |
| 5 | 3 | Bentayaga |
| 6 | 3 | Continental|
| 7 | 2 | Auris |

Написать запросы для получения таких выборок

| NAME | NUMOFMODELS |
|----------|-------------|
| Ford | 2 |
| Toyota | 3 |
| Bentley | 2 |

и
| NAME | LISTOFMODELS |
|----------|-------------------------------|
| Bentley | Bentyaga; Continental |
| Ford | Explorer; Focus |
| Toyota | Camry; Prado; Auris |

#alfacapital | Подписаться
11👍1
Альфа-капитал

Написать спринговый контроллер, который принимает количество часов (0-12) и минут на часах, а возвращает количество градусов между часовой и минутной стрелкой.
Потом идут вопросы про MVC, паттерны, как улучшить код и т.д.


#alfacapital | Подписаться
1👍3🔥2
Иннотех

class Node{
Long id; // заполнен
Long parentId; // заполнен если есть parent
List<Node> children; // пустой
}

List<Node> treeList = getList();

// todo: заполнить children у всех элементов в листе

#innotech| Прислать задачу | Подписаться
1👍2
Астон

Вывести в алфавитном порядке всех авторов, которые пишут только в одном жанре.
#sql
#aston | Прислать задачу | Подписаться
1👍3
Infinite synergy

Что происходит в плане транзакций при вызове beginProcessing() ?

@Service
@RequiredArgsConstructor
public class ServiceA {
private final ServiceB serviceB;

@Scheduled(someCron)
public void beginProcessing() {
List<SomeObject> result = getCollectionOfSomeObjects(); // 1
for (SomeObject item : result) {
processSingleItem(item);
}
}

public void processSingleItem(SomeObject source) {
serviceB.updateSomeField(source, someValue);
}
}

Подписаться
1🤔2
Infinite synergy

Написать if корректно
class Instrument {
// Класс, представляющий инструмент
// ...

@Getter
boolean traded; // Поле, указывающее, является ли инструмент торгуемым
}

// ...

List<Instrument> instruments; // Список инструментов

// ...

if ( ) {
// Нужно выполнить этот код, если все инструменты в списке instruments торгуемые
}

Подписаться
1👍3
Лига цифорвой экономики

Сделать код-ревью

код по ссылке -
https://www.online-ide.com/bYjfG0kNzx
#digitalleague | Подписаться
2👍9