Пацаны, че там с релокацией?
Anonymous Poll
13%
Я не из рф /посмотреть результат
1%
Уехал ещё до 2022
2%
Свалил в 2022
2%
в 2023-2025
1%
Свалил в этом году
3%
Собираюсь до выборов
22%
Хочу уехать, но не могу
40%
Никуда не собираюсь
15%
.
😢13😁6❤4👎1
Сбербанк
Задача на проектирование системы.
Дан файл, который имеет размерность, скажем, более 2 GB.
Содержимое файла - своего рода толковый словарь.
Разделителем между словом и его описанием выступает символ табуляции: "Слово\tОписание".
В файле находятся дубликаты. Нужно его отсортировать и вернуть клиенту обратно.
Пример файла:
Вопросы:
1) Расскажи, какие технологии будешь использовать? Как будешь решать задачу?
2) Напиши программный код на Java.
#sber
Прислать задачу | Подписаться
Задача на проектирование системы.
Дан файл, который имеет размерность, скажем, более 2 GB.
Содержимое файла - своего рода толковый словарь.
Разделителем между словом и его описанием выступает символ табуляции: "Слово\tОписание".
В файле находятся дубликаты. Нужно его отсортировать и вернуть клиенту обратно.
Пример файла:
Банк Кредитно-финансовое учреждение
Коллапс Внезапное сильное падение кровяного давления
...
Вопросы:
1) Расскажи, какие технологии будешь использовать? Как будешь решать задачу?
2) Напиши программный код на Java.
#sber
Прислать задачу | Подписаться
👍1🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Всех с окончанием рабочей недели
#fridaymemes
#fridaymemes
😁31❤5👏4😱1😢1💩1
яндекс #repeat (прислали 2 подписчика)
#yandex
Прислать задачу | Подписаться
Реализовать описанный функционал и тесты к нему.
/**
* Банкомат.
* Инициализируется набором купюр и умеет выдавать купюры для заданной суммы, либо отвечать отказом.
* При выдаче купюры списываются с баланса банкомата.
* Допустимые номиналы:
* - 50₽, 100₽, 500₽, 1000₽, 5000₽.
* - 20 EUR, 100 EUR, 500 EUR
*
* Каждая валюта обрабатывается отдельно, обмен валют банкоматом не поддерживается.
*
* Банкомат может использоваться многопоточно (например, резервирование выдачи денег из приложения).
* Поддержку многопоточности можно вынести в отдельную итерацию.
*/
public class ATM {
public ??? withdraw (???) {
//TODO
}
}
#yandex
Прислать задачу | Подписаться
👍4💩1
Реальные задачи с собеседований | Java
Сколько собесов было у подписчков за прошлую неделю: как минимум 100 Сколько задач прислали админу:
Скоро #fridaymemes станет больше чем задач)
В сентябре прислали всего 2 задачи😅
В сентябре прислали всего 2 задачи😅
😢20🤔4😱3❤1
x5
#x5tech
Прислать задачу | Подписаться
Необходимо реализовать сервис для работы с каталогом товаров.
Метод init вызывается один раз модератором для сохранения данных в системе (жестких требований к быстродействию нет).
После отработки метода init пользователи начинают обращаться в два других метода (высокий RPS, требуется быстрый ответ методов)
public interface Category {
Long getId();
String getName();
}
public interface Product {
Long getId();
String getName();
List<Category> getCategories();
}
public class ProductCategoryService {
/**
* Метод вызывается 1 раз,
* инициализирует сервис всеми товарами и категориями.
*/
@Override
public void init(List<Product> products, List<Category> categories) {
//TODO implement
}
/**
* Проверяет принадлежность товара к категории,
* может вызываться много раз и часто.
*
* @param productId идентификатор товара
* @param categoryId идентификатор категории
* @return {@code true} если товар принадлежит к категории,
* в остальных случаях {@code false}
*/
@Override
public boolean isProductInCategory(Long productId, Long categoryId) {
//
//TODO implement
}
/**
* Возвращает список товаров по категории.
* Товары должны быть отсортированы по имени.
* Может вызываться много раз и часто.
*
* @param categoryId идентификатор категории
* @return список товаров, принадлежащих к категории
* или пустой список,
* если к категории не принадлежит ни один товар
*/
@Override
public Collection<Product> getProductsByCategory(Long categoryId) {
//
//TODO implement
}
}
#x5tech
Прислать задачу | Подписаться
❤2👍1
Recordlinker
Прислать задачу | Подписаться
Write a simple tool to normalize company names that reads stream of lines (one company name per line) and outputs a stream of tab separated pairs (old name\tnormalized name)
Rules do not imply order and case insensitive
Should be lowercase
Trim unnecessary spaces and remove duplicate spaces
Filter out lines prefixed with "xx", "donotuse", "DO NOT USE"
Normalize terms:
"insurance" from "ins", "insur", "insuran", "insuranc"
"company" from "companies", "comp", "co", "corp", "company inc"
spell out year
"2006" as "two thousand six"
fix spelling
"Ameican" -> "American"
"Adminstrative" -> "Administrative"
Remove punctuation
Replace "&" with " and "
Keep only unique results
Sort by normalized names, then by original name
"ABRDN COMPANY TWO THOUSAND SIX",
"PROTECTIVE INSURANCE COMPANY",
"donotuseHULL & COMPANY INC",
"Rochdale Insurance Co.",
"Scottsdale Ins. Co. ",
"CRC- UMB CAMP (2006)",
"ABRDN CO. 2006",
"Adminstrative&Services Group",
" Great Ameican Insurance Co.",
"Fidelity & Deposit Companies",
"DO NOT USE-Less than A rated",
"ROCHDALE INSURANCE CO.",
"Fidelity Investments Institutional Services Co, Inc."
Прислать задачу | Подписаться
🤯7❤3
ВК
#vk
Прислать задачу | Подписаться
/**
* Есть два ступенчатых графика некоторых наблюдаемых величин, заданных отсортированными списками
* координат начала ступенек (<время измерения>, <значение>). Подразумевается, что величина сохраняет
* своё значение между измерениями. До первого измерения величина равна нулю.
* Требуется построить новый график, который будет являться суммой двух представленных.
* Т.е. построить график, на котором для каждой точки (измерения) из первого и второго графика
* есть соответствующая точка.
* <p>
* Напишите функцию, которая по двум заданным массивам измерений вернёт сумму двух представленных
* массивов.
* <p>
* Input: a={{1, 2}, {5, 1}}, b={{2, 4}, {3, 6}, {9, 7}})
* Output: {{1, 2}, {2, 6}, {3, 8}, {5, 7}, {9, 8}}
*/
public class Template12 {
public static void main(String[] args) {
var res12 = stepSumWithMemory(new int[][]{{1, 2}, {3, 6}, {5, 1}}, new int[][]{{2, 4}, {3, 6}, {9, 7}});
System.out.println(res12.stream().map(Arrays::toString).collect(Collectors.toList()));
}
public static List<int[]> stepSumWithMemory(int[][] first, int[][] second) {
// todo
}
}
#vk
Прислать задачу | Подписаться
💩2
This media is not supported in your browser
VIEW IN TELEGRAM
Всех с окончанием рабочей недели
#fridaymemes
#fridaymemes
😁21👏3🔥1
Сбер
#sber
Прислать задачу | Подписаться
@Data
@AllArgsConstructor
public static class Person {
public Integer id;
public String firstName;
public String secondName;
public String lastName;
}
@Test
public void test() {
List<Person> persons = new ArrayList<>();
persons.add(new Person(1,"Ivan","Vasya","Petr"));
persons.add(new Person(2,"Ivan","Vasya","Petr"));
persons.add(new Person(3,"Ivan","Vasya","Petr"));
persons.add(new Person(4,"Ivan","Gupta","Ivan"));
persons.add(new Person(5,"Petr","Rama","Igor"));
Collection<Person> uniquePersons = unique(persons);
assert uniquePersons.size() == 3;
}
//Unique collection by combination first-second-last names
public static Collection<Person> unique(List<Person> persons){
//Реализовать
}
#sber
Прислать задачу | Подписаться
👍1😁1
яндекс
#yandex
Прислать задачу | Подписаться
public interface UserNotificationApi {
void sendCode(String orderId, String code);
}
/**
* Постамат - автоматическая станция приёма/выдачи посылок.
* В маркете формируются заказы, и хочется добавить возможность получения через постамат.
* Запускаем MVP: небольшая аудитория пользователей, несколько постаматов в Москве.
* При заказе пользователь сможет выбрать, что хочет получить заказ в постамате.
* <p>
* В рамках задачи нужно реализовать код для MVP решения:
* - курьер привозит заказ и пробует положить его в ячейку, указывая номер заказа. Постамат сам выбирает ячейку и возвращает в ответ. Она откроется вызывающим этот метод кодом.
* - после того, как заказ положили в ячейку, пользователю отправляется СМС c кодом получения. Заказ будет ждать вечно
* - в случае любых ошибок - курьер забирает заказ назад и попробует положить заказ в ячейку на следующий день (для MVP это ок)
* - пользователь может получить заказ по коду выдачи из СМС. При вводе кода выдачи постамат должен вывести на экран текст "ваш заказ ХХХ в ячейке YYY", ячейка откроется сама.
* <p>
* Ограничения:
* - все ячейки одного размера, но их может быть разное количество, зависит от конкретного постамата
* - один заказ - одна коробка, она влезает в ячейку
* - ячейки каждого постамата пронумерованы
* - каждый постамат сам хранит своё состояние
* <p>
* Для отправки сообщения пользователю надо использовать клиент UserNotificationApi.
*/
public class PostalBox {
public ??? placeOrder(??? orderId) {
}
public ??? getOrder(??? receiveCode) {
}
}
#yandex
Прислать задачу | Подписаться
👍12