и посмотреть медиа
Preguntas de la entrevista del testador
и посмотреть медиа
Preguntas de entrevista para los evaluadores.
Preguntas de entrevista para los evaluadores.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Preguntas de prueba: ISTQB, Selenio, API. Con ejemplos.
🤔 Какие знаешь методы копирования объектов? В Java есть глубокое и поверхностное копирование объектов. Разберем основные способы их реализации. 🚩Поверхностное копирование (`shallow copy`) При поверхностном копировании копируются только ссылки на вложенные объекты, а не сами объекты. То есть если изменить вложенный объект, он изменится и в оригинале. 🚩Способы поверхностного копирования 🟠Метод `clone()` (реализация `Cloneable`) Чтобы использовать clone(), класс должен реализовать интерфейс Cloneable, а метод clone() нужно переопределить. class Person implements Cloneable { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); // Поверхностное копирование } } public class Main { public static void main(String[] args) throws CloneNotSupportedException { Person p1 = new Person("Alice", 30); Person p2 = (Person) p1.clone(); // Копируем объект System.out.println(p1.name.equals(p2.name)); // true (строка хранится в пуле) System.out.println(p1 == p2); // false (это разные объекты) } } 🟠Конструктор копирования Можно создать новый объект, передав в конструктор другой объект. class Person { String name; int age; Person(String name, int age) { this.name = name; this.age = age; } // Конструктор копирования Person(Person other) { this.name = other.name; this.age = other.age; } } 🚩Глубокое копирование (`deep copy`) При глубоком копировании создаются новые объекты, а не просто копируются ссылки. 🟠Реализация `clone()` с ручным копированием вложенных объектов Если в объекте есть другие объекты, их нужно клонировать вручную. class Address implements Cloneable { String city; Address(String city) { this.city = city; } @Override protected Object clone() throws CloneNotSupportedException { return new Address(this.city); // Создаем новый объект! } } class Person implements Cloneable { String name; int age; Address address; Person(String name, int age, Address address) { this.name = name; this.age = age; this.address = address; } @Override protected Object clone() throws CloneNotSupportedException { Person cloned = (Person) super.clone(); cloned.address = (Address) address.clone(); // Глубокое копирование return cloned; } } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое Summary? Это краткое изложение основного содержания текста, документа, исследования или проекта. Целью summary является предоставление читателю общей картины, ключевых моментов и основных выводов, без необходимости углубляться в детали. 🚩Компоненты 🟠Введение Краткое введение в тему или цель документа. 🟠Основные идеи Перечисление ключевых моментов, тем или идей, обсуждаемых в основном тексте. 🟠Выводы или итоги Основные выводы или результаты, к которым пришли авторы. 🚩Примеры использования 🟠Научные статьи Введение в ключевые результаты исследования, чтобы читатели могли быстро понять основные выводы без чтения всей статьи. 🟠Бизнес-отчёты Краткое изложение финансовых показателей и стратегических решений, чтобы руководители могли быстро ознакомиться с состоянием дел. 🟠Книги Резюме книги, которое помогает потенциальным читателям решить, стоит ли читать полное произведение. 🚩Зачем нужно? 🟠Экономия времени Позволяет читателям быстро понять основные моменты без необходимости читать весь документ. 🟠Упрощение восприятия Сводка помогает структурировать информацию и выделить главное. 🟠Принятие решений Быстрое ознакомление с основной информацией помогает принимать обоснованные решения. 🟠Представление информации Полезно для презентаций, где нужно кратко изложить суть проекта или исследования. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 В чем особенности SOAP? - Жёстко типизированный, основан на XML; - Стандартный формат для обмена сообщениями в распределённых системах; - Поддерживает сложные сценарии безопасности и транзакций (через WS-* стандарты). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Расскажи о плюсах монолитной архитектуры Монолитная архитектура – это подход, при котором вся логика приложения разрабатывается и разворачивается как единое целое. В отличие от микросервисов, в монолите все компоненты (UI, бизнес-логика, база данных) работают в одном приложении. 🚩Плюсы ➕Простота разработки и отладки Легче настроить среду разработки – один репозиторий, одна кодовая база. Не нужно думать о сетевом взаимодействии между сервисами. Отладка и логирование проще, так как всё в одном месте. ➕Легче развертывать и управлять Один файл (JAR, WAR) или контейнер – простое развертывание. Нет сложностей с оркестрацией сервисов, как в Kubernetes. Все компоненты запускаются вместе, не надо настраивать отдельные сервисы. ➕ Производительность выше, чем у микросервисов Вызовы между модулями выполняются внутри приложения (методом или через классы), а не по сети. Нет оверхеда на сетевые запросы, балансировку, сериализацию данных. ➕Простое тестирование Можно запускать юнит-тесты и интеграционные тесты без сложной инфраструктуры. Не нужно поднимать отдельные сервисы или мокать API-запросы. ➕Меньше накладных расходов Разработчики тратят меньше времени на настройку CI/CD, мониторинг, логику взаимодействия между сервисами. Один сервер, одна база данных – проще администрировать. ➕Легче внедрять новые разработчиков Новичку проще разобраться в коде, чем в распределенной системе с множеством сервисов. Можно быстрее делать первые коммиты. 🚩Когда монолит лучше микросервисов? Маленькие и средние проекты (стартапы). Если важна скорость разработки. Когда команда небольшая. Когда приложение редко меняется. Если нужно простое развертывание и поддержка. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое диапазон? Диапазон — это непрерывная последовательность допустимых значений. Пример: допустимый возраст пользователя от 18 до 65. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Расскажи про анализ результатов Анализ результатов тестирования — это процесс оценки данных, полученных после выполнения тестов, с целью определения качества продукта и выявления проблем. 🚩Основные шаги анализа 1⃣Сбор результатов тестов После выполнения тестов мы получаем: Пройденные тесты (Passed) – функционал работает. Проваленные тесты (Failed) – обнаружены ошибки. Тесты с блокировкой (Blocked) – невозможно выполнить (например, сервер упал). Пропущенные тесты (Skipped) – не запускались (например, из-за зависимостей). Total tests: 100 Passed: 85 Failed: 10 Blocked: 3 Skipped: 2 2⃣Анализ проваленных тестов Если тест провалился, важно понять почему: Ошибка в логике продукта (баг в коде). Ошибка в данных (например, тест использовал устаревшую базу). Ошибка в самом тесте (некорректные ожидания). Проблемы с окружением (сервер не отвечает). { "error": "Internal Server Error", "code": 500 } 3⃣Проверка стабильности багов Если тест проваливается не всегда, это может быть: Флаки-тест (нестабильный тест, зависящий от окружения). Проблема с таймингами (например, API не успевает ответить). Нагрузочная проблема (сервер не справляется с запросами). 4⃣Анализ метрик и отчетов После тестирования важно посмотреть общую картину. 5⃣Формирование отчетов и выводов После анализа тестов формируется отчет, где указываются: Какие тесты прошли и какие упали. Какие ошибки критичные и требуют исправления. Нужно ли регрессионное тестирование после исправления багов. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какие знаешь логические операторы в JS? Логические операторы в JavaScript используются для выполнения логических операций над значениями, в основном true и false. 🟠Логическое И (`&&`) Возвращает true, если оба операнда истинны, иначе false console.log(true && true); // true console.log(true && false); // false console.log(5 > 3 && 10 < 20); // true Если первый операнд false, второй даже не проверяется (short-circuiting). console.log(false && console.log("Это не выведется")); 🟠Логическое ИЛИ (`||`) Возвращает true, если хотя бы один из операндов истинный. console.log(true || false); // true console.log(false || false); // false console.log(5 > 10 || 3 < 8); // true Если первый операнд true, второй даже не проверяется (short-circuiting). console.log(true || console.log("Это не выведется")); 🟠Логическое НЕ (`!`) Инвертирует логическое значение. console.log(!true); // false console.log(!false); // true console.log(!0); // true (так как 0 — это "ложное" значение) Используется для приведения значений к true или false. console.log(!!"hello"); // true (не пустая строка → истина) console.log(!!0); // false (0 → ложь) 🟠Оператор "??" (Nullish Coalescing) Возвращает первое НЕ null и НЕ undefined значение. let user = null; console.log(user ?? "Гость"); // "Гость" let name = "Иван"; console.log(name ?? "Без имени"); // "Иван" В отличие от ||, не обрабатывает 0 и "" как ложные значения. console.log(0 || "По умолчанию"); // "По умолчанию" console.log(0 ?? "По умолчанию"); // 0 (НЕ заменяется) 🟠Тернарный оператор (`? :`) Позволяет заменить if...else. let age = 18; let message = age >= 18 ? "Доступ разрешен" : "Доступ запрещен"; console.log(message); // "Доступ разрешен" Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какие есть модификаторы доступа в Java? - public — доступен отовсюду; - protected — доступен в пакете и наследниках; - default (package-private) — доступен в пределах пакета; - private — доступен только внутри класса. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как сервер проверит что ключ доступа соответствует? Проверка ключа доступа сервером осуществляется с использованием различных методов аутентификации и валидации. Вот процесс проверки с объяснением: 🟠Получение ключа от клиента Когда клиент отправляет запрос, он включает ключ доступа (например, в заголовке, параметрах запроса или теле). GET /api/resource HTTP/1.1 Authorization: Bearer your_access_token 🟠Сопоставление ключа с базой данных Сервер проверяет ключ, сравнивая его с сохраненными данными: Где хранятся ключи? Обычно ключи хранятся в защищенной базе данных в виде: - Оригинала (например, API-ключей). - Хэша (например, для JWT или паролей, чтобы не хранить оригинальные данные). Что проверяется? - Существование ключа. - Связанная с ним информация (например, пользователь, срок действия, права доступа). 🟠Проверка срока действия (Expiration Time) Для токенов (например, JWT) или временных ключей сервер проверяет, не истек ли срок действия: Для API-ключей это может быть статическое поле "срок действия" в базе данных. Для JWT срок действия зашит в самом токене в поле exp. 🟠Валидация подписи (для JWT или шифрованных ключей) Если используется токен, сервер проверяет его подлинность с помощью подписи: JWT: Сервер декодирует токен и проверяет подпись, используя секретный ключ (HS256) или открытый ключ (RS256). Если подпись невалидна, запрос отклоняется. Зачем подпись? Чтобы удостовериться, что токен был выдан сервером и не изменен. Пример кода валидации JWT на Python с использованием библиотеки PyJWT import jwt SECRET_KEY = "your_secret_key" def validate_jwt(token): try: payload = jwt.decode(token, SECRET_KEY, algorithms=["HS256"]) return payload # Возвращает данные токена, если он валиден except jwt.ExpiredSignatureError: return "Token expired" except jwt.InvalidTokenError: return "Invalid token" 🟠Проверка прав доступа Сервер анализирует связанный с ключом контекст (например, роли или разрешения): Пример: Пользователь с ключом KEY123 имеет доступ только к определенным данным или функциям. Реализация: Хранение прав в базе данных или в самом токене (внутри payload). 🟠Ответ на основе результата проверки Если ключ валиден, сервер разрешает доступ к ресурсу и возвращает данные. Если ключ недействителен (не существует, истек, не имеет прав), сервер возвращает ошибку, например: 401 Unauthorized (для отсутствия или невалидного ключа). 403 Forbidden (если прав недостаточно). Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!