What does an HTTP request consist of?
QA / QA Automation
What is a trace matrix and how is it formed?
What is cache, what are cookies?
REST API: how to create a mock service? Provide examples of tools.
Why is ORM used in tests and when is it better not to use it?
Object-Oriented Programming (OOP) is a programming approach where code is organized into objects. Encapsulation Encapsulation is the bundling of data and methods that operate on that data within a single class, as well as restricting direct access to the internal state of the object. Simply put: the object manages its own data, and external code interacts with it through methods. Abstraction Abstraction is the process of highlighting only the important characteristics of an object and hiding implementation details. Simply put: the user cares about what the object does, not how it does it. Polymorphism Polymorphism is the ability of objects with different implementations to use the same interface. In testing, this helps to write universal code that works with different data types or classes. Example in Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Woof!" class Cat(Animal): def make_sound(self): return "Meow!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Woof! animal_sound(cat) # Meow! In autotests, polymorphism is useful for: - Creating universal verification methods - Implementing different testing strategies through a single interface - Supporting different API/UI versions without changing tests Inheritance Inheritance is a mechanism that allows a new class to use an existing one, automatically inheriting its properties and methods. Simply put: the new class reuses the code of the parent class and extends it if necessary. Git 1. Version control systems. Local, centralized, distributed. 2. Main concepts. Repository, index, commit, pointers, branch, working copy. 3. Working with repository. Commands: init, clone, status 4. Creating a commit. Commands: add, commit. 5. Creating, viewing, switching between branches, deleting. Commands: branch, checkout, log, diff. 6. Undo changes. Commands: restore, rm, checkout, revert. 7. Merging changes between branches. Commands: merge, cherry-pick, rebase. 8. Working with remote repository. Commands: fetch, pull, push. 9. Working with GitHub, forks, and Pull Requests.
What are ORDER BY and GROUP BY used for in SQL? Which aggregate functions have you used in your work?
What is the difference between PUT and PATCH methods and what are their features?
How is the message race condition addressed in Kafka?
Tell about the bug lifecycle. You can refer to statuses.
What information is transmitted in the HTTP request headers?
What is message tracing and how does it help localize defects in microservice architecture?
In which cases does it make sense to use asynchrony, and in which does it not? How do you implement asynchrony in tests?
How to implement soft assert in pytest for multiple checks in a test so that the test does not fail on the first error but performs all checks?
What is the difference between an iterator and a generator?
What is the difference between Smoke, Sanity, and Regression testing?
How to intercept and modify API responses in Playwright for UI testing?