📜  SDE SHEET – SDE 准备的完整指南

📅  最后修改于: 2022-05-13 01:58:11.215000             🧑  作者: Mango

SDE SHEET – SDE 准备的完整指南

什么是 SDE 表?

SDE 表是软件开发工程师面试中最重要的主题或最热门问题的列表。

GFG SDE 表

    此表与其他表有何不同或更好?
  • 它不仅包含编码问题。
  • 它涵盖了所有部分,如 MCQ、DSA(编码问题)、CS 主题、拼图、系统设计、项目。
  • 它对新人和有经验的人都有帮助。

目录/路线图
  • 建立简历
    • 多选题
    • 能力与推理
    • 计算机科学科目
      • C
      • C++
      • Java
      • 数据结构
      • 算法
      • 操作系统
      • 数据库管理系统
      • 中国
      • 数据结构和算法
        • 数组
        • 搜索和排序
        • 散列
        • 矩阵
        • 字符串
        • 递归和回溯
        • 位操作
        • 链表
        • 堆栈和队列
        • 二叉树
        • 二叉搜索树
        • 贪婪的
        • 动态规划
        • 图形
        • 特里
    • 计算机科学科目
      • 操作系统
      • 数据库管理系统
      • SQL
      • 计算机网络
    • 拼图
    • 项目
    • 系统设计

建立完美的简历

简历的唯一目的是让您找到理想的工作。它介绍了您的资格、技能、成就以及与您的专业知识有关的所有内容。它可以帮助你进入你的职业生涯。当您拥有完美的简历时,没有什么可以成为最佳工作的障碍。
创建并知道如何构建完美的简历 – GeeksforGeeks 提供的免费简历生成器 – 在线创建简历

多项选择题(MCQ)
  • C 编程
  • C++
  • Java
  • 数据结构
  • 算法
  • 操作系统
  • 数据库管理系统
  • 计算机网络
  • 资质


数据结构和算法
  • 数据结构简介
  • 算法简介

跟踪下面提到的所有 DSA 问题 – 练习 SDE 表
查看下面列出的所有问题的教程视频 - SDE 工作表视频。我们将继续每天添加视频。

数组
数组是存储在连续内存位置的项目的集合。这个想法是将多个相同类型的项目存储在一起。
QuestionArticlePracticeVideo
Leaders in an arrayLinkLinkLink
Equilibrium pointLinkLinkLink
Sort an array of 0s, 1s and 2sLinkLinkLink
Reverse array in groupsLinkLinkLink
Convert array into Zig-Zag fashionLinkLinkLink
Rearrange array alternativelyLinkLinkLink
Missing number in arrayLinkLinkLink
K-th element of two sorted ArraysLinkLinkLink
Check if two arrays are equal or notLinkLinkLink
Kadane’s AlgorithmLinkLinkLink
Subarray with given sumLinkLinkLink
Trapping Rain WaterLinkLinkLink
Minimum PlatformsLinkLinkLink
Stock buy and sellLinkLinkLink
Largest Number formed from an ArrayLinkLinkLink
Largest subarray with 0 sumLinkLinkLink
Swapping pairs make sum equalLinkLinkLink

搜索和排序
QuestionArticlePracticeVideo
Binary SearchLinkLinkLink
Quick SortLinkLinkLink
Merge SortLinkLinkLink
Merge two sorted arraysLinkLinkLink
Inversion of ArrayLinkLinkLink
Search in a Rotated ArrayLinkLinkLink
Sorting Elements of an Array by FrequencyLinkLinkLink
Sum of Middle Elements of two sorted arraysLinkLinkLink
K’th smallest elementLinkLinkLink
Allocate minimum number of pagesLinkLinkLink

散列
QuestionArticlePracticeVideo
First element to occur k timesLinkLinkLink
Find the element that appears once in sorted arrayLinkLinkLink
Number of pairsLinkLinkLink
Find all pairs with a given sumLinkLinkLink
Common elementsLinkLinkLink
Find all four sum numbersLinkLinkLink
Count distinct elements in every windowLinkLinkLink
Array Pair Sum Divisibility ProblemLinkLinkLink
Longest consecutive subsequenceLinkLinkLink
Array Subset of another arrayLinkLinkLink
Zero Sum SubarraysLinkLinkLink
Relative SortingLinkLinkLink

矩阵
矩阵表示按行和列顺序排列的数字集合。必须将矩阵的元素括在圆括号或方括号中。
QuestionArticlePracticeVideo
Rotate a matrixLinkLinkLink
Spirally traversing a matrixLinkLinkLink
Search in a row wise and column wise sorted matrixLinkLinkLink
Print all palindromic paths from top left to bottom right in a matrixLinkLinkLink
Find the row with maximum number of 1sLinkLinkLink
Find median in row wise sorted matrixLinkLinkLink
Check if all rows of a matrix are circular rotations of each otherLinkLinkLink

细绳
字符串被定义为一个字符数组。字符数组和字符串的区别在于字符串以特殊字符'\0' 结尾。
QuestionArticlePracticeVideo
Find first repeated characterLinkLinkLink
Reverse words in a given stringLinkLinkLink
Check if string is rotated by two placesLinkLinkLink
Roman Number to IntegerLinkLinkLink
AnagramLinkLinkLink
Remove DuplicatesLinkLinkLink
Longest Distinct Characters in the stringLinkLinkLink
Implement AtoiLinkLinkLink
Implement strstrLinkLinkLink
Rabin Karp AlgorithmLinkLinkLink
KMP AlgorithmLinkLinkLink
Convert a Sentence into its equivalent mobile numeric keypad sequence.LinkLinkLink
Longest Common PrefixLinkLinkLink
Smallest window in a string containing all the characters of another stringLinkLinkLink
Uncommon charactersLinkLinkLink
Minimum indexed characterLinkLinkLink

递归和回溯

递归:函数直接或间接调用自身的过程称为递归,相应的函数称为递归函数。
回溯:回溯是一种递归解决问题的算法技术,通过尝试逐步构建解决方案,一次一个,删除那些在任何时间点无法满足问题约束的解决方案(按时间,这里是指到达搜索树的任何级别所经过的时间)。
QuestionArticlePracticeVideo
Recursively remove all adjacent duplicatesLinkLinkLink
Tower Of HanoiLinkLinkLink
Special KeyboardLinkLinkLink
Permutations of a given stringLinkLinkLink
N-Queen ProblemLinkLinkLink
Solve the SudokuLinkLinkLink
Rat in a Maze ProblemLinkLinkLink
Word BoggleLinkLinkLink
Generate IP AddressesLinkLinkLink

位操作
位操作是一种用于各种问题的技术,用于以优化的方式获得解决方案。
QuestionArticlePracticeVideo
Find first set bitLinkLinkLink
Rightmost different bitLinkLinkLink
Check whether K-th bit is set or notLinkLinkLink
Toggle bits given rangeLinkLinkLink
Set kth bitLinkLinkLink
Power of 2LinkLinkLink
Bit DifferenceLinkLinkLink
Rotate BitsLinkLinkLink
Swap all odd and even bitsLinkLinkLink
Count total set bitsLinkLinkLink
Longest Consecutive 1’sLinkLinkLink
Sparse NumberLinkLinkLink
Alone in a coupleLinkLinkLink
Maximum subset XORLinkLinkLink

堆栈和队列

堆栈:堆栈是一种线性数据结构,其中元素只能从列表的一侧(称为顶部)插入和删除。堆栈遵循 LIFO(后进先出)原则。
队列:队列是一种线性数据结构,其中元素只能从列表的一侧插入,称为后部,元素只能从列表的另一侧删除,称为前部。队列数据结构遵循FIFO(先进先出)原则。
QuestionArticlePracticeVideo
Parenthesis CheckerLinkLinkLink
Merge Overlapping IntervalsLinkLinkLink
Stock span problemLinkLinkLink
Next larger elementLinkLinkLink
Largest Rectangular Area in a HistogramLinkLinkLink
Queue using two StacksLinkLinkLink
Stack using two queuesLinkLinkLink
Get minimum element from stackLinkLinkLink
LRU CacheLinkLinkLink
Circular tourLinkLinkLink
First non-repeating character in a streamLinkLinkLink
Rotten OrangesLinkLinkLink
Maximum of all subarrays of size kLinkLinkLink

链表
链表是一种线性数据结构,其中元素不存储在连续的内存位置。
QuestionArticlePracticeVideo
Finding middle element in a linked listLinkLinkLink
Reverse a linked listLinkLinkLink
Rotate a Linked ListLinkLinkLink
Reverse a Linked List in groups of given sizeLinkLinkLink
Intersection point in Y shaped linked listsLinkLinkLink
Detect Loop in linked listLinkLinkLink
Remove loop in Linked ListLinkLinkLink
n’th node from end of linked listLinkLinkLink
Flattening a Linked ListLinkLinkLink
Merge two sorted linked listsLinkLinkLink
Pairwise swap of a linked listLinkLinkLink
Add two numbers represented by linked listsLinkLinkLink
Check if Linked List is PalindromeLinkLinkLink
Implement Queue using Linked ListLinkLinkLink
Implement Stack using Linked ListLinkLinkLink
Given a linked list of 0s, 1s and 2s, sort itLinkLinkLink
Delete without head pointerLinkLinkLink

二叉树
元素最多有 2 个子节点的树称为二叉树。由于二叉树中的每个元素只能有 2 个孩子,我们通常将它们命名为左孩子和右孩子。
QuestionArticlePracticeVideo
Height of Binary TreeLinkLinkLink
Number of leaf nodesLinkLinkLink
Check if given Binary Tree is Height Balanced or NotLinkLinkLink
Write Code to Determine if Two Trees are Identical or NotLinkLinkLink
Given a binary tree, check whether it is a mirror of itselfLinkLinkLink
Maximum Path SumLinkLinkLink
Print Left View of Binary TreeLinkLinkLink
Print Bottom View of Binary TreeLinkLinkLink
Print a Binary Tree in Vertical OrderLinkLinkLink
Diameter of a Binary TreeLinkLinkLink
Level order traversal in spiral formLinkLinkLink
Connect Nodes at Same LevelLinkLinkLink
Convert a given Binary Tree to Doubly Linked ListLinkLinkLink
Serialize and Deserialize a Binary TreeLinkLinkLink

二叉搜索树
二叉搜索树是一种基于节点的二叉树数据结构,具有以下属性:
  • 节点的左子树仅包含键小于节点键的节点。
  • 节点的右子树只包含键大于节点键的节点。
  • 左右子树也必须是二叉搜索树。
QuestionArticlePracticeVideo
Check for BSTLinkLinkLink
Lowest Common Ancestor in a BSTLinkLinkLink
Ceil in BSTLinkLinkLink
K-th Largest Element in BSTLinkLinkLink
Largest BST in Binary TreeLinkLinkLink
Merge Two Balanced Binary Search TreesLinkLinkLink
Sorted Array to Balanced BSTLinkLinkLink

贪婪的方法
贪婪是一种算法范式,它逐步构建解决方案,总是选择下一个提供最明显和直接好处的部分。
QuestionArticlePracticeVideo
Activity SelectionLinkLinkLink
N meetings in one roomLinkLinkLink
Coin PilesLinkLinkLink
Maximize ToysLinkLinkLink
Page Faults in LRULinkLinkLink
Largest number possibleLinkLinkLink
Minimize the heightsLinkLinkLink
Minimize the sum of productLinkLinkLink
Huffman DecodingLinkLinkLink
Minimum Spanning TreeLinkLinkLink

动态规划
动态规划主要是对普通递归的优化。无论我们在哪里看到重复调用相同输入的递归解决方案,我们都可以使用动态编程对其进行优化。
QuestionArticlePracticeVideo
Minimum number of CoinsLinkLinkLink
Longest Common SubstringLinkLinkLink
Longest Increasing SubsequenceLinkLinkLink
Longest Common SubsequenceLinkLinkLink
0 – 1 Knapsack ProblemLinkLinkLink
Maximum sum increasing subsequenceLinkLinkLink
Minimum number of jumpsLinkLinkLink
Edit DistanceLinkLinkLink
Coin Change ProblemLinkLinkLink
Subset Sum ProblemLinkLinkLink
Longest Palindrome in a StringLinkLinkLink
Form a PalindromeLinkLinkLink
Box StackingLinkLinkLink
Rod CuttingLinkLinkLink
Min Cost PathLinkLinkLink
Minimum sum partitionLinkLinkLink
Count number of ways to cover a distanceLinkLinkLink
Egg Dropping PuzzleLinkLinkLink

堆是一种特殊的基于树的数据结构,其中树是完全二叉树。
QuestionArticlePracticeVideo
Heap SortLinkLinkLink
Find median in a streamLinkLinkLink
Operations on Binary Min HeapLinkLinkLink
Rearrange charactersLinkLinkLink
Merge K sorted linked listsLinkLinkLink
Kth smallest element in a row-column wise sorted matrixLinkLinkLink

图形
图是由节点和边组成的非线性数据结构。节点有时也称为顶点,边是连接图中任意两个节点的线或弧。
QuestionArticlePracticeVideo
Depth First TraversalLinkLinkLink
Breadth First TraversalLinkLinkLink
Detect cycle in undirected graphLinkLinkLink
Detect cycle in a directed graphLinkLinkLink
Topological sortLinkLinkLink
Find the number of islandsLinkLinkLink
Implementing DijkstraLinkLinkLink
Minimum SwapsLinkLinkLink
Strongly Connected ComponentsLinkLinkLink
Shortest Source to Destination PathLinkLinkLink
Find whether path existLinkLinkLink
Minimum Cost PathLinkLinkLink
Circle of StringsLinkLinkLink
Floyd WarshallLinkLinkLink
Alien DictionaryLinkLinkLink
Snake and Ladder ProblemLinkLinkLink

特里
Trie 是一种高效的信息检索数据结构。使用 Trie,搜索复杂性可以达到最佳限制(密钥长度)。
QuestionArticlePracticeVideo
Trie | (Insert and Search)LinkLinkLink
Trie | (Delete)LinkLinkLink
Print unique rows in a given Binary matrixLinkLinkLink
Counting the number of words in a TrieLinkLinkLink
Longest Common Prefix using TrieLinkLinkLink
Auto-complete feature using TrieLinkLinkLink
Boggle | Set 2 (Using Trie)LinkLinkLink
Minimum XOR Value PairLinkLinkLink
Palindrome pair in an array of words (or strings)LinkLinkLink

操作系统
操作系统充当计算机用户和计算机硬件之间的中介。操作系统的目的是提供一个用户可以方便、高效地执行程序的环境。
以下链接包含完整的操作系统学习资料:
  • 常见的操作系统面试问题
  • 最后一分钟笔记 (LMN) |操作系统
  • 操作系统完整教程


数据库管理系统
数据库是相互关联的数据的集合,有助于有效地从数据库中检索、插入和删除数据,并以表、视图、模式、报告等形式组织数据。
以下链接包含完整的 DBMS 学习资料:
  • 常见的 DBMS 面试问题
  • DBMS 面试常见问题 |第 2 组
  • 最后一分钟笔记 (LMN) |数据库管理系统
  • DBMS 完整教程


SQL
SQL 代表结构化查询语言。它是一种用于与数据库交互的语言,即创建数据库、在数据库中创建表、检索数据或更新数据库中的表。
以下链接包含完整的 SQL 学习资料:
  • SQL 面试题
  • SQL 面试问题 |第 2 组
  • SQL 面试问题 |第 3 组
  • 完整的 SQL 教程


计算机网络
计算机网络是连接众多独立计算机以共享信息(数据)和资源的系统。计算机和其他不同设备的集成使用户可以更轻松地进行交流。
以下链接包含完整的计算机网络学习资料:
  • 常见的计算机网络面试问题
  • 最后一分钟笔记 (LMN) |计算机网络
  • 计算机网络完整教程


拼图
拼图是检验你解决问题能力的方法之一。这些是让你逻辑思考的棘手问题。
尝试解决面试中最常见的 20 个难题
项目
彻底修改您迄今为止在项目中所做的所有工作。对项目的质疑有时可能很深。另外,在你说话之前选择你的话。只提及那些你认为可以被质疑的话题。
如果您还没有创建项目,那么请从 GFG Projects 中获取一个想法并开始着手进行。
系统设计
系统设计是为系统设计架构、组件和接口以使其满足最终用户要求的过程。技术面试的系统设计是不容忽视的!
几乎每个 IT 巨头,无论是 Facebook、Amazon、Google 还是任何其他公司,都会在面试中基于系统设计概念(例如可扩展性、负载平衡、缓存等)提出各种问题。

这个专门设计的系统设计教程将帮助您以最有效的方式学习和掌握系统设计概念,从基础到高级。

注意:我们将很快开始上传视频。