In Java, we can use memoization with a HashMap to cache expensive function calculations so we retrieve the value without having to perform the expensive calculations again. Memoization is a specific form of caching that is employed at the level of...
Listening to podcasts is a great way to learn new perspectives and become better. In this article, we will see specific articles for Java and mindset. I know it’s difficult to find time with all the current distractions and technologies, but...
To design Netflix in a Systems Design interview, we must make questions assuming we will only design the most important features. Otherwise, we won’t be able to finish the design in 45 minutes. Making questions is challenging during a Systems...
Besides algorithms and Systems design interviews in many companies, we might also have a API (Application Programming Interface) design interview. The knowledge of APIs is crucial in the cloud era because Microservices communicate via API...
Map-reduce operations are fundamental to both functional programming and big data. They are crucial in efficiently transforming and performing specialized operations on values. In this article, we will explore the inner workings of map-reduce, its...
Pub-Sub (Publish-Subscribe) is a messaging pattern used in event-driven systems with message brokers. It simplifies communication by separating publishers, who generate events, from subscribers, who consume them. To make this simple, let’s...
Logging and monitoring were important with monoliths, but they’re far more critical with Microservices. That’s because debugging with Microservices is difficult since services are deployed independently. With a robust tool for logging...
Rate limiting is a technique used in computer systems to control the speed at which requests or actions can be made within a specific timeframe. It limits the number of requests occurring within a given period, preventing abuse or overload...
Static and dynamic configurations are two approaches used to set up and modify the settings of cloud services. Static configuration involves defining the configuration parameters before deploying the service. It includes specifying values in...
We use the concept of leader election more often than we think with MicroServices and Systems Design. In the Systems Design interview, it’s also a crucial concept to know because that will make a difference when designing a highly scalable...