Специализация
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 в телеграм
Что такое setTimeout и setInterval?
setTimeout выполняет указанную функцию один раз через заданное время, а setInterval — периодически, с указанным интервалом. Оба метода работают асинхронно, что значит, что они не блокируют основной поток выполнения программы. Чтобы остановить выполнение setInterval, нужно вызвать clearInterval, а для остановки отложенного вызова setTimeout — clearTimeout.
Как реализовать "ленивые" вычисления (lazy evaluation) в JavaScript?
Ленивые вычисления в JavaScript означают, что результат вычисления будет возвращен только по мере необходимости, а не сразу. Это может улучшить производительность, особенно если результаты не всегда нужны. Ленивые вычисления можно реализовать с помощью функций, возвращающих другие функции или используя генераторы, которые позволяют приостанавливать и возобновлять выполнение.
Что такое lvalue и rvalue в Golang?
lvalue — это адрес в памяти, представляющий переменную, и он может быть изменён. Он может находиться как слева, так и справа от оператора присваивания.
rvalue — это значение данных, которое не может быть изменено, и оно всегда находится справа от оператора присваивания.
В чем разница между val и var в Kotlin?
В Kotlin val используется для объявления неизменяемых переменных (констант), значение которых нельзя изменить после присвоения. var используется для объявления изменяемых переменных, которые можно переназначать несколько раз. Например, val не позволяет переприсваивать значение переменной, а var позволяет.
Как валидировать входящие запросы? Приведите пример с использованием class-validator.
Валидация входящих запросов в NestJS осуществляется с помощью DTO и библиотеки class-validator. Определите правила валидации через декораторы в DTO и подключите глобально ValidationPipe.
Что такое "мусорное значение" (garbage value) в C?
Что такое zero value у слайса?
В чём разница между zero value слайса и мапы?
На какие категории в .NET делятся типы данных и в чём ключевые отличия между value type и reference type?
Как работает Dictionary<TKey, TValue>: как вычисляется bucket и как влияет коллизия на производительность?
Рейтинг:
2
Сложность:
6
Мусорное значение – это случайное значение, хранящееся в неинициализированной переменной. Оно зависит от предыдущих данных в памяти.
Рейтинг:
2
Сложность:
4
Zero value слайса — это nil-срез. Он равен nil, имеет len=0 и cap=0. Его можно безопасно итерировать (range) и в него можно append, что создаст новый рабочий срез.
Рейтинг:
2
Сложность:
4
Zero value слайса — это nil-срез, с которым можно append или range без panic. Zero value мапы — это nil-мапа, из которой можно читать (m[key] даёт нулевое значение), но нельзя записывать (m[key] = val вызывает panic).
Рейтинг:
2
Сложность:
5
В .NET типы делятся на значимые (value type) и ссылочные (reference type). Значимые хранятся в стеке или внутри объекта-родителя и копируются полностью при присвоении. Ссылочные хранятся в куче, при присвоении копируется указатель, а не данные. Это влияет на производительность, управление памятью и поведение при передаче в методы.
Рейтинг:
2
Сложность:
5
Dictionary хранит элементы в массивах bucket’ов. Для ключа вычисляют хэш-код key.GetHashCode(), берут bucketIndex = hash % buckets.Length, и если в этом бакете уже есть запись, сравнивают ключи на равенство, переходя по связному списку (или дереву в новых версиях). При небольшой нагрузке lookup — O(1), но при многих коллизиях (одинаковых хэших) может деградировать до O(n) в худшем случае.
Рейтинг:
3
Сложность:
5
Рейтинг:
1
Сложность:
7
Рейтинг:
3
Сложность:
6
Рейтинг:
3
Сложность:
3
Рейтинг:
2
Сложность:
4