Библиотека собеса по Java | вопросы с собеседований
6.33K subscribers
353 photos
4 videos
170 links
Вопросы с собеседований по Java и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/08c603b6

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
🏗 🔨 Как не сломать продакшен: 8 основных паттернов распределенных систем

Разработка распределённых систем сопряжена с множеством вызовов: от управления состоянием и взаимодействия сервисов до обработки отказов и масштабирования. Чтобы упростить решение этих задач, инженеры используют проверенные временем архитектурные паттерны.

В статье рассматриваются ключевые шаблоны, помогающие строить надёжные и эффективные распределённые системы.

➡️ Читать статью

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
💘 Что такое JSON? 💘

JSON (JavaScript Object Notation) — текстовый формат для хранения и передачи данных, основанный на синтаксисе объектов JavaScript. Он широко применяется для обмена данными между сервером и клиентом в веб-приложениях и API.

👍 Ключевые особенности JSON

— Представляет данные в формате пар "ключ-значение".
— Поддерживает простые типы: строки, числа, объекты, массивы, булевые значения и null.
— Является независимым от языка программирования, но легко парсится в большинстве языков.
— Удобен для сериализации и десериализации данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое авторизация и аутентификация?

▪️ Аутентификация — процесс проверки подлинности субъекта (пользователя или системы) на основе предоставленных им учетных данных (например, пары логин/пароль, сертификата или токена). Она подтверждает, что субъект является тем, за кого себя выдаёт.

▪️Авторизация — процесс определения прав и привилегий аутентифицированного субъекта в рамках определённой системы или ресурса. Она определяет, какие действия или ресурсы доступны субъекту после успешной аутентификации.

Аутентификация устанавливает личность субъекта, а авторизация — его полномочия в системе.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ В машинном обучении, как в любви: слишком идеальные предсказания – это подозрительно!

Когда модель слишком прилипчива к тренировочным данным, результат оказывается… ну, как в отношениях, когда всё кажется идеальным, но реальность ломает сердце.

Оверфиттинг (Overfitting) – модель так хорошо запомнила тренировочные данные, что на реальных данных начинает путаться.
💔 В любви: «Я выбрал идеального партнёра по профилю, а в жизни выяснилось, что его «идеальность» – всего лишь иллюзия!»

Андерфиттинг (Underfitting) – модель обучена настолько поверхностно, что предсказывает мэтчи случайным образом.
💔 В любви: «Мне нравятся только люди с именем Александр, а всех остальных я даже не замечаю – бедный фильтр!»

Неправильный выбор фичей (Feature Selection Fail) – если модель опирается на неважные признаки, она предсказывает мэтчи хуже случайности.
💔 В любви: «Ты любишь авокадо? Значит, мы созданы друг для друга!» – а потом оказывается, что это вовсе не про важное.

🎯 На вебинаре мы разобрали, как избежать этих ошибок и создать работающую модель для speed dating, которая на самом деле помогает находить любовь! Вчера мы не просто говорили о любви – мы её предсказывали!

🔥 Спасибо всем, кто был с нами и участвовал!

💘 Как же это было?

Если ты пропустил вебинар или хочешь пересмотреть запись – просто перейди по [ссылке] и получи видео 😉
💬 Обратная связь

Понятно, что грейды — это всё от лукавого относительно, но всё же, к какому грейду вы ближе?

🔥 — Senior
👍🏼 — Middle
❤️ — Junior
😁 — Ещё учусь
👾 — Эта разработка мне уже понятна. Я ищу только одного — покоя, умиротворения и вот этой гармонии, от слияния с бесконечно вечным
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Big O?

Big O — это асимптотическая нотация, описывающая, как изменяются временные или пространственные затраты алгоритма при росте входных данных. Она показывает верхнюю границу роста (худший случай), позволяя сравнивать эффективность алгоритмов независимо от оборудования или реализации.

🔹 Основные виды сложности

O(1) — постоянное время, не зависит от размера данных.
O(log n) — логарифмическое время, быстро сокращает размер задачи (например, бинарный поиск).
O(n) — линейное время, пропорционально количеству элементов.
O(n log n) — логлинейное, часто встречается в эффективных сортировках (например, Merge Sort).
O(n²) — квадратичное, характерно для вложенных циклов (например, сортировка пузырьком).
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое класс, объект и интерфейс?

▪️ Класс — это шаблон (схема), описывающий свойства (поля) и поведение (методы) объектов. Например, Car — класс, описывающий машину.
▪️ Объект — это экземпляр класса, созданный в памяти с помощью оператора new. У него есть конкретные значения свойств. Например, Car myCar = new Car(123, "Red"); — конкретный объект машины с конкретными свойствами.
▪️Интерфейс — это контракт, задающий, какие методы должен реализовать класс, если он этот интерфейс имплементирует. Например, List — интерфейс, а ArrayList — класс, который его реализует.
Please open Telegram to view this post
VIEW IN TELEGRAM
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
Добро пожаловать на Виртуальную Стажировку Java

https://stepik.org/course/210937/promo

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

Технологии и инструменты, используемые в проекте:

- VCS, Git, GitHub
- Build Tool Gradle
- Spring Framework, Spring Boot
- Design patterns: IoC, Builder, DTO, Factory, Strategy, etc.
- HTTP, REST, WEB MVC
- SQL, MySQL, H2, JDBC, ORM, JPA, Hibernate, Liquibase
- JUnit, Mockito
- Lombok, Immutable Objects
- Logging, metrics
- JAR, WAR, Java Web Server, Apache Tomcat
- JSON, XML
- Containers, Docker
- Message Broker, RabbitMQ
- и многое другое.

Главной целью этого проекта является прививание инженерного мышления. Мы хотим, чтобы вы стали не просто кодерами, а настоящими инженерами, способными с помощью IT-технологий эффективно решать реальные задачи бизнеса.

Основные темы проекта:

- Архитектура приложения
- Дизайн паттерны
- Работа с требованиями
- Надёжность
- Тестирование
- Развертывание
- Observability (логи, метрики)
- Domain Driven Design (DDD)
- Clean code, refactoring
- Работа с базой данных
- Интеграция приложений
- и многое другое.

Завершив работу над этим проектом, вы получите опыт коммерческой разработки, знания, подкрепленные практикой, и уникальный кейс в свое портфолио.

По всем вопросам пишите автору и ментору проекта:

- Телеграмм (@javagurulv)
- Email ([email protected])

Телеграмм группа проекта Виртуальная Стажировка Java:
https://yangx.top/+mvRhG9YECTlkZjQ0
В чем разница между передачей параметров по ссылке и по значению?

При передаче параметров по значению (pass-by-value) в метод передается копия переменной, а оригинальное значение остается неизменным.

При передаче параметров по ссылке (pass-by-reference) передается сам адрес объекта в памяти, а не его копия. Это позволяет изменять объект внутри метода.

Однако в Java все параметры передаются по значению (pass-by-value), но важно понимать разницу для примитивов и объектов:

▪️ Для примитивных типов передается копия значения, и изменения внутри метода не влияют на оригинальную переменную.

▪️ Для объектов передается копия ссылки на объект, но сама ссылка неизменяема. Это значит, что можно изменить состояние объекта внутри метода, но нельзя заменить сам объект.
Please open Telegram to view this post
VIEW IN TELEGRAM
Чем отличается агрегация от композиции?

Композиция и агрегация — это разновидности отношений «часть-целое» в объектно-ориентированном программировании.

🔹 Композиция — жесткая связь. Если уничтожается целый объект, то уничтожаются и его части.
Пример: Двигатель — это часть автомобиля. Если удалить машину, двигатель тоже исчезнет.

🔹 Агрегация — более слабая связь. Объект-часть может существовать независимо от объекта-целого.
Пример: Университет и студенты. Университет может закрыться, но студенты продолжат существовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👉 Интенсив «Архитектуры и шаблоны проектирования» для middle и senior-разработчиков

Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/5f150300

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

🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг

👉 Подробная программа обучения

А по промокоду MIDDLE до 28 февраля вы получите дополнительную скидку на обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое переопределение методов?

Переопределение метода (Method Overriding) — это процесс, при котором подкласс предоставляет свою реализацию метода, уже определённого в родительском классе.

🔹 Основные правила

— Метод в подклассе должен иметь ту же сигнатуру.
— Должен быть такой же или более широкий уровень доступа.
— В подклассе можно ослабить ограничения исключений, но нельзя добавить новые.
— Если метод в родительском классе объявлен как final, static или private, его нельзя переопределить.
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет на 2025-й — будьте осторожнее с выбором работы.

IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.

Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦‍♂️

Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:

— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер

Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.

Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
📊 Как себя чувствует IT-рынок в 2025 году?

Друзья, запускаем важное исследование рынка труда в IT!

Нам очень важно понять:

• Как изменились зарплаты
• Что происходит с наймом
• Есть ли сокращения или рост

🔐 Опрос полностью анонимный
⏱️ Займёт всего 3-5 минут
📈 Результаты опубликуем в подробной статье

Ваши ответы помогут составить реальную картину происходящего в индустрии.

🔗 Пройти опрос
Please open Telegram to view this post
VIEW IN TELEGRAM
Документация PostgreSQL — лучший источник знаний о СУБД. Но она отличается огромным объемом: не каждый разработчик осилит 3024 страницы формата А4.

Опытный бэкендер составил список самых важных сведений, которые ему самому хотелось бы знать перед началом работы с PostgreSQL. Эта подборка сэкономит вам несколько недель изучения документации, и скорее всего, пригодится для работы с другими СУБД.

👉 Список самого важного
В чем разница между map() и flatMap()?

Оба метода используются для трансформации данных в Stream, но с ключевыми отличиями:

▪️ map(Function<T, R>) применяет функцию к каждому элементу потока и возвращает поток с преобразованными элементами (Stream<R>).

▪️ flatMap(Function<T, Stream<R>>) делает то же самое, но ожидает, что функция вернет Stream<R>, а затем "выпрямляет" вложенные потоки в один Stream<R>.

📌 Пример:
List<String> words = List.of("Hello", "World");

// map(): превращает каждое слово в список символов
List<List<Character>> mapped = words.stream()
.map(word -> word.chars()
.mapToObj(c -> (char) c)
.toList())
.toList();

// flatMap(): превращает каждое слово в поток символов и "сплющивает" их в один поток
List<Character> flatMapped = words.stream()
.flatMap(word -> word.chars()
.mapToObj(c -> (char) c))
.toList();

System.out.println(mapped); // [[H, e, l, l, o], [W, o, r, l, d]]
System.out.println(flatMapped); // [H, e, l, l, o, W, o, r, l, d]
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое база данных?

База данных (БД) — это организованное хранилище данных, предназначенное для удобного доступа, управления и обработки информации.

🔹 Основные виды БД


▪️ Реляционные (SQL) — данные хранятся в таблицах, используются SQL-запросы (например, PostgreSQL, MySQL).
▪️ Нереляционные (NoSQL) — данные могут храниться в виде документов, графов, пар "ключ-значение" и т. д. (например, MongoDB, Redis).
Please open Telegram to view this post
VIEW IN TELEGRAM
Найти работу теперь так же просто, как заказать такси 🚗

Представь, что поиск работы стал таким же удобным, как вызов такси.

1️⃣ Регистрируешься за 2 минуты
2️⃣ Проходишь AI-интервью в любое время
3️⃣ Получаешь персональные вакансии и пре-офер от Сбера

💡 Без стресса, без ожидания, без звонков "через недельку" – просто бери и делай!

🔗 Попробуй прямо сейчас! 👉 https://clc.to/GkOTTA

Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqxUqFAv
Что такое Docker?

Docker — это платформа для контейнеризации, которая позволяет упаковывать приложение и его зависимости в изолированные контейнеры.

✔️ Основные преимущества

▪️ Позволяет запускать приложение в любом окружении без зависимости от хост-системы.
▪️ Облегчает развертывание и масштабирование сервисов.
▪️ Упрощает CI/CD за счёт предсказуемости окружения.

✔️ Ключевые концепции

▪️ Образ (Image) — шаблон для создания контейнера.
▪️ Контейнер (Container) — запущенный экземпляр образа.
▪️ Dockerfile — файл с инструкциями по сборке образа.
▪️ Docker Compose — инструмент для управления многоконтейнерными приложениями.
Please open Telegram to view this post
VIEW IN TELEGRAM