Ключевые различия тестирования мобильных и веб-приложений Фрагментация платформ: необходимо учитывать разные ОС — iOS и Android, их версии, а также устройства с различными аппаратными характеристиками Ограниченные…
Транзакция представляет собой единый логический набор операций, гарантирующий атомарность и согласованность данных. Batch-insert выполняет массовую вставку записей с помощью одного SQL-запроса, повышая…
Фабричный метод и Builder: ключевые различия Оба паттерна относятся к созданию объектов, однако предназначены для разных задач Фабричный метод передаёт создание объектов подклассам Для определения конкретного класса…
Эмулятор и симулятор: в чём разница и что выбрать Эмулятор воспроизводит аппаратную и программную среду устройства, моделируя его работу на низком уровне Симулятор повторяет поведение и интерфейс устройства, однако не…
Что происходит при сбое RabbitMQ и как сохраняются и восстанавливаются сообщения? RabbitMQ поддерживает механизм персистентности Для хранения применяются durable queues и persistent messages Если брокер настроен…
корутина будет создана, но сразу не запустится вместо выполнения вернётся объект типа coroutine корутина сохранит состояние ожидания запуска без await нельзя получить результат её работы или обработать исключения для…
Метод Dispose предназначен для освобождения управляемых и неуправляемых ресурсов, включая файлы, соединения и память Если Dispose не вызвать, ресурсы могут освобождаться с задержкой или не освобождаться вообще, что…
В HTTP-клиенте Go тело ответа (resp.Body) необходимо закрывать, чтобы освободить занятые ресурсы Если этого не сделать, возможны утечки памяти и исчерпание файловых дескрипторов Кроме того, соединение в пуле…
Что происходит при попытке изменить неизменяемую переменную внутри функции неизменяемую переменную (const/val) нельзя переназначить или изменить её значение попытка изменения приведёт к синтаксической ошибке…
Что будет, если читать из канала быстрее, чем в него записывают? Каналы Go обеспечивают блокирующую синхронизацию если данных нет, операция чтения заблокируется горутина будет ожидать отправки значения в канал пока…
** CREATE (INSERT) обычно быстрее при добавлении новых данных, тогда как UPDATE сложнее и медленнее, поскольку изменяет существующие записи и требует дополнительных проверок и блокировок.
контекст: производительность в языках с value- и reference-типами value-типы размещаются в стеке, а reference-типы — в куче доступ к value-типам обычно быстрее благодаря размещению в стеке, низкой задержке и лучшей…