Для чего применяют ключевое слово static при объявлении классов в Java?
В Java ключевое слово static при объявлении класса используется для создания вложенного статического класса (static nested class).
Читать ответПодготовка к интервью
130 вопросов с собеседований в ПСБ
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в ПСБ. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: testing, mobile, frontend.
Каталог
В Java ключевое слово static при объявлении класса используется для создания вложенного статического класса (static nested class).
Читать ответВ Java ключевое слово volatile используется для переменных, чтобы обеспечить корректную видимость изменений между потоками и предотвратить переупорядочивание операций компилятором и процессором.
Читать ответCoroutineContext в Kotlin — это набор элементов, которые определяют поведение корутины.
Читать ответViewModel в Android сохраняет свою жизнеспособность после уничтожения Activity благодаря тому, что она связана с жизненным циклом компонента на уровне архитектуры, а не напрямую с Activity.
Читать ответВ Kotlin inline-функции с reified типами позволяют использовать информацию о типе во время выполнения, что обычно невозможно из-за стирания типов.
Читать ответПараметр crossinline применяется к лямбда-выражениям, передаваемым в inline-функции, чтобы запретить использование non-local return из этой лямбды.
Читать ответInline функции — это функции, которые компилятор пытается заменить непосредственно в месте вызова, а не вызывать как обычную функцию.
Читать ответФантомная ссылка (PhantomReference) в Android (Java) используется для отслеживания объектов, которые уже готовы к сборке мусора, но ещё не удалены из памяти.
Читать ответВ Java для вычисления уникального хеша объекта обычно переопределяют метод hashCode(). Важно, чтобы:
Читать ответВ Java мягкие (SoftReference) и слабые (WeakReference) ссылки используются для управления памятью, но отличаются по времени жизни объектов:
Читать ответОсновная цель расширяющих функций (extension functions) — добавить новые методы к существующим классам без необходимости наследования или изменения исходного кода класса.
Читать ответВ Kotlin компонентные функции componentN() автоматически генерируются для data-классов и позволяют распаковывать объект на отдельные переменные с помощью деструктуризации. Например, если у вас есть data-класс:
Читать ответ