parent
6187b1dc52
commit
f5e980d8ec
10 changed files with 72 additions and 20 deletions
@ -0,0 +1,19 @@ |
|||||||
|
--- |
||||||
|
import { Debug } from 'astro/components'; |
||||||
|
import { markdownToHtml } from '../lib/markdown'; |
||||||
|
|
||||||
|
export interface Props { |
||||||
|
text: string; |
||||||
|
} |
||||||
|
|
||||||
|
const { text } = Astro.props; |
||||||
|
--- |
||||||
|
|
||||||
|
<div class='bg-gray-50'> |
||||||
|
<div class='container pt-1'> |
||||||
|
<p |
||||||
|
class='text-sm bg-yellow-100 text-yellow-900 p-2 rounded-md mt-2 sm:mt-5 mb-0 sm:-mb-6 z-10 relative [&>a]:underline' |
||||||
|
set:html={markdownToHtml(text.trim())} |
||||||
|
/> |
||||||
|
</div> |
||||||
|
</div> |
@ -0,0 +1,8 @@ |
|||||||
|
// @ts-ignore
|
||||||
|
import MarkdownIt from 'markdown-it'; |
||||||
|
|
||||||
|
export function markdownToHtml(markdown: string): string { |
||||||
|
const md = new MarkdownIt(); |
||||||
|
|
||||||
|
return md.renderInline(markdown); |
||||||
|
} |
@ -1 +1,9 @@ |
|||||||
# What is system design |
# What is System Design? |
||||||
|
|
||||||
|
System design is the process of defining the elements of a system, as well as their interactions and relationships, in order to satisfy a set of specified requirements. |
||||||
|
|
||||||
|
It involves taking a problem statement, breaking it down into smaller components and designing each component to work together effectively to achieve the overall goal of the system. This process typically includes analyzing the current system (if any) and determining any deficiencies, creating a detailed plan for the new system, and testing the design to ensure that it meets the requirements. It is an iterative process that may involve multiple rounds of design, testing, and refinement. |
||||||
|
|
||||||
|
In software engineering, system design is a phase in the software development process that focuses on the high-level design of a software system, including the architecture and components. |
||||||
|
|
||||||
|
It is also one of the important aspects of the interview process for software engineers. Most of the companies have a dedicated system design interview round, where they ask the candidates to design a system for a given problem statement. The candidates are expected to come up with a detailed design of the system, including the architecture, components, and their interactions. They are also expected to discuss the trade-offs involved in their design and the alternatives that they considered. |
@ -1 +1,13 @@ |
|||||||
# How to approach system design |
# How to approach System Design? |
||||||
|
|
||||||
|
There are several steps that can be taken when approaching a system design: |
||||||
|
|
||||||
|
- **Understand the problem**: Gather information about the problem you are trying to solve and the requirements of the system. Identify the users and their needs, as well as any constraints or limitations of the system. |
||||||
|
- **Identify the scope of the system:** Define the boundaries of the system, including what the system will do and what it will not do. |
||||||
|
- **Research and analyze existing systems:** Look at similar systems that have been built in the past and identify what worked well and what didn't. Use this information to inform your design decisions. |
||||||
|
- **Create a high-level design:** Outline the main components of the system and how they will interact with each other. This can include a rough diagram of the system's architecture, or a flowchart outlining the process the system will follow. |
||||||
|
- **Refine the design:** As you work on the details of the design, iterate and refine it until you have a complete and detailed design that meets all the requirements. |
||||||
|
- **Document the design:** Create detailed documentation of your design for future reference and maintenance. |
||||||
|
- **Continuously monitor and improve the system:** The system design is not a one-time process, it needs to be continuously monitored and improved to meet the changing requirements. |
||||||
|
|
||||||
|
Note that this is a general approach and the steps may vary depending on the specific system and requirements. |
@ -1 +1,9 @@ |
|||||||
# Introduction |
# Introduction |
||||||
|
|
||||||
|
System design is the process of defining the elements of a system, as well as their interactions and relationships, in order to satisfy a set of specified requirements. |
||||||
|
|
||||||
|
It involves taking a problem statement, breaking it down into smaller components and designing each component to work together effectively to achieve the overall goal of the system. This process typically includes analyzing the current system (if any) and determining any deficiencies, creating a detailed plan for the new system, and testing the design to ensure that it meets the requirements. It is an iterative process that may involve multiple rounds of design, testing, and refinement. |
||||||
|
|
||||||
|
In software engineering, system design is a phase in the software development process that focuses on the high-level design of a software system, including the architecture and components. |
||||||
|
|
||||||
|
It is also one of the important aspects of the interview process for software engineers. Most of the companies have a dedicated system design interview round, where they ask the candidates to design a system for a given problem statement. The candidates are expected to come up with a detailed design of the system, including the architecture, components, and their interactions. They are also expected to discuss the trade-offs involved in their design and the alternatives that they considered. |
Loading…
Reference in new issue