Introduction to Circuit Breaker In Software Engineering

What is common among mighty water dam, humble electric fuse, and i-dunno-what hysterix and hysterix-go? Take a moment to think of an answer. Yes. All of them are some sort of check that stops bad things from happening by deploying some safeguarding measure whenever a threshold is crossed. What exactly is circuit breaking? While researching... Continue Reading →

Is your API idempotent?

You would frequently find senior engineers asking this question in your code review. But what exactly is idempotency? Idempotency is basically operations that when done once or multiple times, gives you the same result.  Have you used this two-way switch? If yes, do you think this is idempotent? (Last I heard, senior engineers were not... Continue Reading →

Timeouts are important. 

But what are timeouts? Timeouts are a set of configurations that a developer provides when one service calls another service.  Broadly, there are two types of timeouts. Connection Timeout  Say, service A is calling service B. Service B has a total of 10 connections and assumes all of them are used. Now, if service A... Continue Reading →

Introduction to Software Engineering

This course is designed for someone who has a basic to no understanding of coding. The course intends to provide flavours of little bit of everything. There are also links to leetcode problems that you should solve. Leetcode problems are selected in a way to provide you familiarity with different data structures and algorithms. Week... Continue Reading →

Implement a file system in Java given n-bytes

Problem Statement Given n - bytes, implement a file system that supports following actions: Create File Update File Read File Delete File If you want a good start point for a small low level design problem, this post on designing a ride hailing service might be a good start. Demystifying Problem Statement When the problem... Continue Reading →

GoLang Journey – Composite Types

You might want to read the previous post in the series. Composite types created by combining the basic types like int, float etcetra. Arrays An array is a fixed length sequence of zero or more elements of particular type Because of the fixed length constraints, Arrays are rarely used in Go if "..." appears in... Continue Reading →

GoLang Journey – Basic Data Types

You might want to browse the previous post on this series. Integers Go provides both signed and unsigned integer type There are four different size of signed integer type; 8, 16, 32, 64 bits, represented by int8, int16, int32 and int64 Similarly there are four different size of unsigned integer types; 8, 16, 32, 64... Continue Reading →

Up ↑