SDE SHEET – A Complete Guide for SDE Preparation
What is SDE Sheet?SDE Sheet
is a list of the most important topics or the most popular questions that are asked in the Software Development Engineer Interviews.
How is this sheet different or better from others?Table of Contents/Roadmap
- It doesn’t contain only coding questions.
- It covers all the segments round-wise like MCQs, DSA (Coding Questions), CS Subjects, Puzzles, System Design, Projects.
- It is helpful for both – Freshers and Experienced.
- Build a Resume
- Aptitude and Reasoning
- Computer Science Subjects
Multiple Choice Questions (MCQs)
Build a Perfect Resume
The sole purpose of a resume is to make you land your dream job. It introduces your qualifications, skills, achievements, and everything regarding your expertise. It helps you land into your career. When you have a perfect resume, nothing can be a hindrance to the best job.
Create and Know how to build a perfect Resume – Free Resume Builder By GeeksforGeeks – Create Resume Online
Data Structures and Algorithms
Keep a track of all the DSA problems mentioned below – Practice SDE SheetArraysAn array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together.Searching and SortingHashingMatrixA matrix represents a collection of numbers arranged in an order of rows and columns. It is necessary to enclose the elements of a matrix in parentheses or brackets.StringStrings are defined as an array of characters. The difference between a character array and a string is the string is terminated with a special character ‘\0’.Recursion and Backtracking
Check out the tutorial videos for all of the problems listed below – SDE Sheet Videos. We will continue to add videos on a daily basis.
Recursion: The process in which a function calls itself directly or indirectly is called recursion and the corresponding function is called as recursive function.
Backtracking: Backtracking is an algorithmic-technique for solving problems recursively by trying to build a solution incrementally, one piece at a time, removing those solutions that fail to satisfy the constraints of the problem at any point of time (by time, here, is referred to the time elapsed till reaching any level of the search tree).Bit ManipulationBit Manipulation is a technique used in a variety of problems to get the solution in an optimized way.Stack and Queue
Stack: A stack is a linear data structure in which elements can be inserted and deleted only from one side of the list, called the top. A stack follows the LIFO (Last In First Out) principle.
Queue: A queue is a linear data structure in which elements can be inserted only from one side of the list called rear, and the elements can be deleted only from the other side called the front. The queue data structure follows the FIFO (First In First Out) principle.Linked List A Linked list is a linear data structure, in which the elements are not stored at contiguous memory locations.Binary TreeA tree whose elements have at most 2 children is called a binary tree. Since each element in a binary tree can have only 2 children, we typically name them the left and right child.Binary Search TreeBinary Search Tree is a node-based binary tree data structure which has the following properties:
Greedy ApproachGreedy is an algorithmic paradigm that builds up a solution piece by piece, always choosing the next piece that offers the most obvious and immediate benefit.Dynamic ProgrammingDynamic Programming is mainly an optimization over plain recursion. Wherever we see a recursive solution that has repeated calls for same inputs, we can optimize it using Dynamic Programming.HeapA Heap is a special Tree-based data structure in which the tree is a complete binary tree.
- The left subtree of a node contains only nodes with keys lesser than the node’s key.
- The right subtree of a node contains only nodes with keys greater than the node’s key.
- The left and right subtree each must also be a binary search tree.
GraphA Graph is a non-linear data structure consisting of nodes and edges. The nodes are sometimes also referred to as vertices and the edges are lines or arcs that connect any two nodes in the graph.TrieTrie is an efficient information retrieval data structure. Using Trie, search complexities can be brought to optimal limit (key length).
|Find median in a stream||View||Solve||Watch|
|Operations on Binary Min Heap||View||Solve||Watch|
|Merge K sorted Linked lists||View||Solve||Watch|
|Kth smallest element in a row-column wise sorted matrix||View||Solve||Watch|Operating SystemAn operating system acts as an intermediary between the user of a computer and computer hardware. The purpose of an operating system is to provide an environment in which a user can execute programs conveniently and efficiently.
|Trie | (Insert and Search)||View||Solve||Watch|
|Trie | (Delete)||View||Solve||Watch|
|Print unique rows in a given Binary matrix||View||Solve||Watch|
|Counting the number of words in a Trie||View||Solve||Watch|
|Longest Common Prefix using Trie||View||Solve||Watch|
|Auto-complete feature using Trie||View||Solve||Watch|
|Boggle | Set 2 (Using Trie)||View||Solve||Watch|
|Minimum XOR Value Pair||View||Solve||Watch|
|Palindrome pair in an array of words (or strings)||View||Solve||Watch|
Below links contains complete Operating System Study Material:
DBMSDatabase is a collection of inter-related data which helps in efficient retrieval, insertion and deletion of data from database and organizes the data in the form of tables, Links, schemas, reports etc.
Below Links contains complete DBMS study Material:
SQLSQL stands for Structured Query Language. It is a language used to interact with the database, i.e to create a database, to create a table in the database, to retrieve data or update a table in the database.
Below Links contains complete SQL study Material:
Computer NetworksA computer network is a system that connects numerous independent computers in order to share information (data) and resources. The integration of computers and other different devices allows users to communicate more easily.
Below Links contains complete Computer Networks study Material:
PuzzlesPuzzles are one of the ways to check your problem-solving skills. These are tricky questions that let you think logically.
Try to solve these 20 most popular puzzles asked in Interviews
ProjectsThoroughly revise all the work you have done till now in your projects. The grilling about projects can sometimes be very deep. Also, choose your words before you speak. Mention only those topics where you think you are fine to be grilled upon.
If you haven’t made a project then take an idea from GFG Projects and start working on it.
System Design System Design is the process of designing the architecture, components, and interfaces for a system so that it meets the end-user requirements. System Design for tech interviews is something that can’t be ignored!
Almost every IT giant whether it be Facebook, Amazon, Google, or any other ask various questions based on System Design concepts such as scalability, load-balancing, caching, etc. in the interview.
This specifically designed System Design tutorial will help you to learn and master System Design concepts in the most efficient way from basics to advanced level.
Note: We will start uploading videos soon.Bonus SDE Sheets
You can prepare for several types of interviews here. For instance, if you want to prepare for a Google interview, we have an SDE sheet specifically designed for that purpose. Here we attached the links to the top 5 product based and top 5 Service based preparation SDE Sheets.
Product Based Company SDE Sheets Service Based Company SDE Sheets