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

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

Прислать задачи, реклама - @privatevoidmain
Download Telegram
ВТБ #sql

Таблица orders {id, client_id, amount}, таблица client {id, name} -
Как найти клиентов с самой большой суммой?

#vtb
Прислать задачу | Подписаться
😁8🔥1
unknown company #sql

Есть две таблицы:
-таблица department с полями
department_id,
department_name.

- таблица employee с полями
employee_id,
first_name,
last_name,
salary,
department_id


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

#unknown
Прислать задачу | Подписаться
WB #sql

таблица employee

| name | lang |

——————————-—————————-

| Nick | C# |

| Nick | SQL |

| Eva | Rust |

| Vika | SQL |

| Ivan | Java |

| Ivan | SQL |


Надо написать запрос который выберет имена сотрудников, которые знают SQL и ещё хотя бы один любой язык. Считать, что один сотрудник — одно имя.

#wilberries
Прислать задачу | Подписаться
👍41
WB

Необходимо перенести все элементы, равные нулю, в конец массива, сохранив порядок остальных элементов.

in: [3, 0, 4, 0, 1]
out: [3, 4, 1, 0, 0]


#wilberries
Прислать задачу | Подписаться
Альфа банка
Сделать ревью, найти проблемы
@RequiredArgsConstructor
@RestController("/resize/v1")
public class Controller {

private final CachedPhotosService cachedPhotosService;

@GetMapping("/resized-photo/{photo-id}")
public PhootoDTO getResizedPhoto(@PathVariable("photo-id") String photoId) {
return cachedPhotosService.iconifiedPhoto(photoId);
}
}

@Component
@RequiredArgsConstructor
public class CachedPhotosService {
private static final String RESIZED_PHOTO_CACHE_NAME = "RESIZED_PHOTO_CACHE_NAME";

private final PhotoRepository photoRepository;
private final PhotoValidationService photoValidationService;
private final PhotoOperations photoOperations;

@Cacheable(cacheNames = RESIZED_PHOTO_CACHE_NAME)
public PhotoDTO resizedPhoto(String photoId, int width, int height) {
photoValidationService.validateSize(width, height);

Photo photo = photoRepository.findById(photoId);

PhotoDTO photoDto = ConversionUtils.convert(photo);
var resizedPhoto = photoOperations.resize(photoDto, width, height);

return resizedPhoto;
}

public PhotoDTO iconifiedPhoto(String photoId) {
return resizedPhoto(photoId, 100, 100);
}
}

Прислать задачу | Подписаться
3
cdti #repeat

Необходимо написать функцию, которая проверяет, является ли заданная строка палиндромом.

Прислать задачу | Подписаться
😁61🔥1
Lada

Несколько вопросов с собеса -
— Что означает буква L в SOLID?
—Когда лучше использовать линкедлист?
— Расскажи про ломбоковскую аннотацию equalsandhashcode ? Плюсы и минусы
— В чем разница findById and getById в спринге?
— Что произойдёт, если в контроллере в маппере обратиться к связи сущности загруженной в сервисе(варианты)?

Собираем дизлайки и какашки, не скупитесь!
💩59👎114😱4👏1🤯1
unknown company #unknown

Небольшая контора предложила решить такую задачу на собесе

1. Метод должен принять на вход путь к локальному файлу в формате xlsx и число N
2. В файле в столбик находятся целые числа
3. Метод должен вернуть N-ное минимальное число из файла
4. Для поиска нельзя использовать библиотечные функции типа сортировки массива, нужно предложить и реализовать эффективный алгоритм (это важно)

Прислать задачу | Подписаться
💩13
Тбанк

Дан массив натуральных чисел, числа могут повторяться. Необходимо выбрать из них k чисел так, чтобы разность максимального и минимального из выбранных была минимальной. Вернуть эту разность.

[10,100,300,200,1000,20,30] k=3 -> 20

#tbank
Прислать задачу | Подписаться
Яндекс

Вы — backend-разработчик в интернет-магазинеВы — backend-разработчик в интернет-магазине.
Дела идут в гору и магазин ре
😁22🤷‍♂5😱4🤔3
Яндекс #repeat (чуть изменили описание задачи, убрали название "рога и копыта") )

Вы — backend-разработчик в интернет-магазине.
Дела идут в гору и магазин решил повысить лояльность покупателей, предоставляя им персональные скидки.
К вам обратился product owner с задачей создать простую систему лояльности,
которая предоставляет процентную скидку на корзину.
Размер скидки зависит от покупателя.
Аналитики уже определили, какие скидки должны быть предоставлены покупателям.


## Определения

Корзина - список покупок покупателя.

Покупка:
- id товара
- цена
- итоговая стоимость c учетом скидки

Скидка. Для покупателя может быть задан % скидки (целое число).


## Задача
Написать часть новой системы лояльности, которая:
- на вход получает id покупателя и корзину
- вычисляет и применяет скидки
- возвращает корзину, в которой учтены скидки. Скидка учитывается в стоимости покупки

#yandex
Прислать задачу | Подписаться
5
WB #repeat(была подобная задача, но не вб)
Есть матрица n на m. 1-суша, 0-вода. Нужно сосчитать кол-во островов.
Остров - это произвольный фрагмент суши, не соединенный с другими участками суши.
Связь по диагонали - не считается. Все, что за пределами матрицы - вода

Example 1:

Input: grid = [
["1", "1", "1", "1", "0"],
["1", "1", "0", "1", "0"],
["1", "1", "0", "0", "0"],
["0", "0", "0", "0", "0"]
]

Output: 1

Example 2:

Input: grid = [
["1", "1", "0", "0", "0"],
["1", "1", "0", "0", "0"],
["0", "0", "1", "0", "0"],
["0", "0", "0", "1", "1"]
]

Output: 3

#wilberries
Прислать задачу | Подписаться
👍11
Статистика зарплат с хабра

можно посмотреть как меняются зп, выбрать разные языки и уровни (но нужно заполнить анкету и внести данные о своей зарплате)
9💩8😁2😢2👍1😱1
Газпромбанк

Написать метод для разворота списка

// node1->node2->node3 ---> node3->node2->node1
class Node{
Node left;
Node right;
int value;
}

#gazprombank
Прислать задачу | Подписаться
😢41
Озон #sql

### Есть две таблицы
- tab1
id
1
2
3

- tab2
id
1
1
2
2

Скажите количество строк в результирующей таблице при
1. inner join
2. left join
3. cross join


#ozon
Прислать задачу | Подписаться
2👏2