Skip to content

cuete/OopRefresher

Repository files navigation

OopRefresher

Refresher code and study guide for Object Oriented Programming By Alejandro Echeverria (work in progress)

Basic concepts

  • Classes, objects, structures
  • Access modifiers
  • Properties, methods and events
  • Constructors and destructors (garbage collector)
  • Anonymous types
  • Generics
  • Interfaces
  • Delegates
  • Inheritance
  • Encapsulation
  • Polymorphism

Collections and data structures

  • Data types
    • Value types
    • Reference types
  • Operators
  • Boxing and unboxing
  • Parameters
  • Casting
  • Arrays
  • Linked lists
  • Queues
  • Stacks
  • Hash Tables / Hash Sets
    • Collision management
  • Binary trees
  • Binary search trees
  • Graph
    • Traversing
  • Matrix
  • Tries

Programming concepts

  • Recursion vs iteration
  • LINQ
  • Lambda expressions
  • Serialization: XML, JSON
  • Attributes
  • Memory management: heap and stack
  • Threads and locks, multithreading, deadlocks
  • Exception handling
  • Testing
    • Unit testing
    • Perfomance

Algorithms

  • Big-O analysis
  • Math and logic puzzles
  • Problems
    • Arrays
    • linked lists
    • Trees/graphs
    • Stacks and queues
  • Bit operations
  • Recursion and iteration examples
  • Sort
  • Search
  • Advanced algorithms

Databases

  • Structured vs. unstructured
  • SQL syntax
  • NoSQL
  • Design concepts
  • Performance concepts
  • Cloud
  • Security

Design

  • Patterns
    • Singleton
    • Factory
  • MVC design
  • Serverless design patterns
  • Design and scalability
  • Architecture concepts
  • UML diagram types

Security

Networks

  • OSI model
  • Protocols

Other

  • DevOps
  • Agile
  • Project Management
  • Behavioral questions
    • What are your weaknesses?
    • Challenges you've faced
    • Mistakes you've made
    • Projects you've enjoyed
    • Conflict resolution

Releases

No releases published

Packages

No packages published

Languages