Сколько вариантов вывода может быть?
Ваши варианты пишите в комментах
Ваши варианты пишите в комментах
Anonymous Quiz
7%
1
12%
2
14%
3
51%
4
17%
Узнать ответ
Что залогируется при старте контекста?
Anonymous Quiz
9%
init1
3%
init2
45%
init1, init2
33%
контекс не стартанет
9%
postconstruct не использую, пишу все в конструкторе
👍2
Что нужно сделать в коде выше что бы doInTransaction выполнился в отдельной транзакции ?
Anonymous Quiz
6%
поставить аннотацию @Transactional над методом perform
22%
поставить аннотацию @Transactional над методом doInTransaction
34%
поставить аннотацию @Transactional(propagation = REQUIRES_NEW) над методом doInTransaction
11%
поставить аннотацию @Transactional(propagation = REQUIRES_NEW) над методом perform
27%
ничего из вышеперечисленного не поможет
Сколько вариантов может напечатать thread2? #concurrency
Сколько вариантов может напечатать thread2? (thread1 и thread2 запускаются в разных потоках)
Anonymous Quiz
18%
1
53%
2
29%
больше 2-х
Где надо поставить synchronized?
Anonymous Quiz
23%
в методах addListener и removeListener
56%
в addListener, removeListener и put
12%
нигде не надо
9%
везде поставить надо, хуже не будет
Нужно ли указывать третий параметр (mergeFunction) в методе Collectors.toMap(this::getKey(), this::getValue(), (o1, o2) -> o1) ? Если нужно, то для чего? и что будет если не указать его? пишите в комментах
Anonymous Quiz
16%
обязательно нужно всегда
45%
нужно, в зависимости от исходного стрима
18%
не нужно
19%
хочу узнать ответ
2%
не использую стримы, циклы надежнее
Может ли не завершится thread1? (thread1 и thread2 запускаются одновременно в разных потоках)
Anonymous Quiz
61%
может не завершится
19%
всегда завершится
18%
никогда не завершится
2%
другой ответ (пишите в комменты)
Можно ли xmlMapper использовать как поле в классе ниже
или нужно его объявить как переменную внутри метода deserialize?
Обоснования пишите в комментариях
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
@Slf4j
@SuppressWarnings("unused")
public class EventDeserializer implements Deserializer<Event> {
private final XmlMapper xmlMapper = new XmlMapper();
@Override
public Event deserialize(String topic, byte[] data) {
try {
return xmlMapper.readValue(data, Event.class);
} catch (IOException e) {
log.error("Error deserialize message topic {}", topic, e);
}
return null;
}
}
или нужно его объявить как переменную внутри метода deserialize?
Обоснования пишите в комментариях
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
@Slf4j
@SuppressWarnings("unused")
public class EventDeserializer implements Deserializer<Event> {
private final XmlMapper xmlMapper = new XmlMapper();
@Override
public Event deserialize(String topic, byte[] data) {
try {
return xmlMapper.readValue(data, Event.class);
} catch (IOException e) {
log.error("Error deserialize message topic {}", topic, e);
}
return null;
}
}
Вопрос по коду выше.
Можно ли xmlMapper использовать как поле в классе ниже
или нужно его объявить как переменную внутри метода deserialize? Обоснования пишите в комментариях
Можно ли xmlMapper использовать как поле в классе ниже
или нужно его объявить как переменную внутри метода deserialize? Обоснования пишите в комментариях
Anonymous Quiz
50%
можно объявить как поле
20%
нельзя как поле, только как переменную локальную
7%
нельзя никак
22%
разницы нет
Как правильно сравнивать строки?
Почему Ваш вариант самый правильный пишите в комменты
Почему Ваш вариант самый правильный пишите в комменты
Anonymous Quiz
43%
str.equals(“123”)
45%
“123”.equals(str)
2%
str == “123”
10%
Все варианты неверные
Что выведется в консоль?
Почему ide выделяет желтым '==' пишите в комментах
Почему ide выделяет желтым '==' пишите в комментах
Anonymous Quiz
29%
true, true
45%
true, false
23%
false, false
2%
false, true
2%
пишу на с++, потому что джава медленная
Ответ на вчерашнюю задачу:
Сравнение происходит не значений, а ссылок объектов.
Но в java есть пул для объектов типа Long (от -127 до 127 включительно)
поэтому первое равенство выполняется так как сравнивается один и тот же объект,
а второе = false, так как сравниваются разные объекты.
Идея именно поэтому и показывает warning, предлагая сравнивать через equals
Сравнение происходит не значений, а ссылок объектов.
Но в java есть пул для объектов типа Long (от -127 до 127 включительно)
поэтому первое равенство выполняется так как сравнивается один и тот же объект,
а второе = false, так как сравниваются разные объекты.
Идея именно поэтому и показывает warning, предлагая сравнивать через equals
Какой будет результат выполнения кода?
Anonymous Quiz
24%
отработает без ошибок
43%
ConcurrentModificationException
10%
NullPointerException
8%
IllegalStateException
16%
хочу узнать ответ и не испортить результаты голосования
Ответ к последнему вопросу:
Удаление элемента приведет к сдвигу в массиве и добавлению null в последнем элементе: ["1", "2", "3"] -> ["1", "3", null] и дальше вылетит NPE,
так как сравнение сделано неверно (см предыдущую задачу про сравнения строк - https://t.me/java_interview_tasks/46)
Еще один вопрос почему раньше не вылетает CME: stream().forEach() это по факту spliterator().forEachRemainig(), а он делает проверку на concurrent modification один раз в конце для оптимизации, поэтому ConcurrentModificationException не вылетает в данном примере
Удаление элемента приведет к сдвигу в массиве и добавлению null в последнем элементе: ["1", "2", "3"] -> ["1", "3", null] и дальше вылетит NPE,
так как сравнение сделано неверно (см предыдущую задачу про сравнения строк - https://t.me/java_interview_tasks/46)
Еще один вопрос почему раньше не вылетает CME: stream().forEach() это по факту spliterator().forEachRemainig(), а он делает проверку на concurrent modification один раз в конце для оптимизации, поэтому ConcurrentModificationException не вылетает в данном примере
Telegram
Java Interview Tasks
Как правильно сравнивать строки?
Почему Ваш вариант самый правильный пишите в комменты
str.equals(“123”) / “123”.equals(str) / str == “123” / Все варианты неверные
Почему Ваш вариант самый правильный пишите в комменты
str.equals(“123”) / “123”.equals(str) / str == “123” / Все варианты неверные