Специализация
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 в телеграм
Какие проблемы с пагинацией через LIMIT OFFSET?
Пагинация через LIMIT OFFSET может быть неэффективной на больших смещениях, потому что база данных должна пропустить OFFSET строк перед возвратом результата, что требует времени и ресурсов. Кроме того, при изменении данных (добавлении/удалении) между запросами могут возникать пропущенные или дублированные строки.
Механизмы защиты API — токены, rate limiting, права доступа.
Основные механизмы защиты API включают аутентификацию через токены (JWT, OAuth), rate limiting для предотвращения DDoS-атак, и систему прав доступа (RBAC) для контроля действий пользователей. Токены проверяют подлинность клиента, rate limiting ограничивает количество запросов, а права доступа определяют какие операции разрешены пользователю. Вместе эти механизмы создают многоуровневую защиту API.
Как реализовать rate limiting на уровне приложения в Go без использования внешних сервисов?
В приложении чаще всего используют алгоритмы Token Bucket или Leaky Bucket. Их можно реализовать через time.Ticker, буферизированные каналы или атомики. Token Bucket добавляет “токены” в ведро раз в N времени, и запрос проходит только если токен есть.
Что делают LIMIT и OFFSET?
LIMIT ограничивает количество возвращаемых строк, а OFFSET пропускает заданное число строк перед началом выборки. Они часто используются для реализации пагинации. Например, LIMIT 10 OFFSET 20 вернет 10 строк, начиная с 21-й. Однако при больших OFFSET производительность может ухудшаться.
Что произойдет при выполнении запроса вида SELECT * FROM t1, t2 WHERE ... LIMIT 10 в Postgres?
Если таблицы перечислены через запятую, PostgreSQL выполняет декартово произведение (cross join), а затем применяет условие WHERE. Это означает, что сначала формируются все возможные пары строк, а потом они фильтруются. LIMIT ограничивает уже итоговый результат. Такой запрос может быть очень медленным при больших таблицах.
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
8
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
4
Рейтинг:
4
Сложность:
6