This course explains all the deep concepts of Data structure and Algorithms with the help of problems. These problems are frequently asked during interviews. System Design problems also explains with all core components of distributed system.

Given an array consisting only 0's, 1's and 2's. Write a program to sort this array in O(n) time complexity with only one traversal ~~~~ Asked in : AmazonMicrosoftAdobeWalmartLabs

Given an array of integers where each element represents the max number of steps that can be made forward from that element. Write a program to find the minimum number of jumps to reach the end of the array (starting from the first element). If an element is 0, then cannot move through that element. ~~~~ Asked in : AdobeIntuit

You have given a number. You have to find out next greater number to given number with the same set of digits ~~~~Asked in : Morgon StanleyMakemystripAmazon

A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of its bottom-left corner, and (x2, y2) are the coordinates of its top-right corner. Like above two rectangle given with there respective coordinates. Find if these rectangle overlap or not. ~~~~Asked in : GoldmanSachsExpediaOLA

You are given arrival and departure time of trains reaching to a particular station. Write a program to find minimum number of platforms required to accommodate the trains at any point of time ~~~~ Asked in : DE-ShawPaytmCisco

you are given a matrix of m x n elements (m rows, n columns), Write a Program to print all elements of the matrix in spiral order ~~~~Asked in : MicrosoftOLAPayTmOracle

Given an unsorted array of integers whose each element lies in range of 0 to n-1 where n is the size of the array, Calculate the frequency of all the elements present in the array in O(n) time and constant space ~~~~Askedin: PayTm, VmWare, Amazon

You are given an array represents cost of a stock on each day. You are allowed to buy and sell the stock only once. Write an program to maximize the profit in single buy and sell ~~~~ Asked in : AmazonMicrosoftFlipkartDE-Shaw

You are given a square matrix, Write a Program to turn it by 90 degrees in anti-clockwise direction without using any extra space ~~~~ Asked in : FacebookGoogle AmazonMicrosoft

There are ( N+1 ) people in a party, they might or might not know each others names. ?There is one celebrity in the group (total N + 1 people), celebrity does not know any of N peoples by name and all N people know celebrity by name. You are given the list of people’s names (N + 1), You can ask only one question from the people. Do you know this name? How many maximum number of questions you need to ask to know the celebrity name? ~~~~Asked in : GoogleFlipkartAmazonMicrosoft

Implement the next permutation, which rearranges numbers into the numerically next greater permutation of numbers. If such arrangement is not possible, it must be rearranged as the lowest possible order ie, sorted in an ascending order. The replacement must be in-place, do not allocate extra memory ~~~~Asked in : MicrosoftMorgon StanleySamsungIntuit

Given an array where every element occurs three times, except one element which occurs only once. Find the element that occurs once. Expected time complexity is O(n) and O(1) extra space ~~~~Asked in : FlipkartAmazonPayTm

you are given positive integers in the form of array which represent an elevation map where the width of each bar is 1, Write a Program to compute how much water it is able to trap after raining ~~~~ Asked in : MicrosoftDE-ShawAmazonAdobe

Given an unsorted Array, Write a Program to find the count of Inversion required to make this array sorted. [The inversions of an array indicate; how many changes are required to convert the array into its sorted form ~~~~Asked in : GoogleMicrosoft

There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)) ~~~~ Asked in : IntuitAdobe

Design a data structure which performs the following operations(Insert an element/Remove an element /find random element) in O(1) time complexity ~~~~ Asked in : GoogleFacebookAmazon

Given two strings str and ptr, the task is to find the smallest substring in str containing all characters of ptr efficiently ~ Asked in : WalmartLabsFacebook

Understanding the space and time complexity by using Big O language is recommended. From space and time complexity we can measure the complexity of an Algorithms

Understanding the sharding techniques used in Distributed System. Sharding is technique to break up a big database (DB) into many smaller parts. For understanding scalable architecture, sharding is mandatory to understand

Understanding of scalable architecture of DB. This section explains the relational databases and non-relational databases and CAP theoram used in distributed system

Design an instant messaging service like Whatsapp and Facebook Messenger where a user can send the instant message to other user through mobile ~~~Asked in : SapLabsFacebook

Design a hit counter which counts the number of hits received in the past 5 minutes. Each function accepts a timestamp parameter (in seconds granularity) and you may assume that calls are being made to the system in chronological order (i.e. the timestamp is monotonically increasing). You may assume that the earliest timestamp starts at 1 ~~~~ Asked in : MicrosoftAmazonOLA

Design Object Oriented Design of Airline Reservation System(Like MakeMyTrip,Yatra.com) . An Airline Management System is a managerial software which targets to control all operations of an airline. Airlines provide transport services for their passengers [Asked in : MakeMyTripUber]

Design a System like CricInfo which gives the details of a match along with all the players details and live ball by ball coverage of Match [ Asked in : Oracle,Qualcomm ] ]

Design Online food delivery system like Swiggy, Zomato Apps. In this App user can search Restaurant, Select items in menu and Place Order. This System should also allow user to track its Order.

Consider a undirected graph without loops and multiple edges. We have to check whether it is acyclic, and if it is not, then find any cycle ~~~~Asked in : AdobeMakemyTripIntuit

For a directed acyclic graph (DAG), a topological ordering is a linear ordering of its vertices such that for every directed edge from vertex to vertex (i.e., edge ), u is listed before v. problem based on similar concept : There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pair: [0,1] Given the total number of courses and a list of prerequisite pairs, is it possible for you to finish all courses? ~~~~Asked in : AccoliteFlipkart

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water ~~~~Asked in : CitrixInformaticaExpedia

There is a new alien language which uses the latin alphabet. However, the order among letters are unknown to you. You receive a list of words from the dictionary, where words are sorted lexicographically by the rules of this new language. Derive the order of letters in this language ~~~~Asked in : GoogleWalmartLabsAdobe

Given a matrix of dimension m*n where each cell in the matrix can have values 0, 1 or 2 0: Empty cell 1: Cells have fresh oranges 2: Cells have rotten oranges we have to determine what is the minimum time required so that all the oranges become rotten ~~~~ Asked in : MicrosoftAmazonExpedia

Given a dictionary, a method to do lookup in dictionary and a M x N board where every cell has one character. Find all possible words that can be formed by a sequence of adjacent characters. Note that we can move to any of 8 adjacent characters, but a word should not have multiple instances of same cell

Given a snake and ladder board, find the minimum number of dice throws required to reach the destination or last cell from source cell ~~~~ Asked in : AmazonFlipkart

A number is called as a Jumping Number if all adjacent digits in it differ by 1. The difference between ‘9’ and ‘0’ is not considered as 1. Given a positive number x, print all Jumping Numbers smaller than or equal to x ~~~~Asked in : Morgan StanleyOLANetApp

Trie is the data structure very similar to Binary Tree. Trie data structure stores the data in particular fashion, so that retrieval of data became much faster and helps in performance Asked in : NetAppIntuitOracle

There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prerequisites, for example to take course 0 you have to first take course 1, which is expressed as a pair: [0,1] Given the total number of courses and a list of prerequisite pairs, is it possible for you to finish all courses? [Asked in : AdobeWalmartLabsGoogle]

Given two sequences, print all the possible longest common subsequence present in them. Let X be “XMJYAUZ” and Y be “MZJAWXU” then output is ~~~~ Asked in : LinkedinPayPal

Given two words word1 and word2, find the minimum number of operations required to convert word1 to word2. You have the following 3 operations permitted on a word: 1. Insert a character 2. Delete a character 3. Replace a character Asked in : AmazonMicrosoftMyntraCisco

Given an unlimited supply of coins of given denominations, find the total number of distinct ways to get a desired change ~~~~ Asked in : Morgan StanleyMicrosoftPayTm

The Longest Palindromic Subsequence (LPS) problem is the problem of finding the longest subsequences of a string that is also a palindrome ~~~~Asked in : LinkedinUberPaypal

Given an input string and a dictionary of words, find out if the input string can be segmented into a space-separated sequence of dictionary words ~~~~Asked in : GoogleWalmartLabsIBM

There are n number of eggs and building which has k floors. Write an algorithm to find the minimum number of drops is required to know the floor from which if egg is dropped, it will break ~~~~Asked in : IntuitAmazon

Given two integer arrays val[0..n-1] and wt[0..n-1] which represent values and weights associated with n items respectively. Also given an integer W which represents knapsack capacity, find out the maximum value subset of val[] such that sum of the weights of this subset is smaller than or equal to W ~~~~Asked in : AmazonGoogle

we have a specially made keyboard which has following four keys 1. This key prints character 'A' 2. (Ctrl-A) 3. (Ctrl-C) 4. (Ctrl-V) If you are allowed to press keys of this special keyboard N times, write a program which calculates maximum numbers of A's possible ~~~~Asked in : GoogleAdobeNetApp

Given three strings A, B and C. Write a function that checks whether C is an interleaving of A and B. C is said to be interleaving A and B, if it contains all characters of A and B and order of all characters in individual strings is preserved ~~~~Asked in : YahooYatra

Partition problem is to determine whether a given set can be partitioned into two subsets such that the sum of elements in both subsets is same ~~~~Asked in : AmazonMicrosoft

Given an input string (s) and a pattern (p), implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single character. '*' Matches any sequence of characters (including the empty sequence). The matching should cover the entire input string. ~~~~Asked in : InMobiOLACisco

Given a cost matrix matrix[][] and a position (m, n) in matrix[][], write a function that returns cost of minimum cost path to reach (m, n) from (0, 0). Each cell of the matrix represents a cost to traverse through that cell ~~~~Asked in : AmazonFacebook

You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top ~~~~Asked in : Morgan StanleyAccoliteSamsung

Given a maze, NxN matrix.matrix[0][0] (left top corner)is the source and matrix[N-1][N-1](right bottom corner) is destination. There are few cells which are blocked, means rat cannot enter into those cells. Rat can move in any direction ( left, right, up and down). A rat has to find a path from source to destination ~~~~Asked in : MakeMyTripYatraExpedia

Given a square chessboard of N x N size, the position of Knight and position of a target is given. We need to find out minimum steps a Knight will take to reach the target position~~~~Asked in : AmazonWalmartLabs

find an arrangement of N queens on a chess board, such that no queen can attack any other queens on the board. The chess queens can attack in any direction as horizontal, vertical, horizontal and diagonal way [Asked in : VISAIntuit]

This is probably the most important lecture of this course. Without Complete understanding of recursion Algorithms can be imagine. Binary Tree , DP, Graph , backtracking and many topics root is Recursion

Given a binary tree , convert it to a doubly Linked List(DLL) in-place. The left and right pointers in nodes are to be used as previous and next pointers respectively in converted DLL. The order of nodes in DLL must be same as inorder of the given Binary Tree. The first node of Inorder traversal (left most node in binary tree) must be head node of the DLL Asked in : AmazonMicrosoftFlipkartWalmartLabs

Given a Binary Tree and a positive integer ‘k’, write code which will print all the nodes which are at distance ‘k’ from the root Asked in : UberFlipkartSamsung

We are given a binary tree (with root node root), a target node, and an integer value K. Return a list of the values of all nodes that have a distance K from the target node. The answer can be returned in any order Asked in : GoogleAmazonFacebook

Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root Asked in : FlipkartAmazonMicrosoftFacebookIntuitBroadcom

Given a binary tree, print the values of nodes which would be present in left view of binary tree. A node will be in the left-view if it is the left-most node at its level Asked in : AmazonEMC2SAP-Labs

Given a binary tree, print its nodes level by level in reverse order. It means all the nodes at the last level should be printed first followed by the nodes of second last level and so on

Given a Binary Tree, find vertical sum of the nodes that are in same vertical line. Print all sums through different vertical lines Asked in : FacebookOLAMyntra

Given a binary tree, print its nodes level by level in spiral order. i.e. all nodes present at level 1 should be printed first from left to right, followed by nodes of level 2 right to left, followed by nodes of level 3 from left to right and so on Asked in : AdobeJ P MorganFlipkart

Write an algorithm to serialize and deserialize a binary tree. Writing the tree to a file is called 'serialization' and reading back from the file to reconstruct the exact same binary tree is 'deserialization' Asked in : MicrosoftQualcommJ P morganSandisk

Given a stream of characters, find the first non-repeating character from stream. You need to tell the first non-repeating character in O(1) time at any moment Asked in : MyntraOLAMicrosoft

Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get(key)and set(key,value) Asked in : FacebookWalmartLabsYatraMakemytrip

Given an array of n integers and an integer target, Find if there elements a, b, c, and d in integers present in array such that a + b + c + d = target. Find all unique quadruplets in the array which gives the sum of target Asked in : WalmartLabsOLAGoogle

Given that integers are being read from a data stream. Find median of all the elements read so far starting from the first integer till the last integer. The data stream can be any source of data, example: a file, an array of integers etc Asked in : GoogleAmazonFlipkartSapLabsWalmartLabs

Given two strings string1 and string2, the task is to find the smallest substring in string1 containing all characters of string2 Asked in : FacebookJ P morgan]

Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the this histogram Asked in : AmazonIBM-ISL

Given a linked list, in addition to the next reference, each node has a child pointer that can point to a separate list. With the head node, flatten the list to a single-level linked list Asked in : LinkedinYahooMicrosoft

Given two linked list sorted in increasing order. Given two linked list sorted in increasing order. We have to merge sorted linked lists and return a new single linked list which contains nodes of both linked list in increasing order Asked in : WalmartLabsAmazonEMC2

You are given a double Link List with one reference of each node pointing to the next node just like in a single link list. The second reference however can point to any node in the list and not just the previous node.Write a program in O(n) time which will create a copy of this list Asked in : MyntraExpdiaMicrosoftJ P Morgan

Given a linked list, WAP to reverse the nodes of a linked list k at a time and return its modified list. If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is. You may not alter the values in the nodes, only nodes itself may be changed Asked in : CiscoInmobiBroadcomOLAExpedia

Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of some of its components. This video we will explain how to achieve fault tolerance.

One of the Key feature service mesh is used to differentiate the Infrastructure of the system from development. Service Discovery, Load Balancer, Distributed Tracing and Monitoring are the Infrastructure component that is present in Micro service Architecture

Kafka give higher throughput, reliability, and replication has made this technology replace conventional message brokers. Kafka can work with HBase, Flink, Flafka, and Spark for analysis and processing real-time data, which makes Kafka scalable as it allows us to build distributed applications ~~~ Askedin : Uber, Google,Informatica

When we design backend system of DB of any System Design problem, we should take care concurrency and System Asked in : Googlefailure issues during transaction. This video will explain how tackle these transaction issue in backend system .

This tutorial will take transaction concept to next level. If we have scalable distributed system how we design transaction system Asked in : GoogleFacebook

Now a days all The Distributed Microservices are Deployed in Docker Container Cloud Platform. Understanding Cloud Infrastructure is very important for interview. As every industry are already moved to cloud. This Tutorial we will explain all steps involved start from development to deployment Application in Cloud platform

Most of the projects used multithreading system, Multiple ways are there to create and instantiate threads along with that maintain the lifecycle of threads.

Implementation of communication between the threads using wait & Notify methods. Also, Create deadlock and then Remove it. Asked in : IBM-ISLFlipkartApple

Logicmojo provide deep dive concepts of solving algorithms and data structure problems. Every concept explains with complete program and all programs are explained thoroughly.This is very good platform to enhance your skills, expand your knowledge and prepare for technical interviews

Jobs are not less,skilled programmers are less

This course enhances the programming skills, Algorithms concept and problem solving abilities of candidates

System design concepts and Distributed System tutorial will enhance architectural skills of candidates

--About me: Former Employee of Google, Microsoft.

Data Structure,Algorithms and System Design Course

Logicmojo

Data Structure,Algorithms and System Design Course

✓ 45% Discount For Limited Period ✓ Subscribers Will Get All Updates ✓ Interview preparation guidelines by expert

Data Structure, Algorithms, System Design, OOPS Design, Scalable System Design Concepts, Distributed System, Multithreading & Many More....

~~~~ Strengthen Your Concepts & Crack Interviews Of Top organization ~~~~

Prerequisite

✔ Should have basic knowledge of Java/C++/Python Programming
✔ All Concepts Explains From Very Basic to Advanced Level

Who Should Subscribe For this Course

Course Duration : 29+ Hours

Working professionals preparing for interviews of Big-5(Google,Amazon,Microsoft,Facebook,Apple) and Top Product Based organization

B.Tech/MCA/MS Students looking for data structures,Algorithms & System Design coaching

Job seekers who are preparing for interview in Product MNC/ecommerce companies

Anyone who has deep desire to learn data structures,algorithms and system design to improve programming/coding skills and designing skills

Course Content:

Each topic explains from very basic to advanced level by using multiple examples. More focus is on implementation than theory. Every Concepts and Problems explained with complete code. It's like a quick Interview Prepration Guide

Topics Covered in this Course

Arrays and Recursion

Graph

System Design

Object Oriented Design

Dynamic Programming

Hashing & Heap Operations

Backtracking Algorithms & Greedy Algorithms

Scalable System Design Components

Microservice Architecture Concepts

Binary Tree

Stack & Queue

Distributed System

LinkedList

Deployment in Cloud using Docker

Multithreading & Synchronization

FREE LECTURES

Maximum Path Sum in a Binary Tree

Design Generic Deck of Cards

Data Structure which support Insert delete, Random in O(1) time

Frequently asked questions Below are the frequently asked questions from students

Any candidates who is having a basic knowledge of programming in any language can understand this course. This course touches the basic as well as advanced topics required for cracking any interview in software field..Data Structure, Algorithms and System Design is mandatory for any interview in software field whether the candidate is freshers, 3+ years of experience or 10+ years of experience or before college placements

Just Click on Buy Now as shown below

Working professionals preparing for interviews of Big-5(Google,Amazon,Microsoft,Facebook,Apple) and Top Product Based organization

This Course is a Quick Interview Prepration Guide.Any candidates who wants to complete interview pepration within 1 month for top product based companies

Any candidate who is currently working in service based companies and wants to move to top product based company.

Students before campus placements

The prime objective of any interview is to test the candidates logical and critical thinking skills. Algorithms are best way to test candidates logical as well programming skills. So Every companies whether its Google,Amazon,Microsoft or any product based companies test programming skills during interview

For Preparing product based companies interview Level 1 problems in the course is sufficient to prepare, if time permit then go for Level 2 problems

For Preparing top product based companies interview, It require an extra efforts. For top product based companies interview prep you need to complete Level 1 problems + Level 2 problems in this course

Below are the steps in sequence for preparing this course.

Design question patterns differs by one interview to another. If interviewer want to test distributed system skills then Distributed System design question unless OOPS design questions

We cover all the spectrums of topcs required for cracking Interviews. We are not limited to just Data structure,Algorithms & System Design. As we keep on adding new lectures in this course, so many new topics also added in this course

Yes each and every problems in this course explained with code and examples. Our main intension is to make programming skills of our candidates strong. So line by line code explains while solving any problems

Yes, Viewer can access this course anytime, anywhere and it's available to viewers forever

Yes,Subscribers can access this course using any device