uz
Feedback

Firibgarlarga uchmang! Telemetrio bunday kanallarni topadi va belgilaydi 👉 Belgini ko‘rmoqchi bo‘lsangiz, obuna bo‘ling

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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
6 376
Obunachilar
-324 soatlar
-287 kun
-5730 kun
Postlar arxiv
❓ Чем отличается аутентификация от авторизации? Аутентификация — это процесс проверки подлинности пользователя. Он заключается в подтверждении, что пользователь — это именно тот, за кого себя выдаёт, с помощью таких данных, как логин и пароль, биометрия или двухфакторная аутентификация. Авторизация, в свою очередь, происходит после аутентификации и отвечает на вопрос, какие ресурсы и действия разрешены пользователю. То есть, она определяет, что пользователь может делать после того, как подтвердил свою личность. 🐸 Библиотека собеса по Java

❓ В чём разница между IO и NIO? IO (Input/Output) — это традиционная модель потоков, использующая блокирующие операции для чтения и записи данных, что может привести к задержкам, если операция занимает много времени. NIO (New IO) был введён в JDK 1.4 для улучшения производительности, предлагая неблокирующие каналы и буферы, а также поддержку асинхронных операций, что позволяет эффективно работать с большими объёмами данных или многими соединениями одновременно. 🐸 Библиотека собеса по Java

❓ Внедрение зависимостей через конструктор vs @Autowired на поле? Внедрение через конструктор предпочтительнее — оно гарантирует, что объект не будет создан без необходимых зависимостей, и делает класс проще для тестирования. При использовании @Autowired на поле Spring внедряет зависимость уже после создания объекта, что может привести к созданию частично инициализированных бинов. 🐸 Библиотека собеса по Java

❓ Чем @Bean отличается от @Component в Spring? ▪️ @Component вешается над классом — Spring сам создаёт его экземпляр через сканирование пакетов (@ComponentScan). ▪️ @Bean ставится над методом в @Configuration — вы сами создаёте объект внутри метода и возвращаете его. @Bean полезен, когда: — класс не ваш (нет доступа, чтобы добавить аннотацию) — нужен кастомный способ создания бина (например, с параметрами конструктора или фабричным методом) Оба способа регистрируют бин в ApplicationContext, разница только в том, кто и как создаёт объект. 🐸 Библиотека собеса по Java

❓ Зачем в JVM нужен JIT-компилятор? JIT (Just-In-Time) компилятор нужен для повышения производительности программ. Он компилирует байт-код в нативный машинный код во время выполнения, чтобы избежать повторной интерпретации часто вызываемых участков кода. Дополнительно JIT оптимизирует код на основе анализа профиля исполнения (inlining, loop unrolling, dead code elimination и пр.), что невозможно сделать при обычной интерпретации. 🐸 Библиотека собеса по Java

❓ Почему Java считается платформонезависимым языком? Потому что скомпилированный байт-код исполняется на JVM (Java Virtual Machine), а не напрямую на операционной системе. JVM реализуется под разные платформы, и именно она берёт на себя взаимодействие с ОС. В результате один и тот же .class файл можно запустить на любой системе, где установлена соответствующая JVM. 🐸 Библиотека собеса по Java

❓ Зачем нужен Docker? Docker нужен для контейнеризации приложений, что позволяет запускать их в изолированных средах — контейнерах. Это делает процесс разработки, тестирования и развертывания приложений проще и более предсказуемым. Основные преимущества Docker: — Изоляция: контейнеры изолируют приложение и все его зависимости (библиотеки, конфигурации), обеспечивая стабильную работу на разных машинах. — Портативность: контейнеры одинаково работают как на локальной машине, так и на сервере или в облаке. Это устраняет проблему "на моем компьютере работает". — Легкость в развертывании: контейнеры запускаются быстро, что упрощает CI/CD процессы и автоматизацию развертывания. — Управление зависимостями: все нужные для приложения зависимости находятся в одном контейнере, что предотвращает конфликты версий. — Масштабируемость: Docker позволяет легко масштабировать приложение, добавляя или убирая контейнеры, что особенно полезно для микросервисных архитектур. 🐸 Библиотека собеса по Java

❓ Что такое JSON? JSON (JavaScript Object Notation) — это текстовый формат для хранения и обмена данными, основанный на структуре «ключ–значение». Он читается человеком и легко парсится машинами. JSON широко применяется при обмене данными между клиентом и сервером, особенно в REST API. 🐸 Библиотека собеса по Java

❓ Что такое autoboxing и unboxing? Autoboxing — это автоматическое преобразование примитивного типа (например, int) в соответствующий объект-обёртку (Integer), когда это требуется контекстом. Unboxing — обратное преобразование объекта-обёртки в примитив. Происходит при: — передаче примитива в метод, ожидающий объект-обёртку — использовании примитива в коллекциях — арифметических операциях с обёртками (через unboxing) 🐸 Библиотека собеса по Java

💬 Обратная связь Какие вопросы публиковать больше? 👍🏼 — Классика с собесов, чтобы точно набить руку на ближайший 🤔 — Вопросы, которые не встречаются в каждой статье вида "N вопросов для собеса" 🔥 — Больше практики, а то одна теория 🐸 Библиотека собеса по Java

❓ Расскажите про иерархию исключений В Java иерархия исключений начинается от класса Throwable, который делится на две ветви: 🔹 Error — критические ошибки JVM, например OutOfMemoryError. Их не обрабатывают, так как это сбои среды выполнения. 🔹 Exception — обрабатываемые ошибки приложения. Внутри Exception выделяют: 🔹 Checked exceptions — наследники Exception. Проверяются во время компиляции. Требуют try-catch или throws. Пример: IOException, SQLException. 🔹 Unchecked exceptions — наследники RuntimeException. Возникают из-за ошибок в логике программы, проверка компилятором не требуется. Пример: NullPointerException, IndexOutOfBoundsException. 🐸 Библиотека собеса по Java

❓ В чем разница между map() и flatMap()? 🔹 map() — применяется для преобразования элементов потока. Он берет каждый элемент и применяет к нему функцию, возвращая новый поток, состоящий из преобразованных элементов. 🔹 flatMap() — также применяется для преобразования элементов, но с важным отличием. Он "разворачивает" потоки или коллекции, полученные на выходе функции, в один поток. То есть, если функция возвращает поток или коллекцию, flatMap() распаковывает их и объединяет в одном потоке, избавляясь от вложенности. 🐸 Библиотека собеса по Java

❓ Что такое Big O? Big O — это способ описания сложности алгоритмов, который позволяет оценить, как изменяются время или ресурсы, необходимые для выполнения алгоритма, в зависимости от роста размера входных данных. Основные виды: ▪️ O(1) — Константная сложность. Время выполнения не зависит от размера входных данных (например, доступ к элементу массива по индексу). ▪️ O(n) — Линейная сложность. Время выполнения пропорционально размеру входных данных (например, проход по всем элементам списка). ▪️ O(n²) — Квадратичная сложность. Время выполнения пропорционально квадрату размера входных данных (например, алгоритм сортировки пузырьком). ▪️ O(log n) — Логарифмическая сложность. Время выполнения растет медленно по мере увеличения входных данных (например, бинарный поиск). 🐸 Библиотека собеса по Java

❓ В чем разница между параллелизмом и многопоточностью? Многопоточность — это способность программы выполнять несколько потоков , где каждый поток может выполняться независимо, но не обязательно одновременно. Потоки могут переключаться между собой, создавая иллюзию одновременности, однако они могут работать на одном ядре процессора. Параллелизм, с другой стороны, — это выполнение нескольких задач одновременно, обычно на разных процессорах или ядрах. В контексте параллелизма, задачи действительно выполняются одновременно. 🐸 Библиотека собеса по Java

❓ Какие бывают виды конструкторов? Существует несколько видов конструкторов: 🔹 Конструктор по умолчанию — это конструктор без параметров, который компилятор создаёт автоматически, если не был определён ни один другой конструктор. Он инициализирует поля объекта значениями по умолчанию. 🔹 Конструктор с параметрами — конструктор, который позволяет передавать значения при создании объекта, что даёт возможность инициализировать объект с конкретными значениями. 🔹 Конструктор копирования — используется для создания нового объекта, который является копией существующего. Он инициализирует новый объект значениями из другого объекта того же класса. 🔹 Конструктор с переменным числом аргументов (varargs) — позволяет передавать переменное количество аргументов, которые обрабатываются как массив внутри конструктора. 🐸 Библиотека собеса по Java

❓ В чем разница между final, finally и finalize()? — final используется для: ▪️ для переменных — значение нельзя изменить ▪️ для методов — нельзя переопределить ▪️ для классов — нельзя наследовать — finally — блок, связанный с try-catch. Выполняется всегда, независимо от того, было исключение или нет. Гарантирует выполнение очистки/закрытия ресурсов. finalize() — метод из Object, вызывается сборщиком мусора перед уничтожением объекта. Позволяет выполнить финальную очистку, но устарел и не рекомендуется к использованию (с Java 9 — deprecated). 🐸 Библиотека собеса по Java

❓ Что такое иммутабельный объект? Иммутабельный объект — это объект, состояние которого невозможно изменить после его создания. Иммутабельность способствует безопасности потоков и предотвращению ошибок, связанных с изменениями состояния объектов. Примером может служить класс String. 🐸 Библиотека собеса по Java

💬 Обратная связь Ежемесячный опрос по грейдам. Проверим, выросло ли число мидлов. Ваш грейд: 🔥 — Senior 👍🏼 — Middle ❤️ — Junior 😁 — Ещё учусь 🐸 Библиотека собеса по Java

❓ Какие уровни изоляции транзакций существуют? Существует 4 основных уровня изоляции транзакций, каждый из которых определяет степень видимости данных, изменённых в одной транзакции, для других транзакций: — READ UNCOMMITTED (Чтение незафиксированных данных) Наименьший уровень изоляции. Другие транзакции могут читать изменения, которые ещё не были зафиксированы (не коммитнуты). Это может привести к грязным чтениям. — READ COMMITTED (Чтение зафиксированных данных) Транзакция видит только те изменения, которые были зафиксированы другими транзакциями. Это предотвращает грязные чтения, но допускает неповторяемые чтения. — REPEATABLE READ (Повторяемое чтение) Гарантирует, что данные, считанные в рамках одной транзакции, не изменятся до её завершения (не допускаются неповторяемые чтения). Однако, могут возникать фантомные чтения. — SERIALIZABLE (Сериализация) Наивысший уровень изоляции. Все транзакции выполняются последовательно, как если бы они были выполнены по очереди. Это устраняет все виды аномалий, но может значительно снизить производительность. 🐸 Библиотека собеса по Java

По результатам опроса* в июне 2025 россиянам для комфортной жизни требуется зарплата не ниже 155.000 рублей в месяц. По слова
По результатам опроса* в июне 2025 россиянам для комфортной жизни требуется зарплата не ниже 155.000 рублей в месяц. По словам опрошенных, этой суммы хватило бы и на необходимые продукты питания, и на сезонные фрукты, и даже на формирование финансовой подушки. Так а чего ты сидишь на своей душной работе с зарплатой в 90к, без перспективы роста и премией раз в год? Листаешь мемы, мечтаешь о путешествии в Тай, но думаешь, о том, как закрыть кредиты? Отличное времяпрепровождение, конечно. Считаешь, что достиг своего потолка? Или, может, боишься перемен? Пфф, а кто нет? Глаза боятся, руки делают! Это как в том анекдоте: “...ты лотерейный билет-то купил хоть раз в жизни?!”. Загугли, кажется, тебе этот случай покажется знакомым. Вместо того, чтобы сидеть и заниматься самобичеванием или утешением себя любимого, поверь в себя. Не хочешь верить в себя - поверь в нас! Мы, Kata Academy, гарантируем тебе минимальную зарплату после курса по Java-разработке от 120.000 рублей. Сразу, с первого месяца работы. С тебя - прилежно учиться, с нас - научить тебя так, чтобы ты получал не только гарантированную минималку, а хотя бы процентов на 70% больше. С работой - поможем. Будь зайкой, запишись на консультацию, не откладывай: https://kata.pw/kgkrRy *Опрос проводился у мамы и бабушки. Реклама. ООО «КАТА АКАДЕМИЯ», ИНН 7802925162. Erid 2Vtzqxc2RSG