ch
Feedback
Библиотека собеса по Java | вопросы с собеседований

Библиотека собеса по Java | вопросы с собеседований

前往频道在 Telegram

Вопросы с собеседований по Java и ответы на них. По рекламе: @proglib_adv Учиться у нас: clc.to/3wECtA Для обратной связи: @proglibrary_feeedback_bot

显示更多
6 465
订阅者
+124 小时
-47
-1430
帖子存档
Какие конечные методы работы со стримами вы знаете? Конечные (терминальные) методы в Stream API выполняют вычисления и завершают работу стрима. Среди них: ▪️ collect() – собирает элементы в коллекцию или другую структуру данных. ▪️ count() – возвращает количество элементов в стриме. ▪️ forEach() – выполняет действие для каждого элемента. ▪️ reduce() – сводит элементы к единственному значению. ▪️ toArray() – преобразует стрим в массив. ▪️ min() / max() – находят минимальный или максимальный элемент. ▪️ anyMatch() / allMatch() / noneMatch() – проверяют соответствие элементов предикату. ▪️ findFirst() / findAny() – находят первый или любой элемент.

Уже завтра собеседование на Middle Java с разработчиком из Oracle 5 февраля (уже завтра!) в 19:00 по мск приходи онлайн на от
Уже завтра собеседование на Middle Java с разработчиком из Oracle 5 февраля (уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 1. Алексей Ушаровский ведущий Java-разработчик c опытом работы в Oracle и Сбере будет задавать реальные вопросы и задачи разработчику-добровольцу 2. Алексей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 3. В конце можно будет задать любой вопрос Алексею Что узнаешь на прямом эфире от ШОРТКАТ: • Чего ждут от кандидатов на Middle позиции в Java-разработке • Какие вопросы задают на интервью и зачем • Как подготовиться к собесу, чтобы получить оффер Это бесплатно? Бесплатно Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwNi3PA

Что такое ссылка на метод? Ссылка на метод (Method Reference) — это упрощённая форма лямбда-выражения, используемая для передачи существующего метода в качестве аргумента. Она позволяет ссылаться на статические и нестатические методы классов, а также на конструкторы. 🔵 Форматы ссылок 1️⃣ ClassName::staticMethod — ссылка на статический метод. 2️⃣ object::instanceMethod — ссылка на метод конкретного объекта. 3️⃣ ClassName::new — ссылка на конструктор.

Что такое ООП? ООП (объектно-ориентированное программирование) — это парадигма программирования, которая основана на представлении программы как совокупности объектов, которые взаимодействуют между собой. Объекты имеют состояние (поля) и поведение (методы). 🔹 Основные принципы ООП: 1️⃣ Абстракциявыделение главных характеристик объекта, скрывая детали реализации 2️⃣ Инкапсуляциямеханизм ограничения доступа к внутреннему состоянию объекта и предоставления строго определённого интерфейса для работы с ним 3️⃣ Наследованиемеханизм, который позволяет одному классу получить свойства и поведение другого 4️⃣ Полиморфизмспособность объектов с одинаковым интерфейсом иметь разную реализацию

💬 Обратная связь Какие типы вопросов вам нравятся больше? 🔥 - Классические вопросы, которые часто спрашивают на собеседованиях 👍🏼 - Интересные и нетривиальные вопросы 😁 - Хотелось бы побольше практики

Что такое микросервисы? Микросервисы — это архитектурный стиль, при котором приложение разбивается на небольшие, независимые сервисы. Каждый сервис отвечает за определённую бизнес-логику, имеет собственную базу данных (или логически обособленное хранилище) и взаимодействует с другими сервисами через API (обычно REST или gRPC). 🔹 Ключевые принципыМожно обновлять и масштабировать отдельные сервисы без затрагивания всей системы.Каждый сервис выполняет свою узкую задачу.У сервиса свои изолированные данные, код и зависимости.Сервисы общаются через HTTP, AMQP, Kafka и другие механизмы.

Как между собой связаны Iterable, Iterator и цикл for-each? — Iterable<T> — это интерфейс, который должен реализовать класс, если он хочет поддерживать итерацию с помощью for-each. Он содержит один метод Iterator<T> iterator(). Этот метод возвращает Iterator, который и управляет обходом элементов. — Iterator<T> — это интерфейс, который используется для последовательного перебора элементов. Он определяет методы: boolean hasNext() — проверяет, есть ли следующий элемент T next() — возвращает следующий элемент void remove() — удаляет текущий элемент (необязательный) — Цикл for-each (enhanced for loop) — это синтаксический сахар, который автоматически использует Iterator внутри себя.

Почему Map — это не коллекция? ❌ Неверно: потому что так решили разработчики Java. ✔️ Правильный ответ: Map не наследует Collection, так как он оперирует парами "ключ-значение", а Collection — это набор отдельных элементов.

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

Что такое JPQL? JPQL (Java Persistence Query Language) — это язык запросов в JPA, который позволяет работать с сущностями, а не с таблицами базы данных. Он похож на SQL, но оперирует объектами и их полями, а не колонками и строками. 🔹 Пример запроса JPQL:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);
В этом запросе User — это сущность, а u.emailполе класса, а не колонка таблицы. 🔹 Основные особенности JPQL:Работает с классами сущностей (@Entity), а не с таблицами.Поддерживает вложенные запросы, JOIN, ORDER BY, GROUP BY, HAVING.Позволяет использовать именованные параметры (:paramName).Не зависит от конкретной реляционной базы данных.

Что такое NIO в Java? NIO (New Input/Output) — это API в Java для неблокирующего ввода-вывода, представленное в JDK 1.4. Оно предоставляет более эффективные и масштабируемые способы работы с файлами, сокетами и каналами. ▪️ Основные компоненты — Каналы (Channels): для чтения/записи данных. — Буферы (Buffers): для хранения данных вместо потоков. — Селекторы (Selectors): для обработки множества каналов одним потоком.

Какие типы связей поддерживает Hibernate? Hibernate поддерживает следующие типы связей между сущностями, которые соответствуют отношениям в реляционных базах данных: 🔹 One-to-One (Один-к-одному) Связь, где одна сущность связана с одной другой сущностью. Пример: пользователь и его профиль. 🔹 One-to-Many (Один-ко-многим) Связь, где одна сущность связана с несколькими другими. Пример: автор и его книги. 🔹 Many-to-One (Многие-к-одному) Обратное к One-to-Many. Несколько сущностей связаны с одной. Пример: заказы, относящиеся к одному клиенту. 🔹 Many-to-Many (Многие-ко-многим) Связь, где множество объектов одной сущности связано с множеством объектов другой. Пример: студенты и курсы. Для каждой связи Hibernate предоставляет аннотации, такие как @OneToOne, @OneToMany, @ManyToOne, и @ManyToMany.

💬 Обратная связь Основная часть ответа прячется под спойлер. Ваше мнение об этом? 🔥 - Всё супер, интересно самому подумать 👍🏼 - Идея хорошая, но лучше чуть меньше скрывать 😁 - Хочу сразу ответ. Я что, учиться сюда пришел?

Что такое Isolation в Spring? Isolation — это параметр аннотации @Transactional, который определяет, как текущая транзакция взаимодействует с другими при конкурентном доступе к данным. С помощью этой настройки можно управлять видимостью изменений, сделанных другими транзакциями, и защититься от ошибок, таких как dirty reads, non-repeatable reads и phantom reads. 🔹 Уровни изоляции:DEFAULT (по умолчанию): используется уровень изоляции, заданный в базе данных.READ_UNCOMMITTED: транзакция может видеть несохранённые изменения других транзакций (может возникнуть dirty read).READ_COMMITTED: транзакция видит только сохранённые изменения других транзакций (исключает dirty read).REPEATABLE_READ: данные, прочитанные транзакцией, остаются неизменными на протяжении всей её работы (исключает dirty read и non-repeatable read).SERIALIZABLE: самый строгий уровень, который блокирует доступ к данным для других транзакций до завершения текущей (исключает dirty read, non-repeatable read, и phantom read). 🔹 Проблемы конкурентного доступа:Dirty Read: одна транзакция видит несохранённые изменения другой.Non-Repeatable Read: данные, прочитанные в одной транзакции, могут измениться другой.Phantom Read: изменения набора строк, видимого в запросе, из-за вставки или удаления строк другой транзакцией.

Что такое Session Scope в Spring? Session Scope — это область видимости (scope) бина, при которой один экземпляр бина создается и используется в рамках конкретной HTTP-сессии. Для настройки используется аннотация @Scope("session"). Зачем нужен? ▪️ Полезен для хранения данных, которые должны сохраняться на протяжении всей сессии пользователя, например, данные авторизации или корзина покупок. ▪️ Упрощает управление состоянием для каждого пользователя, избегая конфликта данных между различными сессиями.

Хочешь уверенно проходить IT-интервью? Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще. 💡 Почему Т1 тренажёр — это мастхэв? • Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше. • Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!". • Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях. Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но обещаем, что будешь готов! Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy #Айти #Собеседование #Т1

Что такое нагрузочное тестирование? Нагрузочное тестирование (Load Testing) — это тип тестирования, цель которого проверить, как приложение или система ведет себя под ожидаемой нагрузкой. Оно помогает выявить узкие места производительности, такие как задержки, сбои или падения производительности при увеличении количества пользователей или запросов. Ключевые аспекты:Обнаружение "узких мест" в системе.Прогнозирование производительности при увеличении масштабов.Улучшение пользовательского опыта.

Что такое Tomcat? Apache Tomcat — это легковесный сервер приложений (application server), разработанный для запуска Java-приложений, которые используют технологии Java Servlet, JSP и WebSocket. Основные особенности Tomcat:Реализация спецификаций сервлетов и JSP, предоставляемых Java EE.Поддержка HTTP/1.1, WebSocket и других протоколов для веб-приложений.Используется для разработки и тестирования веб-приложений на Java.

👀 Задача: проверка на палиндром (junior) Дана строка, нужно определить, является ли она палиндромом. Палиндром — это строка,
👀 Задача: проверка на палиндром (junior) Дана строка, нужно определить, является ли она палиндромом. Палиндром — это строка, которая читается одинаково слева направо и справа налево. Пробелы, знаки препинания и регистр букв при этом не учитываются. 💡 Ключевые моменты: — Необходимо учитывать только буквенные символы, игнорируя пробелы и знаки препинания. — Сравнение должно быть нечувствительным к регистру. ▪️ Решение: Эффективное реализация может включать два указателя, движущихся навстречу друг другу от начала и конца строки. Реализация на картинке 👆🏻

Назовите некоторые из шаблонов проектирования, используемых в Spring Framework?Dependency Injection (DI): основной шаблон, позволяющий управлять зависимостями объектов через контейнер IoC. — Singleton: контейнер Spring по умолчанию создает бины как singleton.Factory Method: используется для создания объектов через конфигурационные файлы или аннотации. — Proxy: применяется в механизмах AOP и транзакционного управления для оборачивания методов в дополнительные функциональности.Template Method: например, в JdbcTemplate и RestTemplate для инкапсуляции повторяющегося кода. — Observer: в Event Listener’ах Spring для реализации подписки и обработки событий. Пишите, какие ещё вы знаете.