Skip to content

Latest commit

 

History

History
85 lines (77 loc) · 2.26 KB

File metadata and controls

85 lines (77 loc) · 2.26 KB

Items to prepare for general embedded interview

Operating systems/Computer Architecture:

  • Process and Threads
  • Process Scheduling
  • Synchronization IPC mechanisms (mutex/spinlock/semaphore)
  • Memory Management (Virtual memory/paging/translation)
  • Producer and Consumer Problem
  • Caching (cache coherency/cache line)
  • Memory mapped IO/ IO Mapped IO
  • Interrupt (Done)
  • Context switch (process/ISR)
  • Registers/instructions/execution (Done)
  • ARM programmer's model (Done)

Bus protocol (Done)

  • UART (Done)
  • SPI (Done)
  • I2C (Done)
  • RS232/422/485 (Done)

Linux Kernel concepts:

  • Linux boot sequence
  • Buffer sharing: DMA Buf & ION
  • Wait events/Wait queues
  • ISR handling (Top half/Bottom half)
  • Bottom Half - Tasklet/Workqueue/SoftIRQ
  • Platform driver
  • Driver probe (Module init, driver register, compatibility string)
  • Device Tree (Device nodes and parsing)
  • Clocks/Regulators/GPIO/Pinctrl
  • IOMMU/MMU
  • Timer Library
  • IOCTL, notify dirent
  • kmalloc/vmalloc
  • kmap/mmap/ioremap
  • sysfs/debugfs/procfs

C programming:

  • What is static keywords? (Done)
  • What is volatile for? (Done)
  • Macro usage (Done)

Network

  • Network OSI layers (Done)
  • TCP/UDP
  • IP (Done)
  • Ethernet
  • Router/Switch

Algorithm and data structure

  • Linked list (Done)
    • reverse Linked list (Done)
    • delete a node from the linked list (Done)
    • delete duplicate (Done)
    • detect cycle (Done)
    • Implement hash table with linked list (Done)
    • Implement queue with linked list (Done)
  • String
    • reverse string (Done)
    • check whether it is palindrome (Done)
    • implement strstr() (Done)
    • implement atoi()/itoa()
  • Circular buffer
  • State machine (Done)
  • Stack (Done)
  • Queue (Done)
  • Binary search tree (Done)
    • DFS (Done)
    • BFS (Done)
  • Memory api
    • safe memcpy/memmove (Done)
    • sizeof (Done)
    • alligned_malloc (Kinda Done)
    • wrapper api to read/write arbitrary bytes with fix-byte API
  • Bitewise operation (Done)
    • hamming distance (Done)
    • plus without using '+' (A plus B) (Done)
    • reverse bits (Done)
    • Power of 2 (Done)
    • Add binary (Done)
    • Single number (Done)
  • Check endianess (Done)