В этой подборке вопросы сгруппированы по формату «Технические вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, optimization, database.
область: базы данных / поиск основной принцип: поиск по подстроке, шаблону либо степени сходства LIKE/SIMILAR TO: SQL-шаблоны (%, _) для базового поиска полнотекстовый поиск: индексация текста с анализом слов и…
Как реализовать сервис long polling? long polling — способ асинхронного опроса, при котором клиент ожидает данные от сервера клиент отправляет запрос, а сервер оставляет соединение открытым до появления данных либо…
Как реализовать чат в Android? создать мобильный интерфейс сообщений, используя RecyclerView для отображения списка подключить бэкенд с API отправки и получения сообщений (REST, WebSocket) применить WebSocket для…
Ключи идемпотентности: как предотвратить повторное выполнение операций Идемпотентный ключ представляет собой уникальный идентификатор операции Для каждой транзакции клиент создает отдельный ключ Сервер сохраняет ключи…
REST — архитектурный стиль, а HTTP — протокол Как правило, запросы выполняются синхронно: клиент ожидает ответ сервера Асинхронность реализуется на стороне клиента или сервера На клиенте: применять fetch/AJAX с…
Обработка касаний только по кольцу «бублика» UI/UX, кастомные вью базовый принцип: прозрачная внутренняя область (пустота) переопределить метод hitTest:withEvent: определить, попадает ли точка в кольцевую область:…
Как превратить неидемпотентный метод в идемпотентный? Область: веб-сервисы, REST API Да, это возможно. Идемпотентность означает, что повторный вызов приводит к тому же результату. Возможные подходы: • Применять…
сериализация — преобразование структуры данных в формат, пригодный для хранения или передачи форматы: JSON (универсальный текстовый), XML и бинарные форматы (Protobuf, MessagePack) десериализация — восстановление…
Синхронизация доступа к переменной Мьютексы (Mutexes) — не позволяют другим потокам обращаться к данным, пока блокировка не будет снята RW-локи (Read-Write Locks) — допускают одновременное чтение несколькими потоками,…
Оптимизация производительности при работе с 50 спрайтами и их анимацией Пятьдесят спрайтов создают заметную нагрузку на GPU и CPU, поскольку требуют отрисовки и последующей композиции Для статичных спрайтов стоит…
Создание и вызов пользовательского события в JavaScript Использование API CustomEvent для создания собственных событий Конструктор: new CustomEvent('eventName', { detail: {...}, bubbles: true/false, cancelable:…
Как сделать собственный атлас без встроенных Unity-атласов? Объединить несколько текстур в одну большую Применить Texture2D.GetPixels()/SetPixels() для переноса пикселей Рассчитать и сохранить UV-координаты для…