This media is not supported in your browser
VIEW IN TELEGRAM
Всех с окончанием рабочей недели)
#fridaymemes
#fridaymemes
😁18😱2❤1
unknown какая-то ноунейм компания
1. Объяснить работу транзакционного метода persistDictionary()
2. Если он не транзакционный, внести изменения в код. чтобы это исправить
#unknown | Подписаться
1. Объяснить работу транзакционного метода persistDictionary()
2. Если он не транзакционный, внести изменения в код. чтобы это исправить
@Service
public class DictionaryService {
@Autowired
private DictionaryRepository repository;
public void processDictionary(Dictionary dictionary) {
persistDictionary(dictionary);
sendDictionary(dictionary);
}
@Transactional
private void persistDictionary(Dictionary dictionary) {
repository.deleteAll();
repository.save(dictionary);
}
private void sendDictionary(Dictionary dictionary) {
/* ... */
}
}
#unknown | Подписаться
👍1👎1
Гринатом #sql
#greenatom | Подписаться
Дана таблица employee (last_name, first_name, middle_name)
Вывести сотрудников, у которых есть однофамильцы
#greenatom | Подписаться
👍1
Сбер
#sber| Прислать задачу | Подписаться
Написать счетчик обратного отсчета от заданного числа до нуля, который выводит каждое число с паузой в 1 секунду
#sber| Прислать задачу | Подписаться
😁10👍1😱1
It one
//Даны два бина. При выполнении третьей итерации в методе m1 возникло исключение. Сколько записей будет в БД?
#itone | Подписаться
//Даны два бина. При выполнении третьей итерации в методе m1 возникло исключение. Сколько записей будет в БД?
public class BeanA() {
private BeanB b;
@Transactional
public void m1(List<Integer> list) {
for (Integer i : list) {
b.m2(i);
}
}
}
public class BeanB() {
@Transactional
public void m2(Integer i) {
// Добавляем запись в таблицу
}
}
#itone | Подписаться
❤1👍1
Астон
Что будет выведено?
#aston | Прислать задачу | Подписаться
Что будет выведено?
Stream.of("yes", "no", "qwerty", "solid")
.peek(s -> System.out.println("before filtering: " + s))
.sorted(Comparator.comparingInt(String::length))
.filter(s -> s.length() > 2)
.forEach(s -> System.out.println("after filtering: " + s));
#aston | Прислать задачу | Подписаться
👍3😁3
Яндекс
Реализовать фильтр-итератор, который по predicate ищет следующий элемент
#yandex | Прислать задачу | Подписаться
Реализовать фильтр-итератор, который по predicate ищет следующий элемент
#yandex | Прислать задачу | Подписаться
👍8
Сбер
Какая сложность для операций?
#sber | Подписаться
Какая сложность для операций?
public class HashmapTimeComplexity {
public static void main(String[] args) {
Map<KeyMap, String> msg = new HashMap<>();
KeyMap key = new KeyMap(200, "foo");
//в map добавляются 1...N разных элементов
//какая сложность алгоритма добавления ключа ниже
map.put(key, "123");
map.remove(key);
map.get(key);
}
}
record KeyMap(int first, String second) {
@Override
public int hashCode() {
return 42;
}
}
#sber | Подписаться
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Всех с окончанием рабочей недели)
#fridaymemes
#fridaymemes
😁20❤2👍2
Точка банк (стажировка)
Вывести названия всех книг и фамилии их авторов (title, surname)
Далее доп задание - убирают NOT NULL у author_id и FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE и спрашивают как теперь вывести все книги с авторами (даже если у книги нет автора)
#sql | Подписаться
Вывести названия всех книг и фамилии их авторов (title, surname)
-- Создание таблицы авторов
CREATE TABLE authors (
id INT PRIMARY KEY AUTO_INCREMENT,
surname VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
patronymic VARCHAR(255) NOT NULL,
birth_date DATE,
country VARCHAR(100),
biography TEXT
);
-- Создание таблицы книг
CREATE TABLE books (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255) NOT NULL,
author_id INT NOT NULL,
publish_date DATE,
isbn VARCHAR(20) UNIQUE,
pages INT,
FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE
);
Далее доп задание - убирают NOT NULL у author_id и FOREIGN KEY (author_id) REFERENCES authors(id) ON DELETE CASCADE и спрашивают как теперь вывести все книги с авторами (даже если у книги нет автора)
#sql | Подписаться
❤3
Точка банк (стажировка)
Провести код-ревью
Подписаться
Провести код-ревью
boolean containsStringInData(String csvFile, String str) throw IOException {
BufferedReader reader = new BufferedReader(new FileReader(csvFile);
ArrayList<String> list = new ArrayList();
String line;
while ((line = br.readLine()) != null) {
list.add(line);
}
boolean result;
for (String s : list) {
if (s == str) {
result = true;
}
}
return result;
}Подписаться
🤯4❤2👍1😁1
ВК
#vk| Подписаться
import java.util.*;
public class MaxConsecutiveRepeats {
/**
* Функция принимает на вход строку и возвращает карту символов и максимального количества
* их последовательных повторений.
*
* @param input Входная строка.
* @return Карта, где ключ — уникальный символ строки, а значение —
* максимальное количество его последовательных повторений.
*
* Input: "aaffbaaaafcz"
* Output: {a=4, b=1, c=1, f=2, z=1}
*/
public static Map<Character, Integer> maxConsecutiveRepeats(String input) {
}
// Тестирование функции
public static void main(String[] args) {
String testString = "aaffbaaaafcz";
Map<Character, Integer> output = maxConsecutiveRepeats(testString);
System.out.println(output);
}
}
#vk| Подписаться
Иннотех
Вычислить средний возраст n лучших студентов. В age и avg могут прийти невалидные строки.
#innotech | Прислать задачу | Подписаться
Вычислить средний возраст n лучших студентов. В age и avg могут прийти невалидные строки.
/**
* public class Student {
* public String name; // имя
* public String age; // возраст - это число типа "30", "54".
* public String avg; // средний балл - число с плавающей точкой "4.6", "1.0". Интервал оценок от "1.0" до "5.0".
* }
*/
public class StudentUtils {
// Вычислить средний возраст лучших n студентов.
public static double foo(List<Student> students, int n) {
return 0.0;
}
}
#innotech | Прислать задачу | Подписаться
❤1👍1
Иннотех
Решить проблему циклической зависимости
#innotech | Прислать задачу | Подписаться
Решить проблему циклической зависимости
@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Controller
class LeController {
private final AService a;
@GetRequest("/")
public String doGet() {
a.foo2();
return "ok";
}
}
@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Service
class AService {
private final BService b;
public void foo() {
b.bar();
}
public void foo2() {
// ...
}
}
@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Service
class BService {
private final CService c;
public void bar() {
c.barK();
}
}
@lombok.RequiredArgsConstructor
@org.springframework.stereotype.Service
class CService {
private final AService a;
public void barK() {
a.foo2();
}
}
#innotech | Прислать задачу | Подписаться
Магнит
Сделать рефакторинг
#magnit | Прислать задачу | Подписаться
Сделать рефакторинг
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Logger;
public final class Cat4 {
private static final int jumpsCount = 0;
private final DataSource dataSource;
private final String name;
public Cat4(String name, DataSource dataSource) {
this.name = name;
this.dataSource = dataSource;
}
public void doJumps(int jumpsCount) {
for (int i = 0; i < jumpsCount; i++) {
new Thread(new Runnable() {
public void run() {
doJump();
}
}).start();
}
}
public void doJump() {
jumpsCount++;
Logger.getLogger(Cat4.class.getName()).fine("Jump!");
}
public void doMeow() {
Logger.getLogger(Cat4.class.getName()).fine("Meow!");
}
public void doQuery(byte[] parameters) throws SQLException {
Connection conn = null;
Statement stmt = null;
try {
conn = dataSource.getConnection();
stmt = conn.createStatement();
stmt.execute("insert into cats (name) values(" + new String(parameters) + ")");
} finally {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
protected int getJumpsCount() {
int result = jumpsCount;
jumpsCount = 0;
return result;
}
public void finalize() {
jumpsCount = 0;
}
@Override
public boolean equals(Object otherCat) {
if (otherCat == this) {
return true;
}
if (!(otherCat instanceof Cat4)) {
return false;
}
Cat4 cat4 = (Cat4) otherCat;
return name.equals(cat4.name);
}
@Override
public String toString() {
try {
return "Cat4{" +
"name='" + name + '\'' +
", url=" + dataSource.getConnection().getMetaData().getURL() +
'}';
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
}
#magnit | Прислать задачу | Подписаться
СБЕР
Сделать рефакторинг кода
#sber| Прислать задачу | Подписаться
Сделать рефакторинг кода
@Transactional
public void process(String oldName, String newName) {
Long id = exec("select id from file where name='" + oldName + "'"); //выполнение запроса к БД
insert
processFile(oldName, newName); //переименование файла на диске
exec("update file set name='" + newName + "' where id = " + id);
}
#sber| Прислать задачу | Подписаться