QA / QA Automation
What severity and priority would you assign to this defect?
What does the git pull command consist of? Do you use git fetch?
Test parameterization — is it used, and how is it implemented?
What is Redis, what is it used for in the project?
Tell about the testing pyramid. Why do E2E tests occupy the top and should be the least?
How did microservices communicate with each other?
What is the difference between primitive and reference types?
Prepare an example: a counter without synchronization and with Synchronized/AtomicInteger, explain what bugs are possible without synchronization.
What did you do at the bank? Which part of the product did you test?
Have you worked with gRPC on projects?
Is there someone above you who is globally responsible for testing processes and tool selection?
When should micro-frontends be used, and when should a monolithic application be left?
If I don't know the keys, what approaches are there to iterate over the entire map (HashMap) and find a value?
If you got a feature or module without complete information/data, how did you cope? What actions did you take to get the missing information?
You haven't had UI autotests, is that correct?
How is the message race condition addressed in Kafka?
What about the deadlines? How were the deadlines managed on your projects?
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 does ICMP do and what parameters can be set in ping?
Have you worked with message brokers? Have you tested Kafka manually or through automated tests?