В этой подборке вопросы сгруппированы по формату «Технические вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: database, sql, backend.
Проверьте существующий и отсутствующий ID, повторное удаление, чужую запись, авторизацию и неверный формат идентификатора. После операции важен фактический результат, а не только код ответа.
Возможны неверный Content-Type, повреждённое тело или ошибочная обработка файла прокси либо клиентом. По одному симптому нельзя уверенно назначить виновным frontend или backend.
Реляционная модель организует данные в отношениях с ограничениями и связями, а NoSQL объединяет модели документов, ключ-значение, графов и другие. Выбор зависит от запросов и требований к целостности.
Это анализ граничных значений, Boundary Value Analysis. Он проверяет значения на границах классов эквивалентности и рядом с ними, где часто возникают ошибки сравнений и ограничений.
Для сокращения большого числа сочетаний используют комбинаторное, в частности попарное тестирование. Pairwise подбирает набор, в котором каждая допустимая пара значений параметров встречается хотя бы раз.
Для name проверьте латиницу и границы 254/255/256 символов, для price — целые 4999/5000/5001 и неверные типы. Минимум, обязательность и допустимость пустого имени в требованиях не определены.
Объедините связанные параметры в осмысленный объект запроса или используйте builder с именованными методами. Сначала проверьте, не выполняет ли сам метод слишком много разных обязанностей.
Артефакты GitLab CI сохраняют результаты задания: отчёты, логи, сборки и другие файлы, нужные после его завершения или следующим jobs. Это не то же самое, что кэш зависимостей.
К основным группам относятся агрегатные, строковые, числовые функции и функции дат. Например, COUNT считает строки или ненулевые значения, SUM суммирует, AVG вычисляет среднее.
Обычно стратегия задаёт долгосрочный подход для продукта, а план конкретного релиза уточняет объём, сроки и риски. Термины могут различаться в организации, поэтому важнее разделение назначения документов.
ArrayList — реализация интерфейса List на основе динамического массива. List описывает контракт последовательности, а Array в названии указывает на внутренний способ хранения.
Journal хранится в структурированном бинарном формате, поэтому cat не является корректным средством его чтения. journalctl понимает этот формат и умеет отбирать записи по службе, времени и другим полям.