Java | Вопросы собесов
11.3K subscribers
36 photos
4 videos
1.64K links
Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy

Контакт для рекламы: @sendme_ads
Download Telegram
🤔 Какие шаги нужно выполнить для прочтения текстового файла?

Для прочтения текстового файла в Java нужно выполнить несколько шагов.

1⃣Выбор метода чтения файла
В Java есть несколько способов читать текстовые файлы:
1. Использование класса FileReader.
2. Использование BufferedReader для построчного чтения.
3. Использование java.nio.file.Files для чтения всех строк файла.
4. Применение Scanner для гибкого чтения данных.

2⃣Открытие файла
Нужно указать путь к файлу (абсолютный или относительный) и передать его в выбранный класс. Например:
FileReader reader = new FileReader("file.txt");


3⃣Чтение данных
Выберите подходящий метод для обработки содержимого файла:
- Построчное чтение.
- Чтение символов.
- Чтение всех строк сразу (например, через Files.readAllLines).

4⃣Закрытие ресурса
Для освобождения системных ресурсов после работы с файлом нужно закрыть поток. Это делается вручную или с помощью конструкции try-with-resources.

🚩Примеры реализации

Построчное чтение с BufferedReader
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReadExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line); // Вывод строки
}
} catch (IOException e) {
System.out.println("Ошибка: " + e.getMessage());
}
}
}


Чтение файла с помощью Files
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.List;

public class FileReadExample {
public static void main(String[] args) {
try {
List<String> lines = Files.readAllLines(Paths.get("file.txt"));
for (String line : lines) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("Ошибка: " + e.getMessage());
}
}
}


Чтение через Scanner
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileReadExample {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(new File("file.txt"))) {
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine()); // Построчное чтение
}
} catch (FileNotFoundException e) {
System.out.println("Файл не найден: " + e.getMessage());
}
}
}


Ставь 👍 и забирай 📚 Базу знаний
👍6
🤔 Для чего нужно final для статического метода?

Ключевое слово final у статического метода:
- запрещает переопределение метода в подклассах.
- Хотя статические методы не переопределяются как виртуальные, их можно скрыть (hide), и final предотвращает даже это.
- Это способ защитить реализацию от изменения в иерархии.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
🔥10👍3
🤔 К какому принципу ООП относится переопределение методов?

Переопределение методов (Method Overriding) относится к полиморфизму – одному из ключевых принципов ООП.

🚩Как работает переопределение (`@Override`)?

Переопределение (Overriding) – это когда подкласс изменяет поведение метода родительского класса.
class Animal {
void makeSound() {
System.out.println("Какое-то животное издаёт звук");
}
}

class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Гав-гав!");
}
}

class Cat extends Animal {
@Override
void makeSound() {
System.out.println("Мяу!");
}
}


Используем полиморфизм
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Dog(); // Полиморфизм
myAnimal.makeSound(); // Выведет "Гав-гав!"
}
}



🚩Переопределение = полиморфизм времени выполнения (Runtime Polymorphism)

Перегрузка (Overloading) – полиморфизм времени компиляции (Compile-time).
Переопределение (Overriding) – полиморфизм времени выполнения (Runtime).

🚩Когда нужно переопределять методы?

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

Ставь 👍 и забирай 📚 Базу знаний
👍8
🤔 Какая сложность вставки элемента в LinkedList?

- O(1) — если вставка происходит в начало или конец (через указатель);
- O(n) — если нужно найти позицию по индексу, т.к. происходит линейный проход.
Физическая вставка — быстрая, но поиск позиции может быть медленным.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
👍9🔥1
🔥 Скрытые вакансии с удаленной работой для Java разработчика, которые нигде больше не публикуются. Напрямую от компаний, с контактами рекрутеров.

🔹 Java Jobs | Вакансии

🔸 Все каналы с вакансиями
🤔 К какой категории сущности относится Primary Key?

Primary Key (первичный ключ) в базах данных относится к категории ограничений (constraints). Это специальное ограничение, которое накладывается на столбец или группу столбцов таблицы, чтобы однозначно идентифицировать каждую строку (запись) в таблице.

🚩Основные свойства Primary Key

🟠Уникальность
Значение первичного ключа должно быть уникальным для каждой строки. Это исключает дублирование записей.
🟠Не может быть NULL
Столбец (или столбцы), определённый как Primary Key, не допускает значения NULL, так как NULL не может однозначно идентифицировать строку.
🟠Только один Primary Key на таблицу
Таблица может иметь только один первичный ключ, но он может состоять из одного столбца (простой ключ) или нескольких (составной ключ).

🚩Зачем нужен Primary Key?

Для однозначной идентификации записей в таблице.
Для создания связей между таблицами в реляционных базах данных (внешние ключи ссылаются на первичный ключ другой таблицы).
Для ускорения поиска и манипуляций с данными за счёт создания индекса на столбец первичного ключа.

🚩Пример использования Primary Key

Простой первичный ключ
CREATE TABLE Users (
user_id INT PRIMARY KEY,
username VARCHAR(50),
email VARCHAR(100)
);


Составной первичный ключ
CREATE TABLE Orders (
order_id INT,
product_id INT,
PRIMARY KEY (order_id, product_id)
);


Ставь 👍 и забирай 📚 Базу знаний
👍5💊1
🤔 Может ли Entity-класс быть абстрактным?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
👍3🔥2🤔1💊1
🤔 Что такое поток "демон"?

Демон-поток — это поток, который:
- Работает на фоне (например, сборщик мусора).
- Завершается автоматически, когда все обычные (non-daemon) потоки завершены.
- Устанавливается через setDaemon(true) до старта.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
👍5🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 В чём различие между LeftJoin , RightJoin и InnerJoin?

LEFT JOIN, RIGHT JOIN и INNER JOIN являются операциями соединения таблиц, каждая из которых используется для объединения строк из двух или более таблиц на основе связанных столбцов между ними. Различие между этими типами соединений заключается в том, какие строки выбираются для включения в результаты запроса.

🚩INNER JOIN

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

🚩LEFT JOIN (или LEFT OUTER JOIN)

Возвращает все строки из левой таблицы (ТаблицаA), а также соответствующие строки из правой таблицы (ТаблицаB). Если совпадение в правой таблице не найдено, результат будет содержать NULL на месте столбцов правой таблицы.

🚩RIGHT JOIN (или RIGHT OUTER JOIN)

Работает аналогично LEFT JOIN, но возвращает все строки из правой таблицы (ТаблицаB), а также соответствующие строки из левой таблицы (ТаблицаA). Если совпадение в левой таблице не найдено, результат будет содержать NULL на месте столбцов левой таблицы.

INNER JOIN используется для получения строк с совпадениями в обеих таблицах.
LEFT JOIN возвращает все строки из левой таблицы и соответствующие строки из правой таблицы; если соответствий нет, вместо столбцов правой таблицы будут NULL.
RIGHT JOIN возвращает все строки из правой таблицы и соответствующие строки из левой таблицы; если соответствий нет, вместо столбцов левой таблицы будут NULL.

Ставь 👍 и забирай 📚 Базу знаний
👍3
🤔 Что такое «HTML»?

HTML (HyperText Markup Language) — это язык разметки, используемый для создания структуры веб-страниц, включая текст, изображения, ссылки и другие элементы контента.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
👍2🔥1