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

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

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

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

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

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

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

Каталог

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

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

В чем разница между абстрактным классом и интерфейсом?

Ключевые различия абстрактного класса и интерфейса ООП, наследование и контракт Абстрактный класс представляет собой тип с частичной реализацией Интерфейс задает полный контракт без реализации В абстрактном классе…

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

В чём разница между __init__() и __new__() в Python?

В чём init() отличается от new()? new — создаёт экземпляр класса и вызывается первым init — инициализирует уже созданный объект new — статический метод, который возвращает новый экземпляр init — обычный метод,…

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

В чём разница между агрегацией и композицией?

Объектно-ориентированное программирование, связи объектов Агрегация — менее тесная связь: составная часть способна существовать самостоятельно Композиция — тесная связь: существование части определяется жизненным…

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

В чём разница между интерфейсом и абстрактным классом?

объектно-ориентированное программирование Интерфейс определяет контракт — набор методов без реализации Абстрактный класс способен хранить состояние и содержать реализованные методы Класс может реализовать несколько…

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

Где используется позднее статическое связывание и зачем оно нужно?

позднее статическое связывание представляет собой отложенное до компиляции разрешение вызова функции с учётом конкретного статического типа. Его применяют в шаблонах и для оптимизации полиморфизма времени компиляции.

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

Зачем нужен прототип в JavaScript?

основа прототипного наследования в JS объект, предоставляющий наследуемые свойства и методы помогает повторно использовать код формирует цепочки наследования (prototype chain) экономит память, позволяя экземплярам…

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

Зачем нужны миксины в TypeScript?

шаблон для множественного наследования объединяют свойства и методы нескольких классов позволяют обойти ограничение единственного extends помогают повторно использовать функциональность делают архитектуру более гибкой…

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

Как в Go реализованы принципы ООП?

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

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

Как в PHP разрешить конфликт имён при подключении нескольких трейтов?

Как устранить конфликт имён методов при использовании нескольких трейтов? Контекст: работа с Rust / трейты Проблема появляется, когда разные трейты содержат методы с одинаковыми именами Для решения при вызове…

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

Как в Python связаны переменные, ссылки и объекты?

Как связаны переменные, ссылки и объекты в Python Python использует динамическую типизацию, а управление объектами в памяти основано на ссылках. Переменная представляет собой имя-ссылку на объект в памяти, а не…

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

Как вы объясните принципы SOLID — SRP, OCP, LSP, ISP и DIP — и их применение на практике?

Принципы SOLID: SRP, OCP, LSP, ISP и DIP с практическими примерами SOLID — пять принципов, которые помогают проектировать качественный объектно-ориентированный код SRP (Single Responsibility Principle): у класса…

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

Как вынести тяжёлые вычисления из основного потока, чтобы интерфейс не блокировался?

Варианты переноса тяжёлых вычислений из основного потока Web Workers (браузер): запускают JavaScript в отдельном потоке, поэтому UI не блокируется. setTimeout/setImmediate: позволяют разделить задачу на небольшие…

Читать ответ