Что напечатается в результате выполнения кода?
Anonymous Quiz
26%
ничего
32%
test
29%
будет эксепшен
13%
узнать ответ
🔥9👏1
🔥8🆒4👍3👎3🐳1
Ответ на вопрос про различные блокировки:
Частый вопрос на собеседовании про несколько вызовов lock у ReentrantLock и
acquire у Semaphore внутри одного треда
Как видно из задач выше, в случае ReentrantLock проблем не возникнет, и
второй lock не заблокирует тот же самый поток.
Semaphore, наоборот, заблокирует на втором вызове.
syncronized работает так же, как и ReentrantLock - не заблокирует при втором вызове.
Частый вопрос на собеседовании про несколько вызовов lock у ReentrantLock и
acquire у Semaphore внутри одного треда
Как видно из задач выше, в случае ReentrantLock проблем не возникнет, и
второй lock не заблокирует тот же самый поток.
Semaphore, наоборот, заблокирует на втором вызове.
syncronized работает так же, как и ReentrantLock - не заблокирует при втором вызове.
👍7🔥4
Выводы после вопросов про разные варианты map и операции с null (https://t.me/java_interview_tasks/209):
Надо работать аккуратно, когда вы не знаете реализацию map (например, map приходит в метод как параметр), возможно вам нужно добавлять
проверки на null перед операциями с map, либо если вы модифицируете map, надо убедиться что map mutable (как вариант создать new HashMap и сложить туда все элементы из мапы которая пришла в метод, а потом уже модифицировать новую мапу)
Надо работать аккуратно, когда вы не знаете реализацию map (например, map приходит в метод как параметр), возможно вам нужно добавлять
проверки на null перед операциями с map, либо если вы модифицируете map, надо убедиться что map mutable (как вариант создать new HashMap и сложить туда все элементы из мапы которая пришла в метод, а потом уже модифицировать новую мапу)
Telegram
Java Interview Tasks
Задача для супер сеньоров: что напечатается в результате выполнения этого кода?
👍6🔥3👏1
Упражнение для читателей - пофиксить все баги в этом коде, при учете того что в метод могут прийти любые параметры
👍7🐳3👏1
Решение последней задачи (https://t.me/java_interview_tasks/225)
от GPT бота:
https://t.me/ChatGPT_BotGroup/44
от GPT бота:
https://t.me/ChatGPT_BotGroup/44
Telegram
Java Interview Tasks
Пример такого небезопасного кода:
😁8🔥2
👍7🔥6👏1
Ответ на вопрос про rollback для Transactional (https://t.me/java_interview_tasks/228)
В данном примере отката транзакции не будет, так как эксепшен перехватывается сразу внутри метода с аннотацией @Transactional,
и поэтому прокси, которая создается этой аннотацией, ничего не знает про этот ексепшен и не откатывает транзакцию
То есть, если вы хотите, чтобы транзакция откатилась , нужно выбросить ексепшен из метода с @Transactional
В данном примере отката транзакции не будет, так как эксепшен перехватывается сразу внутри метода с аннотацией @Transactional,
и поэтому прокси, которая создается этой аннотацией, ничего не знает про этот ексепшен и не откатывает транзакцию
То есть, если вы хотите, чтобы транзакция откатилась , нужно выбросить ексепшен из метода с @Transactional
Telegram
Java Interview Tasks
Сохранится ли customer в базе?
🔥12👍1👏1
👍11❤1
👍13🔥4🤔1
👍8😁4🔥3
Если нужно выполнить какие-то операции с массивами битов, что вы будете использовать?
Anonymous Quiz
12%
boolean[]
63%
byte[]
8%
int[]
4%
Boolean[]
13%
что-то еще
🤨11🔥2💩2👏1🐳1😨1
Java Interview Tasks
Если нужно выполнить какие-то операции с массивами битов, что вы будете использовать?
Почему такой ответ ожидается, будет пост завтра
😁9👍3❤1😨1