Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
Есть опыт и знания в 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/ и мы свяжемся с вами!
Укажите метод, не определенный в классе java.lang.Thread
Anonymous Quiz
18%
join()
9%
sleep()
36%
wait()
37%
getPriority()
#вопросы_с_собеседований
Могут ли нестатические методы перегрузить статические?
Ответ к вопросу

Да. В итоге получатся два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.
Последние дни регистрации на чемпионат по Java

Уже 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.
Измени мир кликом мыши! 🖱️

Стартовал самый масштабный конкурс для 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: трансфер, питание, проживание и активити - все бесплатно для участников слета.

Больше тем и спикеров на лендинге, а рядом кнопка регистрации 😉
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований В чем отличие между кластерными и некластерными индексами?
Некластерные индексы - данные физически расположены в произвольном порядке, но логически упорядочены согласно индексу. Такой тип индексов подходит для часто изменяемого набора данных.

При кластерном индексировании данные физически упорядочены, что серьезно повышает скорость выборок данных (но только в случае последовательного доступа к данным). Для одного набора данных может быть создан только один кластерный индекс.
Блокирующий метод – метод, который блокируется до тех пор, пока задание не выполнится, например метод accept() у ServerSocket блокируется в ожидании подключения клиента. Здесь блокирование означает, что контроль не вернётся к вызывающему методу до тех пор, пока не выполнится задание. Так же существуют асинхронные или неблокирующиеся методы, которые могут завершиться до выполнения задачи.
#вопросы_с_собеседований
В чем разница между PrintWriter и ServletOutputStream?
PrintWriter — класс для работы с символьным потоком, экземпляр которого можно получить через метод ServletResponse getWriter();

ServletOutputStream — класс для работы байтовым потоком. Для получения его экземпляра используется метод ServletResponse getOutputStream().
Что такое «кооперативная многозадачность»? Какой тип многозадачности использует Java? Чем обусловлен этот выбор?

Кооперативная многозадачность - это способ деления процессорного времени между потоками, при котором каждый поток обязан отдавать управление следующему добровольно.

Преимущества такого подхода - простота реализации, меньшие накладные расходы на переключение контекста.

Недостатки - если один поток завис или ведет себя некорректно, то зависает целиком вся система и другие потоки никогда не получат управление.

Java использует вытесняющую многозадачность, при которой решение о переключении между потоками процесса принимает операционная система.

В отличие от кооперативной многозадачности управление операционной системе передаётся вне зависимости от состояния работающих приложений, благодаря чему, отдельные зависшие потоки процесса, как правило, не «подвешивают» всю систему целиком. За счёт регулярного переключения между задачами также улучшается отзывчивость приложения и повышается оперативность освобождения ресурсов, которые больше не используются.

В реализации вытесняющая многозадачность отличается от кооперативной, в частности, тем, что требует обработки системного прерывания от аппаратного таймера.
#вопросы_с_собеседований
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw:

throw new Exception();
Чему бы вы хотели научиться?
GET передает данные серверу используя URL, тогда как POST передает данные, используя тело HTTP запроса. Длина URL ограничена 1024 символами, это и будет верхним ограничением для данных, которые можно отослать через GET. POST может отправлять гораздо большие объемы данных. Лимит устанавливается web-server и составляет обычно около 2 Mb.

Передача данных методом POST более безопасна, чем методом GET, так как секретные данные (например пароль) не отображаются напрямую в web-клиенте пользователя, в отличии от URL, который виден почти всегда. Иногда это преимущество превращается в недостаток - вы не сможете послать данные за кого-то другого.