Design a Meeting Scheduler

SO Lately, I took an interview. I was asked to design a meeting scheduler, just like in the Microsoft outlook calendar or the gmail calendar. I proposed that I will create an array of 48 for each day. Every 30 min representing the array entry. I have to make sure that the next appointment does… Continue reading Design a Meeting Scheduler


OAuth 2

OAuth 2 is an authorization framework that enables applications to obtain limited access to user accounts on an HTTP service, such as Facebook, GitHub, and DigitalOcean. It works by delegating user authentication to the service that hosts the user account, and authorizing third-party applications to access the user account. OAuth 2 provides authorization flows for… Continue reading OAuth 2

Load Balancer

Differences Between Layer 4 and Layer 7 Load Balancing -  Layer 4 load balancing operates at the intermediate transport layer, which deals with delivery of messages with no regard to the content of the messages. Transmission Control Protocol (TCP) is the Layer 4 protocol for Hypertext Transfer Protocol (HTTP) traffic on the Internet. Layer 4 load balancers simply forward network packets to and from… Continue reading Load Balancer

Proxy Pattern

This is not same as Bridge Pattern. “Provide a surrogate or placeholder for another object to control access to it” is the intent provided by GoF.   When to use this pattern? Proxy pattern is used when we need to create a wrapper to cover the main object’s complexity from the client. Types of proxies Remote… Continue reading Proxy Pattern


One of the most obvious of these is that JSON is significantly less verbose than XML, because XML necessitates opening and closing tags (or in some cases less verbose self-closing tags), and JSON uses name/value pairs, concisely delineated by “{“ and “}” for objects, “[“ and “]” for arrays, “,” to separate pairs, and “:”… Continue reading JSON vs XML

OOPS Basic

  The four principles of OOP. 1. Encapsulation 2. Abstraction 3. Inheritance 4. Polymorphism Inheritance is a mechanism of acquiring the features and behaviors of a class by another class. The class whose members are inherited is called the base class, and the class that inherits those members is called the derived class. Inheritance implements… Continue reading OOPS Basic

Design a highly consistent and is network partition tolerant DB

Link to original IntervieBit article Q: What is the amount of data that we need to store?  Anwer: Let's assume a few 100 TB. Q: Do we need to support updates?  A: Yes. Q: Can the size of the value for a key increase with updates?  A: Yes. In other words, its possible a sequence of keys could co-exist on one server previously,… Continue reading Design a highly consistent and is network partition tolerant DB