When designing systems, we need to know the different types of storage paradigms to manipulate data optimally. When we need to design a system that will use graph DB, spatial DB, blob, or time series DB, we need to know in what situation we can...
What is Hashing? When implementing code or designing a system, hashing will be there. The fundamental knowledge of the hashing concept will make a big difference to design high quality systems and pass in the systems design interview. In simple...
A load balancer actively distributes incoming network traffic across multiple servers or resources, optimizing resource utilization, scalability, and the availability of applications or services. It acts as a traffic manager, evenly distributing...
We must know what a proxy is to design cloud systems and pass in the systems design interview. Proxy is powerful and useful to create an intermediary between the client and server. Let’s see what types of proxies we have, how they can be...
Not a long time ago, knowing some clean code techniques, a programming language well, and basic frameworks to create a monolith application was enough to build software, nowadays the game changed. In the cloud era, a software developer has to be...
The merge sort is a sorting algorithm that uses a divide-and-conquer strategy to sort an array of elements. It is an efficient sorting algorithm, with an average time complexity of O(n log n). The merge sort algorithm works by recursively dividing...
AI is a powerful science that has evolved a lot throughout the years and one tool that can clearly show that is the Chat GPT. There are self-driving cars, the amazing AlphaZero AI that learned chess very quickly and was able to beat an application...
The Java Community Process (JCP) is a collaborative effort between the Java community and Oracle Corporation to develop and evolve the Java Platform, Standard Edition (Java SE), Java Platform, Enterprise Edition (Jakarta EE), and related...
Streams are really important for every Java developer to master. Some functions such as max and min are also important and that’s what we will explore in the following Java code challenge! After trying out to solve the Java code challenge on...
Having success in a small company as a software engineer is very challenging for everyone that is used to working for middle-size or big companies. One big difference that you might expect is that in a small company, you will have to wear many hats...