Реальные задачи с собеседований | Java
Відкрити в Telegram
Буду сюда выкладывать реальные задачи и вопросы с собеседований, без копипаста с интернета и других каналов) Ссылка для друга - https://t.me/+K4vJFdalwlthYTQy Прислать задачи, реклама - @privatevoidmain
Показати більше4 354
Підписники
+324 години
+47 днів
+2030 день
Триває завантаження даних...
Схожі канали
Хмара тегів
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
червень '26
червень '26
+57
в 0 каналах
травень '26
+160
в 0 каналах
Get PRO
квітень '26
+159
в 0 каналах
Get PRO
березень '26
+188
в 0 каналах
Get PRO
лютий '26
+111
в 0 каналах
Get PRO
січень '26
+160
в 0 каналах
Get PRO
грудень '25
+98
в 0 каналах
Get PRO
листопад '25
+238
в 0 каналах
Get PRO
жовтень '25
+228
в 0 каналах
Get PRO
вересень '25
+177
в 0 каналах
Get PRO
серпень '25
+204
в 0 каналах
Get PRO
липень '25
+156
в 0 каналах
Get PRO
червень '25
+181
в 0 каналах
Get PRO
травень '25
+309
в 1 каналах
Get PRO
квітень '25
+194
в 0 каналах
Get PRO
березень '25
+245
в 0 каналах
Get PRO
лютий '25
+745
в 1 каналах
Get PRO
січень '25
+564
в 3 каналах
Get PRO
грудень '24
+128
в 0 каналах
Get PRO
листопад '24
+184
в 0 каналах
Get PRO
жовтень '24
+169
в 0 каналах
Get PRO
вересень '24
+243
в 1 каналах
Get PRO
серпень '240
в 0 каналах
Get PRO
липень '24
+105
в 0 каналах
| Дата | Залучення підписників | Згадування | Канали | |
| 25 червня | +1 | |||
| 24 червня | +4 | |||
| 23 червня | +1 | |||
| 22 червня | +2 | |||
| 21 червня | +3 | |||
| 20 червня | +1 | |||
| 19 червня | +4 | |||
| 18 червня | 0 | |||
| 17 червня | +1 | |||
| 16 червня | +6 | |||
| 15 червня | +5 | |||
| 14 червня | 0 | |||
| 13 червня | +1 | |||
| 12 червня | +1 | |||
| 11 червня | +1 | |||
| 10 червня | +1 | |||
| 09 червня | +1 | |||
| 08 червня | +2 | |||
| 07 червня | +3 | |||
| 06 червня | 0 | |||
| 05 червня | 0 | |||
| 04 червня | +2 | |||
| 03 червня | +7 | |||
| 02 червня | +1 | |||
| 01 червня | +9 |
Дописи каналу
Repost from N/a
Купил Claude Max за $100,что дальше? 👀
Работадатель оплачивает подписку на ИИ) Пока взял claude max 5x.
Поделитесь в комментариях самым полезным инсайтом или приемом работы с ИИ, который реально помог в работе.
Неочевидные фишки, удачные промпты, что прописали claude.md — всё интересно
| 2 | Тбанк (стажировка🤢)
#tbank
Прислать задачу | Подписаться | 2 635 |
| 3 | Сбер
Сделать удаление элементов из списка, начиная с 3 повторений
// Input: ['A', 'B', 'A', 'B', 'A', 'B', 'C', 'C', 'D', 'C', 'C']
// Output: [A, B, A, B, C, C, D]
List<Character> removeDuplicates(List<Character> elements);
#sber
Прислать задачу | Подписаться | 2 895 |
| 4 | райф
@Service
class A {
@Autowired
private B b;
// исходный вызов приходит сюда
@Transactional
public void doA() {
// some work with BD A
try {
b.doB();
} catch (Exception ex) {
// just log
}
}
}
@Service
class B {
@Transactional
public void doB() {
// some work with DB
if (true) { // some operation with exception
throw new IllegalStateException();
}
}
}
// Вопрос: Какие изменения окажутся в БД:
// 1. A and B
// 2. A
// 3. B
// 4. nothing | 2 882 |
| 5 | Тбанк (стажировка)
/*
* Дана строка s, состоящая только из латинских строчных букв.
* Назовем строку хорошей, если в ней в качестве подстроки
* будут встречаться как строка "tbank", так и строка "study".
*
* Найти минимальное количество символов нужно поменять в строке,
* чтобы получившаяся строка стала хорошей.
*
* Входные данные:
* Строка s, где 10 <= |s| <= 10^5
* Гарантировано, что строка содержит только строчные буквы латинского алфавита.
*
* Выходные данные:
* Одно число — минимальное количество символов нужно заменить
* в старой строке так, чтобы встречались как подстрока "tbank", так и "study".
*
* Примеры:
* "tbankstudy" -> 0 (уже содержит обе подстроки)
* "studtbankk" -> 5 (нужно поменять 5 символов)
*/
public static int solve(String s) {
// TODO
}
#tbank
Прислать задачу | Подписаться | 3 015 |
| 6 | Тбанк (стажировка)
/*
* Дана строка s, которая содержит только цифры от 0 до 9,
* в которой не все элементы равны 0.
* Нужно переставить в ней цифры таким образом, чтобы число,
* которое представляет данная строка, было минимально возможным,
* а также чтобы в этой строке не было ведущих нулей.
*
* Число содержит ведущие нули, если число не равно нулю,
* но при этом в начале числа стоит цифра 0.
* Так, например, числа 01, 0303 содержат ведущие нули,
* тогда как 0, 30000 нет.
*
* Входные данные:
* Строка s, где 1 <= |s| <= 9
* Гарантируется, что в строке есть элемент, отличный от 0.
*
* Выходные данные:
* Строка — минимально возможное число без ведущих нулей.
*
* Примеры:
* "682902" -> "202689"
* "01" -> "10"
*/
public static String solve(String s) {
// TODO
}
#tbank
Прислать задачу | Подписаться | 3 211 |
| 7 | Uzum
Описать как такое будет работать от этапа что код написан до его выполнения на процессоре. Описать как можно данный код выполнить.
Что такое интерпретаторы? Какие бывают? Что такое JIT и GraalVM?
public class MainClass {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Прислать задачу | Подписаться | 4 340 |
| 8 | Всех с окончанием рабочей недели)
#fridaymemes | 3 903 |
| 9 | Яндекс
Написать без спринга и с юнитами (за час)
/*
Вы — backend-разработчик в финтех компании.
Компания предоставляет платежные услуги и должна контролировать лимиты пользователей.
Product owner просит создать систему проверки лимитов перед проведением платежей.
## Определения
Платеж:
- id пользователя
- сумма (в рублях с копейками)
- тип операции (только списание)
- время операции
Лимиты пользователя:
- суточный лимит по сумме (за 24 часа)
- максимальный размер одной операции
История операций:
- список совершенных платежей пользователя
## Важно
Настройки лимитов пользователей и история платежей предоставляются другими компонентами системы.
Вам необходимо спроектировать контракты для получения этих данных.
Реализацию этих компонентов делать не нужно.
## Задача
Написать систему проверки лимитов, которая:
- на вход получает платеж
- проверяет лимиты
- возвращает результат проверки: можно ли провести операцию
- если нельзя, то указывает причину (какой именно лимит будет превышен)
Проведение платежа не входит в вашу задачу - другая команда займется обработкой платежей после проверки.
Ваша задача - только проверка возможности проведения платежа.
## Ограничения
В рамках данной задачи считаем, что все платежи одного пользователя происходят строго последовательно.
Во время проверки лимита не может быть проведен платеж того же пользователя.
*/
class PaymentsChecker {
public ??? checkPayment(??? payment) {
Написать систему проверки лимитов, которая:
- на вход получает платеж
- проверяет лимиты
- возвращает результат проверки: можно ли провести операцию
- если нельзя, то указывает причину (какой именно лимит будет превышен)
// TODO implement
}
}
interface PaymentsHistoryService {
// TODO any functions
}
interface UserLimitsService {
// TODO any functions
}
#yandex
Прислать задачу | Подписаться | 3 871 |
| 10 | Сбер страхование
Какая сложность у этого цикла?
for (int i = 0; i < n; ++i) {
for (int j = 1; j < n; j *= 2) {
//something
}
}
#sber
Прислать задачу | Подписаться | 3 999 |
| 11 | [SENIOR] Какая зарплата на руки с одной работы в рублях (с учетом премий)? | 4 005 |
| 12 | Цифровые привычки (вроде на проект #sber)
@Service
public class Handler {
@Value("target.uri")
private String targetUri;
@Value("target.port")
private int port;
@Value("target.path")
private String path;
@Autowired
private RestTemplate template;
public boolean handle(Event event) {
try {
String fileContent = Files.readString(Paths.get(event.getSource()));
HttpEntity<String> request = new HttpEntity<>(fileContent);
template.postForObject(targetUri, request, String.class, port, path);
return true;
} catch (Exception exc) {
//exception
throw new RuntimeException("cannot read data");
}
}
}
Прислать задачу | Подписаться | 2 645 |
| 13 | Всех с окончанием рабочей недели)
#fridaymemes | 3 287 |
| 14 | Сбер страхование
//что не так в таком api?
//что если мы захотим расширить профиль, добавляя еще какой-то тип документа, как будем это делать?
GET https://hr-test.ru/api/user-profile/8001
Auth Type: Bearer Token
Response
{
"error": null,
"data": {
"id": 8001,
"FIO": "John Doe",
"seriesNumber": 4352 479893
}
}
#sber
Прислать задачу | Подписаться | 3 686 |
| 15 | [MID] Какая у вас зарплата? | 4 106 |
| 16 | [JUN] Какая у вас зарплата? | 3 623 |
| 17 | какой-то банк (мб альфа или райф) #unknown
Есть таблица Person(name, age).
1. Написать запрос, который выведет имена и максимальный возраст для каждого имени
2. SQL вывести дубликаты по name+age
3.Реализовать метод List<Person> getTopAgeForName(List<Person> persons), который повторяет логику из первой задачи
Прислать задачу | Подписаться | 3 352 |
| 18 | Сколько? | 0 |
| 19 | Сбер стахование
//что будет выведено и почему?
public class Main {
public static void main(String[] args) throws Exception {
A a = new A();
List<String> list = new ArrayList<>();
a.f(list);
}
}
class A {
void f(Iterable<String> l) {
System.out.println("A");
}
void f(Collection<String> l) {
System.out.println("B");
}
void f(ArrayList<String> l) {
System.out.println("C");
}
void f(LinkedList<String> l) {
System.out.println("D");
}
}
#sber
Прислать задачу | Подписаться | 3 632 |
| 20 | Всех с окончанием рабочей недели)
#fridaymemes | 3 754 |
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
