Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Что такое __proto__ и prototype?
__proto__ — это скрытое свойство каждого объекта, которое ссылается на его прототип, позволяя наследовать свойства и методы. prototype — это свойство функций-конструкторов, которое определяет прототип для всех объектов, созданных с их помощью. Когда создаётся объект с помощью конструктора, он получает ссылку на прототип через свойство __proto__, а прототип этих объектов задаётся через свойство prototype конструктора.
Для чего нужны Protocols в Swift? Приведите пример.
Протоколы в Swift определяют набор требований, которым должны соответствовать типы (классы, структуры, перечисления). Протоколы не содержат реализации, а лишь описывают методы и свойства, которые должен реализовать тип. Это позволяет создавать гибкие и переиспользуемые компоненты.
Чем prototype отличается от singleton?
Singleton (по умолчанию): Один бин на весь контекст приложения.
Prototype: Новый экземпляр при каждом запросе (getBean() или инъекции).
Protocol из модуля typing – назначение и применение?
Protocol определяет структурную типизацию — объект считается подходящим, если имеет нужные методы и атрибуты, независимо от наследования. Это полезно для утиной типизации с проверкой типов.
Почему исключения похожи на оператор goto и какие проблемы это может вызвать (незакрытые транзакции, маскирование ошибок)?
Исключения похожи на goto потому что они могут мгновенно перенести выполнение программы в другое место, пропуская промежуточный код. Это может вызвать проблемы с незакрытыми ресурсами, такими как транзакции БД или открытые файлы. Также исключения могут маскировать первоначальные ошибки, когда новое исключение выбрасывается в блоке finally, перезаписывая оригинальную проблему.
Что представляет собой Protobuf и чем бинарные форматы обмена отличаются от JSON по преимуществам и недостаткам?
Почему у prototype не вызывается @PreDestroy?
Что делает метод Array.prototype.filter?
Как передаются данные в gRPC и какую роль играет Protobuf?
Какие функции работы со временем существуют в Python и чем отличаются time(), monotonic() и perf_counter()?
Рейтинг:
5
Сложность:
6
Protobuf — это бинарный формат сериализации данных от Google, ориентированный на компактность, скорость и строгую схему данных. Он намного легче и быстрее JSON, особенно при передаче больших структур. Бинарные форматы позволяют экономить трафик и повышают производительность, но хуже читаются человеком и требуют генерации структур по схеме. JSON проще для отладки и универсален, но тяжелее в передаче и обработке. Protobuf хорош там, где важны скорость и экономия ресурсов.
Рейтинг:
4
Сложность:
6
Для бинов со scope prototype Spring не управляет полным жизненным циклом. Контейнер отвечает только за создание и внедрение зависимостей. Уничтожение prototype-бина находится на ответственности пользователя. Поэтому @PreDestroy для таких бинов не вызывается автоматически. Это ожидаемое поведение Spring.
Рейтинг:
5
Сложность:
4
Array.prototype.filter создаёт новый массив, включающий только те элементы, для которых callback-функция вернула true. Исходный массив при этом не изменяется. Callback вызывается для каждого элемента массива по порядку. Метод часто используется для отбора данных по условию.
Рейтинг:
4
Сложность:
5
В gRPC данные передаются в бинарном формате с использованием Protocol Buffers (Protobuf). Protobuf описывает структуру сообщений и генерирует код для разных языков. Передача происходит поверх HTTP/2, что позволяет использовать мультиплексирование и стриминг. Это делает обмен данными быстрым и компактным.
Рейтинг:
4
Сложность:
6
time() возвращает текущее системное время и может изменяться при корректировке часов. monotonic() возвращает монотонное время, которое никогда не уменьшается, и используется для измерения интервалов. perf_counter() также монотонный, но имеет более высокую точность и используется для бенчмарков. Для измерений времени выполнения обычно применяют perf_counter().
Рейтинг:
4
Сложность:
9
Рейтинг:
2
Сложность:
5
Рейтинг:
1
Сложность:
6
Рейтинг:
2
Сложность:
8
Рейтинг:
3
Сложность:
4