Channel: JavaRocks
This media is not supported in your browser
VIEW IN TELEGRAM
Python vs Java
На каком языке легче найти работу?
Согласны 👍 если нет то 👎?
На каком языке легче найти работу?
Согласны 👍 если нет то 👎?
Оптимизация запросов в базе данных (БД) — это процесс улучшения их производительности, чтобы они выполнялись быстрее и использовали меньше ресурсов. Рассмотрим основные способы оптимизации SQL-запросов.
Индексы ускоряют поиск данных, создавая структуру, похожую на оглавление книги. Вместо полного перебора таблицы (Full Table Scan), БД быстро находит нужные строки по индексу.
CREATE INDEX idx_user_name ON users(name);
Избегайте
SELECT *
, так как это нагружает систему избыточными данными. Плохо
SELECT * FROM users;
Хорошо
SELECT id, name FROM users;
Перед оптимизацией полезно посмотреть, как БД выполняет запрос.
EXPLAIN SELECT * FROM users WHERE name = 'Ivan';
Если вам нужно получить только первые N строк, используйте
LIMIT
, чтобы БД не грузила лишние данные. SELECT * FROM users ORDER BY id LIMIT 10;
Соединение (
JOIN
) таблиц может быть дорогостоящим. Вот несколько рекомендаций: - Используйте индексы на полях, участвующих в
JOIN
. - Если возможно, замените сложные
JOIN
на подзапросы (EXISTS
, IN
). CREATE INDEX idx_orders_user_id ON orders(user_id);
Часто повторяющиеся запросы можно кэшировать на уровне БД (
QUERY CACHE
в MySQL) или в приложении (Redis, Memcached). SET GLOBAL query_cache_size = 1000000;
Нормализация уменьшает дублирование данных, разбивая таблицы.
Денормализация может ускорить работу, дублируя данные и уменьшая количество
JOIN
. Ставь 👍 и забирай 📚 Базу Java книг
Please open Telegram to view this post
VIEW IN TELEGRAM
Ставь 👍 если знал ответ, 🔥 если нет
Please open Telegram to view this post
VIEW IN TELEGRAM
Что произойдет с
ArrayList
, если из него удалить почти все элементы?Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
==
для сравнения строкВ Java строки (
String
) — это объекты, а оператор ==
сравнивает ссылки, а не их содержимое. Это может привести к неожиданным ошибкам при сравнении строк, особенно если строки создаются динамически.equals()
, который сравнивает содержимое строк, а не ссылки.Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня мы рассмотрим обзор реального интервью на позицию Senior Java Developer.
Смотреть видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Вопросы с реального собеседования Senior Java Developer
Сегодня мы рассмотрим обзор реального интервью на позицию Senior Java Developer.
Поговорим о вопросах и ответах, а главное что из этого всего получилось.
Погнали!
Программа
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли…
Поговорим о вопросах и ответах, а главное что из этого всего получилось.
Погнали!
Программа
00:00 Приветствие
01:34 Введение
02:23 Разбор вопросов и ответов
03:10 Может ли…
Что такое "dependency hell", и как его избежать в Java-проектах?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Паттерн Посетитель (Visitor)
Visitor — это поведенческий паттерн, который позволяет добавлять новые операции к объектам без изменения их классов. Он выделяет операции в отдельный объект, называемый "посетитель", что позволяет избежать дублирования кода и поддерживать open/closed архитектуру.
Использование:
🟡 Когда нужно добавлять новые операции к иерархии классов без изменения их структуры.
🟡 Когда объектам требуется обработка, зависящая от их типов, но нежелательно добавлять логику внутрь самих классов.
Преимущества:
1️⃣ Упрощает добавление новых операций.
2️⃣ Логика работы концентрируется в одном месте, а не размазывается по классам.
3️⃣ Сохраняется открытость к изменениям операций и закрытость классов к модификациям.
Недостатки:
1️⃣ Увеличивает количество классов.
2️⃣ Добавление нового типа в иерархию требует обновления всех существующих посетителей.
3️⃣ Работает лучше всего с фиксированной иерархией.
📌 Visitor идеально подходит для сценариев, где требуется частое добавление новых операций при сохранении стабильности классов.
👉 Java Rocks #паттерны
Visitor — это поведенческий паттерн, который позволяет добавлять новые операции к объектам без изменения их классов. Он выделяет операции в отдельный объект, называемый "посетитель", что позволяет избежать дублирования кода и поддерживать open/closed архитектуру.
Использование:
Преимущества:
Недостатки:
Please open Telegram to view this post
VIEW IN TELEGRAM
❔ Вопрос с собеседования
Почему строка популярна в качестве ключа в HashMap?
Ответ:Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа System они будут обрабатываться быстрее.
👉 Java Rocks | #собеседование
Почему строка популярна в качестве ключа в HashMap?
Ответ:
👉 Java Rocks | #собеседование
Поддерживает ли Java множественное наследование классов?
Ответ:
Однако, множественное наследование можно реализовать с помощью интерфейсов – класс может одновременно имплементировать несколько интерфейсов, получая их сигнатуры методов без конкретной реализации.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Ответ:
1. Принимать параметры – через сигнатуру метода.
2. Иметь return – если должен возвращать значение.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML Embed Code: