Skip to content

Latest commit

 

History

History
144 lines (108 loc) · 2.12 KB

index.md

File metadata and controls

144 lines (108 loc) · 2.12 KB

Programming

Languages

[LANGUAGES] [B]
  • Well known programming languages
[LANGUAGES] [C]
  • Dynamically typed vs statically typed languages
  • Favorite programming language
[LANGUAGES] [DE]
  • Functional vs imperative programming languages

Basics

[DATA-TYPES] [AB]
  • Built-in data types
[DATA-TYPES] [C]
  • Value vs reference types
  • Pointers
[DATA-TYPES] [DE]
  • Binary representation (byte/short/long/int)
  • Signed/unsigned integers
  • Floating point
  • Structs
  • Tuples
  • Bitwise operations
[CONTROL-STRUCTURES] [C]
  • if
  • switch
  • loops (for, while, do)
[FUNCTIONS] [BC]
  • Function calls
  • Named parameters
  • Output parameters
[FUNCTIONS] [DE]
  • Recursive functions
  • Call stack
[ERROR-HANDLING][C]
  • try/catch
  • Return codes

Data Structures

[DATA-STRUCTURES] [BC]
  • Arrays
  • Dictionaries (Maps)
  • Sets
[DATA-STRUCTURES] [DE]
  • Linked lists
  • Stacks
  • Trees
  • Queues
  • Graphs

Algorithms

[ALGORITHMS] [B]
  • Find an element in an array
  • Array reversal
  • Array filtering
  • Sum of an array
[ALGORITHMS] [C]
  • Insertion sort
  • Binary search
[ALGORITHMS] [DE]
  • Space/Time complexity
  • Quick sort
  • Depth first search
  • Breadth first search
[ALGORITHMS] [E]
  • Dynamic programming
  • Graph algorithms
  • Hashing algorithms
  • Linear equation solvers

Object-oriented Programming

[OOP] [BC]

  • classes
  • objects (instances)

[OOP] [D]

  • inheritance
  • polymorphism
  • abstraction
  • encapsulation
  • access specifiers

[OOP] [E]

  • Object lifetime
  • SOLID principles

Concepts

[CONCEPTS] [C]

  • Caching
  • Serialization
  • Object-relational mapping
  • Garbage collection

[CONCEPTS] [DE]

  • Hashing
  • Lazy loading
  • Dependency injection

Debugging

[DEBUGGING] [C]
  • Breakpoints

Tests

[TESTS] [C]
  • Unit tests
[TESTS] [DE]
  • Integration tests
  • Test-driven development

Concurrent and Parallel programming

[CONPAR] [B]
  • Concurrent data structures
[CONPAR] [C]
  • Main/background thread
  • Multi-threading
  • Locking mechanisms
  • Deadlocks
[CONPAR] [DE]
  • Parallel algorithms