#вопросы_с_собеседований
Какой существует эффективный способ удостоверится, что все сервлеты доступны только для пользователя с верной сессией?
Какой существует эффективный способ удостоверится, что все сервлеты доступны только для пользователя с верной сессией?
Сервлет фильтры используются для перехвата всех запросов между контейнером сервлетов и сервлетом. Поэтому логично использовать соответствующий фильтр для проверки необходимой информации (например валидности сессии) в запросе.
Когда стоит изменять значение поля serialVersionUID?
serialVersionUID
нужно изменять при внесении в класс несовместимых изменений, например при удалении какого-либо его атрибута.Forwarded from Книги для программистов
Есть опыт и знания в IT, которыми Вы хотите поделиться?
Станьте автором технических статей вместе с Proglib и получайте достойное вознаграждение!
Библиотека программиста приглашает к сотрудничеству внештатных авторов,
которые хотят поделиться знаниями, пропиарить свой авторский блог или просто заработать.
Мы предлагаем удаленную работу, гибкий график, возможность зарабатывать до 12к за статью и выплаты 2 раза в месяц.
Мы не ограничиваем в количестве статей.
Постоянным авторам предусмотрены премии за лояльность.
Интересующие направления для написания статей:
• DevOps
• Блокчейн
• Информационная безопасность
• Дизайн интерфейсов (UX/UI)
• Ruby on Rails
• Rust
• Python
• C/C++/C#
• Java
• Go разработка
• Разработка игр
• Android-разработка
• iOS-разработка
• Системная аналитика
• Тестирование ПО
• Виртуальная реальность
• 1С
• Business Intelligence
• Интернет вещей
• Системы и сети
• Data Science, BigData и Machine Learning
• IT Management
Оставьте заявку на https://job.proglib.io/ и мы свяжемся с вами!
Станьте автором технических статей вместе с Proglib и получайте достойное вознаграждение!
Библиотека программиста приглашает к сотрудничеству внештатных авторов,
которые хотят поделиться знаниями, пропиарить свой авторский блог или просто заработать.
Мы предлагаем удаленную работу, гибкий график, возможность зарабатывать до 12к за статью и выплаты 2 раза в месяц.
Мы не ограничиваем в количестве статей.
Постоянным авторам предусмотрены премии за лояльность.
Интересующие направления для написания статей:
• DevOps
• Блокчейн
• Информационная безопасность
• Дизайн интерфейсов (UX/UI)
• Ruby on Rails
• Rust
• Python
• C/C++/C#
• Java
• Go разработка
• Разработка игр
• Android-разработка
• iOS-разработка
• Системная аналитика
• Тестирование ПО
• Виртуальная реальность
• 1С
• Business Intelligence
• Интернет вещей
• Системы и сети
• Data Science, BigData и Machine Learning
• IT Management
Оставьте заявку на https://job.proglib.io/ и мы свяжемся с вами!
Укажите метод, не определенный в классе java.lang.Thread
Anonymous Quiz
18%
join()
9%
sleep()
36%
wait()
37%
getPriority()
#вопросы_с_собеседований
Могут ли нестатические методы перегрузить статические?
Могут ли нестатические методы перегрузить статические?
Ответ к вопросу
Да. В итоге получатся два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.
Да. В итоге получатся два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.
Telegram
Библиотека джависта
#вопросы_с_собеседований
Могут ли нестатические методы перегрузить статические?
Могут ли нестатические методы перегрузить статические?
#вопросы_с_собеседований
Чем отличается Statement от PreparedStatement?
Чем отличается Statement от PreparedStatement?
Последние дни регистрации на чемпионат по Java
Уже 28 и 29 августа пройдет первый раунд онлайн-чемпионата для Java-разработчиков X5 DevMasters.
Первое место забирает домой 500 тысяч. Плюс приглашение на работу в X5 Group.
Что нужно знать, чтобы повысить шансы на победу:
● Java не ниже Middle
● продуктовый подход
● практики CI/CD и DevOps
● облачную инфраструктуру
● модульное и интеграционное тестирование.
Зарегистрируйся сейчас на платформе All Cups, чтобы не пропустить оповещение о старте: https://vk.cc/c5gHn9
Уже 28 и 29 августа пройдет первый раунд онлайн-чемпионата для Java-разработчиков X5 DevMasters.
Первое место забирает домой 500 тысяч. Плюс приглашение на работу в X5 Group.
Что нужно знать, чтобы повысить шансы на победу:
● Java не ниже Middle
● продуктовый подход
● практики CI/CD и DevOps
● облачную инфраструктуру
● модульное и интеграционное тестирование.
Зарегистрируйся сейчас на платформе All Cups, чтобы не пропустить оповещение о старте: https://vk.cc/c5gHn9
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Чем отличается Statement от PreparedStatement?
☕️ Statement: используется для простых случаев запроса без параметров.
☕️ PreparedStatement: предварительно компилирует запрос, который может содержать входные параметры и выполняться несколько раз с разным набором этих параметров.
Перед выполнением СУБД разбирает каждый запрос, оптимизирует его и создает «план» (query plan) его выполнения. Если один и тот же запрос выполняется несколько раз, то СУБД в состоянии кэшировать план его выполнения и не производить этапов разборки и оптимизации повторно. Благодаря этому запрос выполняется быстрее.
Суммируя: PreparedStatement выгодно отличается от Statement тем, что при повторном использовании с одним или несколькими наборами параметров позволяет получить преимущества заранее прекомпилированного и кэшированного запроса, помогая при этом избежать SQL Injection.
☕️ PreparedStatement: предварительно компилирует запрос, который может содержать входные параметры и выполняться несколько раз с разным набором этих параметров.
Перед выполнением СУБД разбирает каждый запрос, оптимизирует его и создает «план» (query plan) его выполнения. Если один и тот же запрос выполняется несколько раз, то СУБД в состоянии кэшировать план его выполнения и не производить этапов разборки и оптимизации повторно. Благодаря этому запрос выполняется быстрее.
Суммируя: PreparedStatement выгодно отличается от Statement тем, что при повторном использовании с одним или несколькими наборами параметров позволяет получить преимущества заранее прекомпилированного и кэшированного запроса, помогая при этом избежать SQL Injection.
Измени мир кликом мыши! 🖱️
Стартовал самый масштабный конкурс для IT-специалистов — «Цифровой прорыв» 2021 🚀
➡️ Собирай команду и участвуй в одном из 8 тематических хакатонов.
➡️ Решай кейсы с применением технологий: Big Data, IoT, AR/VR, AI, квантовые технологии, промышленный интернет и пр.
➡️ Открывай новые карьерные возможности.
➡️ Получай опыт и знания от более 400 экспертов IT-индустрии.
➡️ Изучай уникальные образовательные программы от «Цифрового Прорыва».
➡️ Внедряй свой продукт на рынок с помощью Акселератора «Цифрового Прорыва».
Выиграй призовой фонд — 55 млн. руб. 🏆
Регистрируйся: https://proglib.io/w/9eee69ed
Стартовал самый масштабный конкурс для IT-специалистов — «Цифровой прорыв» 2021 🚀
➡️ Собирай команду и участвуй в одном из 8 тематических хакатонов.
➡️ Решай кейсы с применением технологий: Big Data, IoT, AR/VR, AI, квантовые технологии, промышленный интернет и пр.
➡️ Открывай новые карьерные возможности.
➡️ Получай опыт и знания от более 400 экспертов IT-индустрии.
➡️ Изучай уникальные образовательные программы от «Цифрового Прорыва».
➡️ Внедряй свой продукт на рынок с помощью Акселератора «Цифрового Прорыва».
Выиграй призовой фонд — 55 млн. руб. 🏆
Регистрируйся: https://proglib.io/w/9eee69ed
#вопросы_с_собеседований
В чем отличие между кластерными и некластерными индексами?
В чем отличие между кластерными и некластерными индексами?
Где лучшие конференции? У нас на <Природа кода> 🏕
Го вместе с Х5 Tech на бесплатный кемпинг-уикенд <Природа кода> в Переславль-Залесский.
Обещаем полезный контент без отягощающих обстоятельств в виде конференц-зала, кондиционеров и бутылочек с водой. Только свежие идеи на свежем воздухе от ведущих спикеров
▪️О чем поговорим?
В категории бэк Юрий Букаткин расскажет "Как быстро выбрать для 50 млн пользователей лучший контент", а Александр Логинов ответит на вопрос "Как рождается код?"
Во фронте обсудим вместе с Глебом Михеевым "Как расти и развиваться в айти", Полина Гуртовая поделится мыслями на тему "Фронтенд как часть Коллективного Разума".
▪️Для кого: IT-фанаты, энтузиасты и визионеры по стекам Java/JavaScript/Python, уровня middle&senior
▪️Где: AZIMUT Отель Переславль 4*
▪️Когда: уикенд 11-12 сентября
Комплимент от Х5 Tech: трансфер, питание, проживание и активити - все бесплатно для участников слета.
Больше тем и спикеров на лендинге, а рядом кнопка регистрации 😉
Го вместе с Х5 Tech на бесплатный кемпинг-уикенд <Природа кода> в Переславль-Залесский.
Обещаем полезный контент без отягощающих обстоятельств в виде конференц-зала, кондиционеров и бутылочек с водой. Только свежие идеи на свежем воздухе от ведущих спикеров
▪️О чем поговорим?
В категории бэк Юрий Букаткин расскажет "Как быстро выбрать для 50 млн пользователей лучший контент", а Александр Логинов ответит на вопрос "Как рождается код?"
Во фронте обсудим вместе с Глебом Михеевым "Как расти и развиваться в айти", Полина Гуртовая поделится мыслями на тему "Фронтенд как часть Коллективного Разума".
▪️Для кого: IT-фанаты, энтузиасты и визионеры по стекам Java/JavaScript/Python, уровня middle&senior
▪️Где: AZIMUT Отель Переславль 4*
▪️Когда: уикенд 11-12 сентября
Комплимент от Х5 Tech: трансфер, питание, проживание и активити - все бесплатно для участников слета.
Больше тем и спикеров на лендинге, а рядом кнопка регистрации 😉
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований В чем отличие между кластерными и некластерными индексами?
Некластерные индексы - данные физически расположены в произвольном порядке, но логически упорядочены согласно индексу. Такой тип индексов подходит для часто изменяемого набора данных.
При кластерном индексировании данные физически упорядочены, что серьезно повышает скорость выборок данных (но только в случае последовательного доступа к данным). Для одного набора данных может быть создан только один кластерный индекс.
При кластерном индексировании данные физически упорядочены, что серьезно повышает скорость выборок данных (но только в случае последовательного доступа к данным). Для одного набора данных может быть создан только один кластерный индекс.
#вопросы_с_собеседований
Что такое «блокирующий метод»?
Что такое «блокирующий метод»?
Блокирующий метод – метод, который блокируется до тех пор, пока задание не выполнится, например метод accept() у ServerSocket блокируется в ожидании подключения клиента. Здесь блокирование означает, что контроль не вернётся к вызывающему методу до тех пор, пока не выполнится задание. Так же существуют асинхронные или неблокирующиеся методы, которые могут завершиться до выполнения задачи.
#вопросы_с_собеседований
В чем разница между PrintWriter и ServletOutputStream?
В чем разница между PrintWriter и ServletOutputStream?
PrintWriter — класс для работы с символьным потоком, экземпляр которого можно получить через метод ServletResponse getWriter();
ServletOutputStream — класс для работы байтовым потоком. Для получения его экземпляра используется метод ServletResponse getOutputStream().
ServletOutputStream — класс для работы байтовым потоком. Для получения его экземпляра используется метод ServletResponse getOutputStream().
Что такое «кооперативная многозадачность»? Какой тип многозадачности использует Java? Чем обусловлен этот выбор?
Преимущества такого подхода - простота реализации, меньшие накладные расходы на переключение контекста.
Недостатки - если один поток завис или ведет себя некорректно, то зависает целиком вся система и другие потоки никогда не получат управление.
В отличие от кооперативной многозадачности управление операционной системе передаётся вне зависимости от состояния работающих приложений, благодаря чему, отдельные зависшие потоки процесса, как правило, не «подвешивают» всю систему целиком. За счёт регулярного переключения между задачами также улучшается отзывчивость приложения и повышается оперативность освобождения ресурсов, которые больше не используются.
В реализации вытесняющая многозадачность отличается от кооперативной, в частности, тем, что требует обработки системного прерывания от аппаратного таймера.
Кооперативная многозадачность
- это способ деления процессорного времени между потоками, при котором каждый поток обязан отдавать управление следующему добровольно.Преимущества такого подхода - простота реализации, меньшие накладные расходы на переключение контекста.
Недостатки - если один поток завис или ведет себя некорректно, то зависает целиком вся система и другие потоки никогда не получат управление.
Java
использует вытесняющую многозадачность, при которой решение о переключении между потоками процесса принимает операционная система.В отличие от кооперативной многозадачности управление операционной системе передаётся вне зависимости от состояния работающих приложений, благодаря чему, отдельные зависшие потоки процесса, как правило, не «подвешивают» всю систему целиком. За счёт регулярного переключения между задачами также улучшается отзывчивость приложения и повышается оперативность освобождения ресурсов, которые больше не используются.
В реализации вытесняющая многозадачность отличается от кооперативной, в частности, тем, что требует обработки системного прерывания от аппаратного таймера.
#вопросы_с_собеседований
Какой оператор позволяет принудительно выбросить исключение?
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw:
throw new Exception();