# horsemann07/embedded-interview-preparation architecture

> Architecture diagram of the GitHub repository horsemann07/embedded-interview-preparation, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/horsemann07/embedded-interview-preparation
- Repository: https://github.com/horsemann07/embedded-interview-preparation

## Overview

This repository is an embedded-systems learning and interview-preparation guide, not an executable application. Its user workflow is to follow a study path from programming fundamentals through hardware and real-time systems, then deepen or look up topics as needed and practice with Q&A and troubleshooting material. The README documents these study relationships; no source excerpts were provided, so the graph does not imply runtime calls or undocumented links.

Main entry points: [`README.md`](https://github.com/horsemann07/embedded-interview-preparation/blob/master/README.md) (Learning guide), [`Core Programming/C Interview Questions/00_C_Questions.md`](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/00_C_Questions.md) (C questions), [`Core Programming/C Interview Questions/01_C_Basic_Q&A.md`](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/01_C_Basic_Q%26A.md) (C fundamentals), [`Core Programming/C++ Interview Questions/c++_programming.md`](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%2B%2B%20Interview%20Questions/c%2B%2B_programming.md) (C++ topics)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_programming["Programming &amp; algorithms"]
  node_c_questions["C questions<br/>[00_C_Questions.md]"]
  node_c_fundamentals["C fundamentals<br/>[01_C_Basic_Q&amp;A.md]"]
  node_cpp["C++ topics<br/>[c++_programming.md]"]
  node_dsa["Embedded algorithms"]
end

subgraph group_embedded["Embedded platforms"]
  node_hardware["Hardware fundamentals<br/>[Hardware.md]"]
  node_rtos["RTOS concepts<br/>[00_RTOS_Generic.md]"]
  node_freertos["FreeRTOS<br/>[10_FreeRTOS.md]"]
  node_linux["Embedded Linux<br/>[LINUX.md]"]
  node_drivers["Linux drivers<br/>[DeviceDrivers.md]"]
end

subgraph group_systems["Systems topics"]
  node_serial["Serial protocols<br/>[UART.md]"]
  node_wireless["Wireless communications<br/>[Wireless Comm.md]"]
  node_frameworks["Embedded frameworks<br/>[LwIP.md]"]
  node_build["Build systems<br/>[CMake.md]"]
  node_system_design["System design<br/>[systemDesign.md]"]
end

subgraph group_practice["Practice &amp; reference"]
  node_guide["Learning guide<br/>[README.md]"]
  node_debugging["Debugging tools<br/>[Debugging.md]"]
  node_errors["Programming errors"]
  node_security["Embedded security<br/>[mbedTLS.md]"]
end

node_learner(("Learner"))

node_learner -->|"uses study paths"| node_guide
node_guide -->|"start with"| node_c_fundamentals
node_guide -->|"progress to"| node_hardware
node_guide -->|"progress to"| node_rtos
node_guide -->|"deep dive"| node_linux
node_guide -->|"deep dive"| node_debugging
node_guide -->|"practice with"| node_errors
node_learner -->|"practices answers"| node_c_questions
node_learner -->|"studies"| node_cpp
node_learner -->|"studies"| node_dsa
node_learner -->|"studies"| node_freertos
node_learner -->|"references"| node_drivers
node_learner -->|"references"| node_serial
node_learner -->|"references"| node_wireless
node_learner -->|"references"| node_frameworks
node_learner -->|"references"| node_build
node_learner -->|"references"| node_system_design
node_learner -->|"references"| node_security

click node_guide "https://github.com/horsemann07/embedded-interview-preparation/blob/master/README.md"
click node_c_questions "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/00_C_Questions.md"
click node_c_fundamentals "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/01_C_Basic_Q%26A.md"
click node_cpp "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%2B%2B%20Interview%20Questions/c%2B%2B_programming.md"
click node_dsa "https://github.com/horsemann07/embedded-interview-preparation/blob/master/DSA/00_DSA_Embedded_System.md"
click node_hardware "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Hardware/Hardware.md"
click node_rtos "https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/RTOS/00_RTOS_Generic.md"
click node_freertos "https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/RTOS/10_FreeRTOS.md"
click node_linux "https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/Linux/LINUX.md"
click node_drivers "https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/Linux/DeviceDrivers.md"
click node_serial "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Communications/Serial/UART.md"
click node_wireless "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Communications/Wireless/Wireless%20Comm.md"
click node_frameworks "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Software%20Frameworks/LwIP.md"
click node_build "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Build%20System/CMake.md"
click node_system_design "https://github.com/horsemann07/embedded-interview-preparation/blob/master/System%20Design/systemDesign.md"
click node_debugging "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Debug%20%26%20Tools/Debugging/Debugging.md"
click node_errors "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/c_programming_errors.md"
click node_security "https://github.com/horsemann07/embedded-interview-preparation/blob/master/Others/Cyber%20Security/mbedTLS.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_c_questions,node_c_fundamentals,node_cpp,node_dsa toneBlue
class node_hardware,node_rtos,node_freertos,node_linux,node_drivers toneAmber
class node_serial,node_wireless,node_frameworks,node_build,node_system_design toneMint
class node_guide,node_debugging,node_errors,node_security toneRose
class node_learner toneIndigo
```

## Components

### Programming & algorithms

- [C questions](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/00_C_Questions.md): `Core Programming/C Interview Questions/00_C_Questions.md`
- [C fundamentals](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/01_C_Basic_Q%26A.md): `Core Programming/C Interview Questions/01_C_Basic_Q&A.md`
- [C++ topics](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%2B%2B%20Interview%20Questions/c%2B%2B_programming.md): `Core Programming/C++ Interview Questions/c++_programming.md`
- [Embedded algorithms](https://github.com/horsemann07/embedded-interview-preparation/blob/master/DSA/00_DSA_Embedded_System.md): `DSA/00_DSA_Embedded_System.md`

### Embedded platforms

- [Hardware fundamentals](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Hardware/Hardware.md): `Hardware/Hardware.md`
- [RTOS concepts](https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/RTOS/00_RTOS_Generic.md): `OS/RTOS/00_RTOS_Generic.md`
- [FreeRTOS](https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/RTOS/10_FreeRTOS.md): `OS/RTOS/10_FreeRTOS.md`
- [Embedded Linux](https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/Linux/LINUX.md): `OS/Linux/LINUX.md`
- [Linux drivers](https://github.com/horsemann07/embedded-interview-preparation/blob/master/OS/Linux/DeviceDrivers.md): `OS/Linux/DeviceDrivers.md`

### Systems topics

- [Serial protocols](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Communications/Serial/UART.md): `Communications/Serial/UART.md`
- [Wireless communications](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Communications/Wireless/Wireless%20Comm.md): `Communications/Wireless/Wireless Comm.md`
- [Embedded frameworks](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Software%20Frameworks/LwIP.md): `Software Frameworks/LwIP.md`
- [Build systems](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Build%20System/CMake.md): `Build System/CMake.md`
- [System design](https://github.com/horsemann07/embedded-interview-preparation/blob/master/System%20Design/systemDesign.md): `System Design/systemDesign.md`

### Practice & reference

- [Learning guide](https://github.com/horsemann07/embedded-interview-preparation/blob/master/README.md): `README.md`
- [Debugging tools](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Debug%20%26%20Tools/Debugging/Debugging.md): `Debug & Tools/Debugging/Debugging.md`
- [Programming errors](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Core%20Programming/C%20Interview%20Questions/c_programming_errors.md): `Core Programming/C Interview Questions/c_programming_errors.md`
- [Embedded security](https://github.com/horsemann07/embedded-interview-preparation/blob/master/Others/Cyber%20Security/mbedTLS.md): `Others/Cyber Security/mbedTLS.md`

### Other components

- **Learner**

## Connections

- Learner → Learning guide: uses study paths
- Learning guide → C fundamentals: start with
- Learning guide → Hardware fundamentals: progress to
- Learning guide → RTOS concepts: progress to
- Learning guide → Embedded Linux: deep dive
- Learning guide → Debugging tools: deep dive
- Learning guide → Programming errors: practice with
- Learner → C questions: practices answers
- Learner → C++ topics: studies
- Learner → Embedded algorithms: studies
- Learner → FreeRTOS: studies
- Learner → Linux drivers: references
- Learner → Serial protocols: references
- Learner → Wireless communications: references
- Learner → Embedded frameworks: references
- Learner → Build systems: references
- Learner → System design: references
- Learner → Embedded security: references
