SDE SHEET – A Complete Guide for SDE PreparationReadDiscussCoursesPracticeImprove Article ImproveSave Article SaveLike Article LikeWhat 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?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.Table of Contents/RoadmapBuild a ResumeMCQsAptitude and ReasoningComputer Science SubjectsCC++JavaData StructuresAlgorithmsOSDBMSCNData Structures and AlgorithmsArraysSearching and SortingHashingMatrixStringsRecursion and BacktrackingBit ManipulationLinked ListStacks and QueuesBinary TreeBinary Search TreeGreedyDynamic ProgrammingHeapGraphTrieCS SubjectsOperating SytemDBMSSQLComputer NetworksPuzzlesProjectsSystem Design Build a Perfect ResumeThe 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 Multiple Choice Questions (MCQs)C ProgrammingC++JavaData StructuresAlgorithmsOperating SystemDBMSComputer NetworksAptitude Data Structures and AlgorithmsIntroduction to Data StructuresIntroduction to AlgorithmKeep a track of all the DSA problems mentioned below – Practice SDE SheetCheck out the tutorial videos for all of the problems listed below – SDE Sheet Videos. We will continue to add videos on a daily basis.ArraysAn array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together.QuestionArticlePracticeVideoLeaders in an arrayViewSolveWatchEquilibrium pointViewSolveWatchSort an array of 0s, 1s and 2sViewSolveWatchReverse array in groupsViewSolveWatchConvert array into Zig-Zag fashionViewSolveWatchRearrange array alternativelyViewSolveWatchMissing number in arrayViewSolveWatchK-th element of two sorted ArraysViewSolveWatchCheck if two arrays are equal or notViewSolveWatchKadane’s AlgorithmViewSolveWatchSubarray with given sumViewSolveWatchTrapping Rain WaterViewSolveWatchMinimum PlatformsViewSolveWatchStock buy and sellViewSolveWatchLargest Number formed from an ArrayViewSolveWatchLargest subarray with 0 sumViewSolveWatchSwapping pairs make sum equalViewSolveWatchSearching and SortingQuestionArticlePracticeVideoBinary SearchViewSolveWatchQuick SortViewSolveWatchMerge SortViewSolveWatchMerge two sorted arraysViewSolveWatchInversion of ArrayViewSolveWatchSearch in a Rotated ArrayViewSolveWatchSorting Elements of an Array by FrequencyViewSolveWatchSum of Middle Elements of two sorted arraysViewSolveWatchK’th smallest elementViewSolveWatchAllocate minimum number of pagesViewSolveWatchHashingQuestionArticlePracticeVideoFirst element to occur k timesViewSolveWatchFind the element that appears once in sorted arrayViewSolveWatchNumber of pairsViewSolveWatchFind all pairs with a given sumViewSolveWatchCommon elementsViewSolveWatchFind all four sum numbersViewSolveWatchCount distinct elements in every windowViewSolveWatchArray Pair Sum Divisibility ProblemViewSolveWatchLongest consecutive subsequenceViewSolveWatchArray Subset of another arrayViewSolveWatchZero Sum SubarraysViewSolveWatchRelative SortingViewSolveWatchMatrixA 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.QuestionArticlePracticeVideoRotate a matrixViewSolveWatchSpirally traversing a matrixViewSolveWatchSearch in a row wise and column wise sorted matrixViewSolveWatchPrint all palindromic paths from top left to bottom right in a matrixViewSolveWatchFind the row with maximum number of 1sViewSolveWatchFind median in row wise sorted matrixViewSolveWatchCheck if all rows of a matrix are circular rotations of each otherViewSolveWatchStringStrings 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’.QuestionArticlePracticeVideoFind first repeated characterViewSolveWatchReverse words in a given stringViewSolveWatchCheck if string is rotated by two placesViewSolveWatchRoman Number to IntegerViewSolveWatchAnagramViewSolveWatchRemove DuplicatesViewSolveWatchLongest Distinct Characters in the stringViewSolveWatchImplement AtoiViewSolveWatchImplement strstrViewSolveWatchRabin Karp AlgorithmViewSolveWatchKMP AlgorithmViewSolveWatchConvert a Sentence into its equivalent mobile numeric keypad sequence.ViewSolveWatchLongest Common PrefixViewSolveWatchSmallest window in a string containing all the characters of another stringViewSolveWatchUncommon charactersViewSolveWatchMinimum indexed characterViewSolveWatchRecursion and BacktrackingRecursion: 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).QuestionArticlePracticeVideoRecursively remove all adjacent duplicatesViewSolveWatchTower Of HanoiViewSolveWatchSpecial KeyboardViewSolveWatchPermutations of a given stringViewSolveWatchN-Queen ProblemViewSolveWatchSolve the SudokuViewSolveWatchRat in a Maze ProblemViewSolveWatchWord BoggleViewSolveWatchGenerate IP AddressesViewSolveWatchBit ManipulationBit Manipulation is a technique used in a variety of problems to get the solution in an optimized way.QuestionArticlePracticeVideoFind first set bitViewSolveWatchRightmost different bitViewSolveWatchCheck whether K-th bit is set or notViewSolveWatchToggle bits given rangeViewSolveWatchSet kth bitViewSolveWatchPower of 2ViewSolveWatchBit DifferenceViewSolveWatchRotate BitsViewSolveWatchSwap all odd and even bitsViewSolveWatchCount total set bitsViewSolveWatchLongest Consecutive 1’sViewSolveWatchSparse NumberViewSolveWatchAlone in a coupleViewSolveWatchMaximum subset XORViewSolveWatchStack and QueueStack: 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.QuestionArticlePracticeVideoParenthesis CheckerViewSolveWatchMerge Overlapping IntervalsViewSolveWatchStock span problemViewSolveWatchNext larger elementViewSolveWatchLargest Rectangular Area in a HistogramViewSolveWatchQueue using two StacksViewSolveWatchStack using two queuesViewSolveWatchGet minimum element from stackViewSolveWatchLRU CacheViewSolveWatchCircular tourViewSolveWatchFirst non-repeating character in a streamViewSolveWatchRotten OrangesViewSolveWatchMaximum of all subarrays of size kViewSolveWatchLinked List A Linked list is a linear data structure, in which the elements are not stored at contiguous memory locations.QuestionArticlePracticeVideoFinding middle element in a Linked listViewSolveWatchReverse a Linked listViewSolveWatchRotate a Linked ListViewSolveWatchReverse a Linked List in groups of given sizeViewSolveWatchIntersection point in Y shaped Linked listsViewSolveWatchDetect Loop in Linked listViewSolveWatchRemove loop in Linked ListViewSolveWatchn’th node from end of Linked listViewSolveWatchFlattening a Linked ListViewSolveWatchMerge two sorted Linked listsViewSolveWatchPairwise swap of a Linked listViewSolveWatchAdd two numbers represented by Linked listsViewSolveWatchCheck if Linked List is PalindromeViewSolveWatchImplement Queue using Linked ListViewSolveWatchImplement Stack using Linked ListViewSolveWatchGiven a Linked list of 0s, 1s and 2s, sort itViewSolveWatchDelete without head pointerViewSolveWatchBinary 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.QuestionArticlePracticeVideoHeight of Binary TreeViewSolveWatchNumber of leaf nodesViewSolveWatchCheck if given Binary Tree is Height Balanced or NotViewSolveWatchWrite Code to Determine if Two Trees are Identical or NotViewSolveWatchGiven a binary tree, check whether it is a mirror of itselfViewSolveWatchMaximum Path SumViewSolveWatchPrint Left View of Binary TreeViewSolveWatchPrint Bottom View of Binary TreeViewSolveWatchPrint a Binary Tree in Vertical OrderViewSolveWatchDiameter of a Binary TreeViewSolveWatchLevel order traversal in spiral formViewSolveWatchConnect Nodes at Same LevelViewSolveWatchConvert a given Binary Tree to Doubly Linked ListViewSolveWatchSerialize and Deserialize a Binary TreeViewSolveWatchBinary Search TreeBinary Search Tree is a node-based binary tree data structure which has the following properties: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.QuestionArticlePracticeVideoCheck for BSTViewSolveWatchLowest Common Ancestor in a BSTViewSolveWatchCeil in BSTViewSolveWatchK-th Largest Element in BSTViewSolveWatchLargest BST in Binary TreeViewSolveWatchMerge Two Balanced Binary Search TreesViewSolveWatchSorted Array to Balanced BSTViewSolveWatchGreedy 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.QuestionArticlePracticeVideoActivity SelectionViewSolveWatchN meetings in one roomViewSolveWatchCoin PilesViewSolveWatchMaximize ToysViewSolveWatchPage Faults in LRUViewSolveWatchLargest number possibleViewSolveWatchMinimize the heightsViewSolveWatchMinimize the sum of productViewSolveWatchHuffman DecodingViewSolveWatchMinimum Spanning TreeViewSolveWatchDynamic 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.QuestionArticlePracticeVideoMinimum number of CoinsViewSolveWatchLongest Common SubstringViewSolveWatchLongest Increasing SubsequenceViewSolveWatchLongest Common SubsequenceViewSolveWatch0 – 1 Knapsack ProblemViewSolveWatchMaximum sum increasing subsequenceViewSolveWatchMinimum number of jumpsViewSolveWatchEdit DistanceViewSolveWatchCoin Change ProblemViewSolveWatchSubset Sum ProblemViewSolveWatchLongest Palindrome in a StringViewSolveWatchForm a PalindromeViewSolveWatchBox StackingViewSolveWatchRod CuttingViewSolveWatchMin Cost PathViewSolveWatchMinimum sum partitionViewSolveWatchCount number of ways to cover a distanceViewSolveWatchEgg Dropping PuzzleViewSolveWatchHeapA Heap is a special Tree-based data structure in which the tree is a complete binary tree.QuestionArticlePracticeVideoHeap SortViewSolveWatchFind median in a streamViewSolveWatchOperations on Binary Min HeapViewSolveWatchRearrange charactersViewSolveWatchMerge K sorted Linked listsViewSolveWatchKth smallest element in a row-column wise sorted matrixViewSolveWatchGraphA 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.QuestionArticlePracticeVideoDepth First TraversalViewSolveWatchBreadth First TraversalViewSolveWatchDetect cycle in undirected graphViewSolveWatchDetect cycle in a directed graphViewSolveWatchTopological sortViewSolveWatchFind the number of islandsViewSolveWatchImplementing DijkstraViewSolveWatchMinimum SwapsViewSolveWatchStrongly Connected ComponentsViewSolveWatchShortest Source to Destination PathViewSolveWatchFind whether path existViewSolveWatchMinimum Cost PathViewSolveWatchCircle of StringsViewSolveWatchFloyd WarshallViewSolveWatchAlien DictionaryViewViewWatchSnake and Ladder ProblemViewSolveWatchTrieTrie is an efficient information retrieval data structure. Using Trie, search complexities can be brought to optimal limit (key length).QuestionArticlePracticeVideoTrie | (Insert and Search)ViewSolveWatchTrie | (Delete)ViewSolveWatchPrint unique rows in a given Binary matrixViewSolveWatchCounting the number of words in a TrieViewSolveWatchLongest Common Prefix using TrieViewSolveWatchAuto-complete feature using TrieViewSolveWatchBoggle | Set 2 (Using Trie)ViewSolveWatchMinimum XOR Value PairViewSolveWatchPalindrome pair in an array of words (or strings)ViewSolveWatchOperating 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.Below links contains complete Operating System Study Material:Commonly Asked Operating Systems Interview QuestionsLast Minute Notes (LMNs) | Operating SystemsComplete Tutorial on Operating System 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:Commonly Asked DBMS Interview QuestionsCommonly Asked DBMS Interview Questions | Set-2Last Minute Notes (LMNs) | DBMSComplete Tutorial on DBMS 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:SQL Interview QuestionsSQL Interview Questions | Set-2SQL Interview Questions | Set-3Complete Tutorial on SQL 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:Commonly Asked Computer Networks Interview QuestionsLast Minute Notes (LMNs) | Computer NetworksComplete Tutorial on Computer Networks 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 SheetsYou 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 SheetsFacebook(Meta) SDE SheetAmazon SDE SheetApple SDE SheetNetflix SDE SheetGoogle SDE SheetService Based Company SDE SheetsWipro SDE SheetInfosys SDE SheetTCS SDE SheetCognizant SDE SheetHCL SDE Sheet RecommendedTrack your progress and attempt this list on GfG Practice.Solve ProblemsLike Article Save Article Please Login to comment...Similar ReadsHow I cracked EPAM Systems Drive 2020- Complete Guide On Preparation and FAQsGoogle Interview Preparation For Software Engineer - A Complete GuidejQuery Cheat Sheet – A Basic Guide to jQueryHTML Cheat Sheet - A Basic Guide to HTMLCSS Cheat Sheet - A Basic Guide to CSSJavaScript Cheat Sheet - A Basic Guide to JavaScriptAngular Cheat Sheet - A Basic Guide to AngularA Step by Step Guide for Placement Preparation | Set 1A Step by Step Guide for Placement Preparation | Set 2Placement Preparation GuideRelated TutorialsMathematical and Geometric Algorithms - Data Structure and Algorithm TutorialsComputer Science and Programming For KidsLearn Data Structures with Javascript | DSA TutorialIntroduction to Max-Heap – Data Structure and Algorithm TutorialsIntroduction to Set – Data Structure and Algorithm Tutorials LikePreviousSDE SHEET - A Complete Guide for SDE PreparationArticle Contributed By :GeeksforGeeksVote for difficultyCurrent difficulty : MediumEasy Normal Medium Hard ExpertArticle Tags :GFG SheetsInterview Tipsinterview-preparationinterview-questionsAlgorithmsComputer SubjectData StructuresDesign PatternDSAPlacementsProjectPuzzlesQuizzesPractice Tags :AlgorithmsData StructuresPuzzlesReport Issue