uz
Feedback
Java | Вопросы собесов

Java | Вопросы собесов

Kanalga Telegram’da o‘tish

📈 Telegram kanali Java | Вопросы собесов analitikasi

Java | Вопросы собесов (@easy_java_ru) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 11 458 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 10 894-o'rinni va Rossiya mintaqasida 57 468-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 11 458 obunachiga ega bo‘ldi.

10 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 10 ga, so‘nggi 24 soatda esa 2 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 10.71% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 7.28% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 1 227 marta ko‘riladi; birinchi sutkada odatda 834 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 6 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent ставь, void, string, строка, static kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+icUwivvbGOkwNWRi Задачи t.me/+8eqUTboisnkyZjQy Вакансии t.me/+4pspF5nDjgM4MjQy

Yuqori yangilanish chastotasi (oxirgi ma’lumot 11 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

11 458
Obunachilar
+224 soatlar
+77 kunlar
+1030 kunlar
Postlar arxiv
🤔 Что такое URL Rewriting? Метод управления сессиями в веб-приложениях, при котором информация о сессии добавляется непосредственно в URL запросов. Этот метод используется, когда браузеры не поддерживают cookies или cookies отключены. 🚩Как это работает: 🟠Добавление идентификатора сессии к URL: При каждом запросе идентификатор сессии добавляется к URL в виде параметра. 🟠Обновление всех ссылок и форм: Все ссылки и формы на странице должны быть изменены так, чтобы включать идентификатор сессии. 🚩Использования URL Rewriting в сервлетах: Метод `encodeURL()`: Используется для добавления идентификатора сессии к URL.
String url = response.encodeURL("http://example.com/resource");
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class URLRewritingServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();
        session.setAttribute("user", "John Doe");

        String url = response.encodeURL("nextPage.jsp");
        response.setContentType("text/html");
        response.getWriter().println("<a href=\"" + url + "\">Next Page</a>");
    }
}
🚩Основные моменты: 🟠Сохранение идентификатора сессии: Идентификатор сессии передается как параметр URL, например: http://example.com/resource;jsessionid=1234567890. 🟠Безопасность: URL Rewriting менее безопасен по сравнению с cookies, так как идентификатор сессии виден в URL и может быть легко скопирован. Плюсы Работает без cookies: Подходит для браузеров, где cookies отключены или не поддерживаются. Минусы: Безопасность: Идентификатор сессии виден в URL, что делает его более уязвимым к кражам. Удобство использования: Требуется обновление всех ссылок и форм на странице для включения идентификатора сессии. Ставь 👍 и забирай 📚 Базу знаний

❗️Страх обосраться это нормально❗️
Я уже устал.. долго учу Java, но так и не начал ходить по собесам
Узнаешь себя? Наш знакомый эксперт в Java - Павел Сорокин, разобрал самые частые вопросы с которыми к нему обращаются люди на консультациях👇 1️⃣ Постоянно кажется, что я не готов. Процесс обучения длится уже больше 1.5 года, начинаю забывать основы, которые учил в начале. При обучении одна из самых больших ошибок - это распыление фокуса. Определяешь просто частые технологии и вопросы, которые задают на собесах и идешь строго по ним, не распыляясь писал об этом тут. Первые собесы - тренировочные. Можете от них вообще не ожидать никаких результатов, не надеятся - это ТРЕНИРОВКА. Страх будет всегда, его просто нужно принять и идти дальше. Страх возникает из-за неизвестности, неодобрения со стороны других. Даже если вы провалите собес, что самое плохое случится? Вас не убьют, ничего с вами не сделают, вы и также будете сидеть в своем уютном доме. Любой страх уничтожается действием. 2️⃣ Не понимаю насколько глубоко нужно изучать технологию Каждую технологию необходимо понимать ровно настолько, насколько она необходима тебе. Если работаешь с БД и нет каких-то больших нагрузок, то нет смысла углубляться устройство БД. Не нужно знать как Spring устроен под капотом для того, чтобы найти работу. Рациональный подход - просто учить минимальный достаточный набор и улучшать его по пути. 3️⃣ Конкуренция большая, на собеседования невозможно пробиться Конкуренции на самом деле не существует. Если ты обходишь своих конкурентов по резюме/софт-скиллам/хард-скиллам, то для тебя нет конкуренции, когда ты лучше всех. Единственное, что остается - обойти всех. О двух действенных способах пройти на собес рассказал в полной версии поста ‼️ В своем канале Паша дает много информации по вкату и развитию в Java, можно начать ознакомление с его каналом с этого поста с разбором базовых вопросов на собеседованиях. Также у Паши есть отличные бесплатные видео-материалы - полный гайд по Java Core и Многопоточке и реальное успешное собеседование на Junior Java. Можете забрать их в его боте.

🤔 Что такое Vector в Java?
Anonymous voting

🤔 Какие методы для работы с cookies предусмотрены в сервлетах? 🚩Методы для работы с cookies в сервлетах: 🟠Класс HttpServletRequest `getCookies()`: Возвращает массив всех cookies, отправленных с текущим запросом.
Cookie[] cookies = request.getCookies();
🟠Класс HttpServletResponse:`addCookie(Cookie cookie)`: Добавляет указанную cookie в ответ сервлета.
Cookie cookie = new Cookie("name", "value");
response.addCookie(cookie);
🚩Основные методы класса `Cookie`: 🟠Конструктор:
Cookie cookie = new Cookie("name", "value");
🟠`setMaxAge(int expiry)`: Устанавливает время жизни cookie в секундах.
cookie.setMaxAge(60 * 60 * 24); // 1 день
🟠`setPath(String uri)`: Устанавливает путь, для которого cookie действительна.
cookie.setPath("/app");
🟠`setDomain(String domain)`: Устанавливает домен, для которого cookie действительна.
cookie.setDomain(".example.com");
🟠`setSecure(boolean flag)`: Устанавливает флаг secure для HTTPS.
cookie.setSecure(true);
🟠`setHttpOnly(boolean isHttpOnly)`: Устанавливает флаг HttpOnly для защиты от доступа через JavaScript.
cookie.setHttpOnly(true);
🚩Примеры: 🟠Установка cookie:
Cookie cookie = new Cookie("username", "JohnDoe");
cookie.setMaxAge(60 * 60 * 24); // 1 день
response.addCookie(cookie);
🟠Получение cookie:
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
    if ("username".equals(cookie.getName())) {
        String username = cookie.getValue();
    }
}
Ставь 👍 и забирай 📚 Базу знаний

😒 На одном Java уже давно не вывезешь, перспектива 2024 года - Информационная Безопасность Ловите два канала на тему ИБ и ха
😒 На одном Java уже давно не вывезешь, перспектива 2024 года - Информационная Безопасность Ловите два канала на тему ИБ и хакинга ZeroDay - Уроки по кибербезопасности и хакингу с нуля. Вирусы, взломы, OSINT, криптография и свежие новости Белый Хакер - программное обеспечение, утилиты, OSINT, инструменты, полезная литература и много другое. Совершенно новый формат непохожий на другие каналы.

🤔 В чем разница между классами java.util.Collection и java.util.Collections?
Anonymous voting

🤔 Что такое cookies? Cookies — это небольшие фрагменты данных, которые сервер сохраняет на устройстве пользователя и отправляет обратно серверу при последующих запросах. Они используются для хранения информации о состоянии сеанса, персонализации и отслеживания пользователей. 🚩Пример создания и получения cookies в Java: Установка cookie:
Cookie cookie = new Cookie("username", "JohnDoe");
cookie.setMaxAge(60 * 60 * 24); // 1 день
response.addCookie(cookie);
Получение cookie:
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
    if ("username".equals(cookie.getName())) {
        String username = cookie.getValue();
        // Использование cookie
    }
}
Ставь 👍 и забирай 📚 Базу знаний

🤔 Почему именно Java?
Anonymous voting

🤔 Какие различные методы управления сессией в сервлетах знаешь? В Java сервлетах существует несколько методов управления сессиями, которые позволяют сохранять и отслеживать состояние пользователя между запросами. Вот основные методы: 🟠HTTP сессии (HttpSession): Использует объект HttpSession для хранения информации о сессии на стороне сервера. Создание и получение сессии:
HttpSession session = request.getSession();
Получение существующей сессии или создание новой:
HttpSession session = request.getSession(true);
Получение существующей сессии, если она есть, иначе возвращает null:
HttpSession session = request.getSession(false);
Сохранение данных в сессии:
session.setAttribute("user", "John Doe");
Получение данных из сессии:
String user = (String) session.getAttribute("user");
Удаление данных из сессии:
session.removeAttribute("user");
Завершение сессии:
session.invalidate();
🟠Cookies (Куки): Использует HTTP cookies для сохранения информации на стороне клиента. Создание куки:
Cookie userCookie = new Cookie("user", "John Doe");
response.addCookie(userCookie);
Получение куки из запроса:
Cookie[] cookies = request.getCookies();
  if (cookies != null) {
      for (Cookie cookie : cookies) {
          if ("user".equals(cookie.getName())) {
              String user = cookie.getValue();
              // Использование куки
          }
      }
  }
🟠URL Rewriting (Переписывание URL): Добавление идентификатора сессии в URL для отслеживания сессии без использования cookies. Добавление идентификатора сессии в URL:
String url = response.encodeURL("http://example.com/resource");
response.sendRedirect(url);
🟠Hidden Form Fields (Скрытые поля формы): Использование скрытых полей формы для передачи информации о сессии между запросами.
<form action="nextServlet" method="post">
  <input type="hidden" name="sessionId" value="12345">
  <input type="submit" value="Submit">
</form>
🟠URL Parameters (Параметры URL): Передача информации о сессии через параметры URL.
html
<a href="nextServlet?sessionId=12345">Next Page</a>
java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class SessionServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(); session.setAttribute("user", "John Doe"); String user = (String) session.getAttribute("user"); response.getWriter().println("User: " + user); } } Ставь 👍 и забирай 📚 Базу знаний

Cамый простой способ изучить Java — залезть в голову профи Один из лучших айтишников России учит базе кодинга в Telegram. Даже гуманитарий поймёт, как создавать приложения, сайты, игры и чат-боты. Достаточно подписаться на «Секреты Java», где каждый день появляются гайды, готовые примеры кода и лучших практик. И всё это бесплатно — вместо сотен тысяч рублей за курсы. Стартовать в прибыльной профессии с нуля вы сможете гораздо проще! Теперь обучиться Java может каждый: @java_secrets

🤔 Какой тип коллекции допускает хранение элементов в порядке FIFO?
Anonymous voting

🤔 Что означает URL encoding, как это осуществить в Java? URL encoding (кодирование URL) используется для преобразования символов в URL, которые не допускаются или имеют специальное значение, в соответствующие процентные представления. Это необходимо для правильной передачи данных через URL. Основные аспекты URL encoding: Назначение: 🟠Обеспечение корректной передачи данных в URL. 🟠Преобразование специальных символов (например, пробелов, &, ?, =) в их эквиваленты в формате %XX, где XX — это шестнадцатеричное значение байта. Когда это необходимо: 🟠При передаче данных в строке запроса URL (например, параметры GET). 🟠При передаче данных в пути URL, чтобы избежать интерпретации специальных символов как частей URL. Пример: 🟠Пробелы заменяются на %20. 🟠Символы &, ?, = и другие заменяются на %26, %3F, %3D соответственно. В Java для кодирования URL используется класс URLEncoder и метод encode(). Этот метод принимает строку и кодировку, которую нужно использовать (например, UTF-8), и возвращает закодированную строку.
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class URLEncoderExample {
    public static void main(String[] args) {
        try {
            String originalString = "Hello World! This is a test: & = ?";
            String encodedString = URLEncoder.encode(originalString, "UTF-8");
            System.out.println("Original: " + originalString);
            System.out.println("Encoded: " + encodedString);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
}
Original: Hello World! This is a test: & = ?
Encoded: Hello+World%21+This+is+a+test%3A+%26+%3D+%3F
Для расшифровки (декодирования) URL в Java используется класс URLDecoder и метод decode().
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class URLDecoderExample {
    public static void main(String[] args) {
        try {
            String encodedString = "Hello+World%21+This+is+a+test%3A+%26+%3D+%3F";
            String decodedString = URLDecoder.decode(encodedString, "UTF-8");
            System.out.println("Encoded: " + encodedString);
            System.out.println("Decoded: " + decodedString);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
}
Encoded: Hello+World%21+This+is+a+test%3A+%26+%3D+%3F
Decoded: Hello World! This is a test: & = ?
Ставь 👍 и забирай 📚 Базу знаний

❓Что выведет код на изображении выше? «Java в тестах» покажет тебе на сколько хорошо на самом деле ты знаешь Java. Ежедневные
❓Что выведет код на изображении выше? «Java в тестах» покажет тебе на сколько хорошо на самом деле ты знаешь Java. Ежедневные тесты по Java Core и Spring, которые публикуют в канале можно спокойно использовать в том числе для подготовки к сертификации по: ▫️OCA / OCP экзаменам от Oracle ▫️Сертификации по Spring от VMWare. Или просто когда скучно на перерыве за кофе) Подключайся и стань настоящим профессионалом Java 👉 @java_in_quizes

🤔 Какие элементы из функционального программирования появились в Java 8?
Anonymous voting

🤔 Расскажите об интерфейсе SingleThreadModel? Интерфейс SingleThreadModel был частью Java Servlet API и предназначался для гарантии того, что каждый экземпляр сервлета будет обрабатывать только один запрос за раз. Однако, этот интерфейс устарел начиная с Servlet API версии 2.4 и был официально удален в Servlet API версии 3.0 из-за ряда причин и недостатков. 🚩Основные аспекты `SingleThreadModel`: 🟠Обеспечение потокобезопасности: Интерфейс гарантировал, что один и тот же объект сервлета не будет использоваться несколькими потоками одновременно. 🟠Модель одного потока: При использовании SingleThreadModel, сервер мог создать несколько экземпляров сервлета, чтобы обрабатывать параллельные запросы, либо использовать очереди запросов для одного экземпляра. Реализация интерфейса:
     public class MyServlet extends HttpServlet implements SingleThreadModel {
         // Реализация методов сервлета
     }
Недостатки: 🟠Производительность: Создание нескольких экземпляров сервлета увеличивало нагрузку на память и ресурсы сервера. 🟠Неэффективность: Модель не решала все проблемы потокобезопасности, так как атрибуты сессии и контекста оставались уязвимыми. 🟠Сложность управления: Сложно было управлять состоянием сервлета и его ресурсами при большом количестве запросов. Альтернативы и современные подходы: 🟠Синхронизация кода: Использование ключевого слова synchronized и других средств синхронизации для обеспечения потокобезопасности в критических секциях кода. 🟠Пулы потоков: Современные сервлет-контейнеры используют пулы потоков для обработки запросов, что эффективно распределяет нагрузку. 🟠Безопасные структуры данных: Использование потокобезопасных коллекций и других структур данных из пакета java.util.concurrent. Синхронизации:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SafeServlet extends HttpServlet {
    private int counter = 0;

    @Override
    protected synchronized void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        counter++;
        response.getWriter().println("Counter: " + counter);
    }
}
Ставь 👍 и забирай 📚 Базу знаний

Ежедневные порции Java-фишек, полезные советы и трюки от опытных разработчиков. 👉🏼 Присоединиться
Ежедневные порции Java-фишек, полезные советы и трюки от опытных разработчиков. 👉🏼 Присоединиться

🤔 Что такое модель памяти в Java (Java Memory Model, JMM)?
Anonymous voting

😮 Добавлена новая база слитых курсов на 800ГБ: Python: https://t.me/+QPSH2IcGu4w5ODky Frontend и Web: https://t.me/+MiJVQSyUlDNjODky Программирование: https://t.me/+opj2LZT23ddiZDli Графика и дизайн: https://t.me/+vrZ8dhdUEXM3YmQy

Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как
Запустите рекламу в телеграм-каналах с Яндекс Директом Перфоманс-реклама теперь в телеграм-каналах ⚡ Яндекс Директ знает, как привлечь целевую аудиторию 💰👌 Попробовать #реклама yandex.ru О рекламодателе

📌 Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream? 💬 Спрашивают в 6 % собеседований Нет, одновременно использовать PrintWriter и ServletOutputStream в одном сервлете нельзя. Это связано с тем, что эти два класса работают с разными типами данных и открывают ответный поток в разных режимах — PrintWriter для символьных данных, а ServletOutputStream для байтовых данных. 🤔 Почему нельзя использовать одновременно: 1️⃣ Типы потоков:`PrintWriter`: Предназначен для записи текстовых данных (символов и строк). ➕ `ServletOutputStream`: Предназначен для записи бинарных данных (байтов и массивов байтов). 2️⃣ Конфликт потоков: ➕ Открытие одного потока блокирует возможность открытия другого. Попытка использования обоих потоков в одном запросе приведет к исключению IllegalStateException. 🤔 Пример неправильного использования:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import javax.servlet.ServletOutputStream;

public class MixedContentServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter writer = response.getWriter();
        ServletOutputStream outputStream = response.getOutputStream(); // Это вызовет IllegalStateException

        writer.println("Hello, World!"); // Пытаемся записать текст
        byte[] imageData = ...; // Получаем бинарные данные
        outputStream.write(imageData); // Пытаемся записать бинарные данные
    }
}
🤔 Как правильно использовать: Если требуется отправить как текстовые, так и бинарные данные, это нужно делать последовательно, разделяя логику на отдельные запросы или сервлеты. 🤔 Пример правильного использования: 1️⃣ Отправка текстовых данных:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;

public class TextServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body><h1>Hello, World!</h1></body></html>");
    }
}
2️⃣ Отправка бинарных данных:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletOutputStream;

public class BinaryServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("application/pdf");
        ServletOutputStream out = response.getOutputStream();
        byte[] pdfData = ...; // Получаем PDF данные
        out.write(pdfData);
    }
}
🤔 Итог: Одновременно использовать PrintWriter и ServletOutputStream в одном сервлете нельзя. Нужно выбирать один из них в зависимости от типа данных, которые требуется отправить в ответе: текстовые данные (использовать PrintWriter) или бинарные данные (использовать ServletOutputStream). 🔥 ТОП ВОПРОСОВ С СОБЕСОВ 🔒 База собесов | 🔒 База тестовых