Java собеседования
665 subscribers
106 photos
224 links
Подготовка к собеседованиям на позицию Java-разработчик

Еще больше на сайте https://frontview-it.ru

Backend собеседования - @frontview_backend
Java работа - @frontview_java_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
Ключевое слово private используется для ограничения доступа к полям и методам класса, делая их доступными только внутри самого класса. Это способствует инкапсуляции, защищая внутреннее состояние объекта от внешнего вмешательства и обеспечивая контроль над изменениями данных.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
➡️ Оператор == используется для сравнения примитивных типов данных на равенство. Он проверяет, равны ли значения двух переменных.

int a = 5;
int b = 5;
boolean result = (a == b); // true, так как значения равны


➡️ Оператор != проверяет на неравенство значений двух переменных.

int a = 5;
int b = 10;
boolean result = (a != b); // true, так как значения не равны


⚠️Для объектов == и != сравнивают ссылки, а не содержимое. Для сравнения содержимого объектов следует использовать метод equals().

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
Heap — это область памяти, используемая для динамического распределения памяти, где хранятся объекты и классы, которые создаются во время выполнения программы. Управление памятью в heap осуществляется сборщиком мусора, который автоматически освобождает память, занятую объектами, которые больше не используются.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
📎 HashMap — это структура данных в Java, реализующая интерфейс Map. Она хранит пары "ключ-значение" и обеспечивает быстрый доступ к значениям по ключам.

Основы работы:

HashMap использует хеширование для вычисления индекса, по которому хранится пара "ключ-значение". Метод hashCode() ключа определяет этот индекс. При коллизиях (когда два ключа имеют одинаковый хеш) используется связанный список или дерево для хранения нескольких пар в одном индексе.

Пример использования:

import java.util.HashMap;

public class Example {
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<>();

// Добавление элементов
map.put("Alice", 30);
map.put("Bob", 25);

// Получение значения по ключу
int age = map.get("Alice"); // age: 30

// Проверка наличия ключа
boolean hasBob = map.containsKey("Bob"); // true
}
}


Особенности:

HashMap допускает null в качестве ключей и значений, не гарантирует порядок элементов и обеспечивает амортизированную сложность операций O(1).

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
Поток — это отдельная последовательность выполнения в программе, которая позволяет выполнять несколько операций одновременно, улучшая производительность и отзывчивость приложения. Потоки управляются с помощью класса Thread или интерфейса Runnable, и их использование требует внимательного управления ресурсами и синхронизации для предотвращения состояния гонки и взаимоблокировок.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
🟠 throw и throws используются для обработки исключений, но выполняют разные функции.

🟢 throw используется для явного выбрасывания исключения в коде. Оно создаёт экземпляр исключения и передаёт его в стек вызовов, чтобы обработать ошибку.

if (value < 0) {
throw new IllegalArgumentException("Value must be positive");
}


🟠 throws указывается в сигнатуре метода и сообщает, что метод может выбросить исключение. Это предупреждает вызывающий код о необходимости обработки исключения.

public void readFile(String fileName) throws IOException {
// код, который может вызвать IOException
}


🟢 throw инициирует исключение, а throws декларирует возможность его возникновения.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
JUnit — это популярный фреймворк для модульного тестирования в Java, который позволяет писать и выполнять тесты для проверки корректности работы кода. Он используется для автоматизации тестирования, повышения надежности приложений и облегчения процесса рефакторинга.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
💡 Сборка мусора (Garbage Collection) — это автоматический процесс управления памятью, который освобождает память, занятую объектами, которые больше не используются в программе. Это помогает предотвратить утечки памяти и оптимизировать использование ресурсов.

Java Virtual Machine (JVM) отслеживает объекты и определяет, какие из них недоступны для программы. Когда объект становится недоступным, сборщик мусора освобождает его память, делая её доступной для новых объектов.

Сборка мусора упрощает управление памятью, позволяя сосредоточиться на логике приложения, а не на ручном управлении памятью.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
Композиция в ООП — это принцип, при котором один объект содержит ссылки на другие объекты, что позволяет строить сложные структуры из простых компонентов. Композиция используется для создания гибких и легко расширяемых систем, где изменения в одном компоненте минимально влияют на другие.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
😎Функциональные интерфейсы в Java — это интерфейсы с единственным абстрактным методом. Они используются в лямбда-выражениях и методах-референсах.

😎Аннотация @FunctionalInterface помогает обозначить такие интерфейсы и предотвращает добавление новых методов.

@FunctionalInterface
interface Calculator {
int calculate(int a, int b);
}

// Использование лямбда-выражения
Calculator sum = (a, b) -> a + b;
System.out.println(sum.calculate(5, 3)); // Вывод: 8


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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
Поток можно создать, реализовав интерфейс Runnable и передав его экземпляр в объект Thread, либо расширив класс Thread и переопределив метод run(). После создания объекта потока, его выполнение начинается вызовом метода start().

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
👉 Queue и Deque — это интерфейсы, представляющие коллекции, работающие по принципу очереди.

🔸Queue реализует структуру данных "первый вошел, первый вышел" (FIFO), где элементы добавляются в конец и удаляются из начала. Она используется для управления задачами в порядке их поступления.

🔸Deque (двусторонняя очередь) расширяет возможности Queue, позволяя добавлять и удалять элементы с обоих концов. Это обеспечивает гибкость в реализации различных алгоритмов, таких как стек (LIFO) и очередь (FIFO).

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1
Hibernate — это фреймворк для объектно-реляционного отображения (ORM) в Java, который облегчает взаимодействие между объектами Java и реляционными базами данных. Он автоматизирует преобразование данных между несовместимыми типами систем, позволяя разработчикам работать с базами данных, используя объектно-ориентированный подход.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134
Ключевое слово public используется для определения уровня доступа классов, методов и переменных. Оно делает элемент доступным из любого другого класса, что позволяет использовать его в различных частях программы.


// Определение публичного класса
public class Car {
// Публичное поле
public String model;

// Публичный метод
public void displayModel() {
System.out.println("Model: " + model);
}
}


Использование public обеспечивает максимальную видимость, что полезно для API и библиотек, но требует осторожности для поддержания инкапсуляции.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
Float и double — это типы данных с плавающей точкой, где float занимает 4 байта памяти и имеет точность около 7 десятичных цифр, а double занимает 8 байт и обеспечивает точность около 15 десятичных цифр. Double предпочтителен для более точных вычислений, в то время как float может использоваться для экономии памяти в больших массивах.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
🔥 Класс — это шаблон или "чертеж" для создания объектов. Он определяет свойства (поля) и поведение (методы), которые будут у объектов, созданных на его основе. Классы позволяют организовать код, делая его более читаемым и поддерживаемым.


public class Car {
// Поля класса
private String model;
private int year;

// Конструктор класса
public Car(String model, int year) {
this.model = model;
this.year = year;
}

// Метод класса
public void displayInfo() {
System.out.println("Модель: " + model + ", Год: " + year);
}
}


🔴 Классы являются основой объектно-ориентированного программирования, позволяя инкапсулировать данные и методы.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍6
ORM (Object-Relational Mapping) — это техника, позволяющая взаимодействовать с базами данных, используя объектно-ориентированные принципы, вместо написания SQL-запросов. Hibernate реализует ORM, автоматически сопоставляя классы Java с таблицами базы данных, что упрощает управление данными и повышает абстракцию.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
🔥 this — это ключевое слово, которое ссылается на текущий объект, в контексте которого выполняется метод или конструктор. Оно используется для различения полей класса от параметров метода или конструктора, когда их имена совпадают.


public class Example {
private int value;

public Example(int value) {
this.value = value; // 'this.value' — поле класса, 'value' — параметр конструктора
}

public void setValue(int value) {
this.value = value; // 'this.value' — поле класса, 'value' — параметр метода
}
}


this также может быть использовано для вызова других конструкторов в том же классе.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥31
Maven — это инструмент для управления проектами и автоматизации сборки в Java, который упрощает процесс управления зависимостями и конфигурацией проекта. Он используется для стандартизации процесса сборки, управления библиотеками и плагинами, а также для упрощения интеграции с системами контроля версий и CI/CD.

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
▶️ Метод filter используется для обработки потоков данных, позволяя отфильтровать элементы на основе заданного условия, возвращая новый поток только с теми элементами, которые удовлетворяют этому условию. Он часто применяется в сочетании с лямбда-выражениями для повышения читаемости и лаконичности кода.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ Java собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1