Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

13 вопросов 119 компаний 249 технологий

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 13
Поведенческий

В чем отличие Atomic-классов от synchronized?

Ключевое отличие Atomic-классов от synchronized Atomic-классы выполняют операции без блокировок В основе их работы лежит CAS (Compare-And-Swap) Они обеспечивают атомарность отдельных операций synchronized использует…

Читать ответ
Поведенческий

В чём разница между Atomic-переменными и volatile?

память и синхронизация/Java concurrency volatile делает изменения видимыми для других потоков, однако не гарантирует атомарность операций Atomic-переменные выполняют атомарные операции — чтение, запись и инкремент —…

Читать ответ
Поведенческий

Как вы обеспечивали потокобезопасность в приложениях, когда это требовалось?

Как обеспечивать потокобезопасность в приложениях? синхронизация критических секций с помощью мьютексов и семафоров применение атомарных операций и lock-free структур данных для сохранения высокой производительности…

Читать ответ
Поведенческий

Как исправить CountDownLatch с неатомарным счётчиком без AtomicInteger?

Как исправить использование CountDownLatch с неатомарным счётчиком? проблема: счётчик не является атомарным, поэтому возникают состояния гонки решение 1: использовать AtomicInteger вместо обычного счётчика (если это…

Читать ответ
Поведенческий

Как обеспечить безопасный инкремент счётчика в многопоточной среде?

Это задача из сферы конкурентного программирования. Проблема заключается в том, что инкремент не является атомарной операцией, поэтому возможна гонка данных. Решение 1 — применить мьютексы/локи: они ограничивают…

Читать ответ
Поведенческий

Как обеспечить консистентный доступ из разных потоков к балансам пользователей?

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

Читать ответ
Поведенческий

Как обеспечить потокобезопасность in-memory репозитория без потери производительности?

многопоточность, защита данных выбирать lock-free структуры данных, например ConcurrentHashMap заменять блокировки на атомарные операции (atomic variables), где это возможно сводить критические секции к минимально…

Читать ответ
System Design

Как обеспечить потокобезопасность коллекции?

цель: исключить состояния гонки (race conditions) использовать синхронизацию: мьютексы и блокировки (locks) выбирать конкурентные коллекции (ConcurrentHashMap, ConcurrentQueue) по возможности применять атомарные…

Читать ответ
Поведенческий

Как реализовать потокобезопасную структуру данных для блокировки по конкретному ID?

Потокобезопасная структура блокировок по ID цель: обеспечить конкурентный контроль доступа к ресурсам, связанным с уникальным ID хранить блокировки по ID в ConcurrentHashMap / concurrent dictionary для каждого ID…

Читать ответ
Теория

Как синхронизировать чтение и запись переменной?

Синхронизация доступа к переменной Мьютексы (Mutexes) — не позволяют другим потокам обращаться к данным, пока блокировка не будет снята RW-локи (Read-Write Locks) — допускают одновременное чтение несколькими потоками,…

Читать ответ
Теория

Что делает volatile и почему он не гарантирует потокобезопасность?

volatile — модификатор переменных в Java и C++ Он обеспечивает видимость изменений между потоками: чтение и запись выполняются с обращением к основной памяти volatile препятствует оптимизациям компилятора и CPU,…

Читать ответ