What are pros of Monolith?
What are cons of Monolith?
What are pros of Microservices?
What are cons of Microservices?
What is race condition?
A race condition occurs in a multithreaded or parallel program when two or more threads or processes access shared resources or variables concurrently, and the final outcome depends on the unpredictable timing or order of their execution. This can lead to unpredictable behavior, errors, or bugs that are difficult to reproduce and diagnose.
What is deadlock?
A deadlock is a situation in concurrent programming where two or more processes or threads are unable to proceed because each is waiting for the other to release a resource they need.
What is functional programming?
A programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing state and mutable data. It emphasizes the use of pure functions, immutability, and declarative code, contrasting with the imperative programming paradigm.
What key concepts of functional programming?
What key concepts of object oriented programming?
What is diff functional vs object oriented programming?
Key Differences:
* Approach to Problem-Solving:
* FP focuses on transforming data through the composition of pure functions without mutable state.
* OOP emphasizes modeling real-world entities as objects with state and behavior, enabling abstraction and encapsulation.
* Mutability:
* FP encourages immutability and avoids mutable state to prevent side effects.
* OOP allows mutable state within objects, which can lead to more complex interactions and potential side effects.
* Core Concepts:
* FP revolves around functions, higher-order functions, and function composition.
* OOP revolves around classes, objects, inheritance, encapsulation, and polymorphism.
Choosing Between FP and OOP:
* Use Functional Programming When:
* Dealing with transformations of data.
* Avoiding mutable state and side effects.
* Emphasizing concurrency and parallelism.
* Use Object-Oriented Programming When:
* Modeling real-world entities and interactions.
* Encapsulating data and behavior within objects.
* Promoting code reusability through inheritance and polymorphism.
What is SOLID?
SOLID is an acronym that represents a set of principles for writing clean, maintainable, and scalable object-oriented code.
What keys of SOLID?