Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

Server Development

Technical Requirements for C++ Server Developer

Core Skills

C++ Programming

  • Modern C++ (C++11/14/17/20) features
  • Template programming and generic programming
  • RAII and exception safety
  • Move semantics and copy elision
  • constexpr and compile-time evaluation

Network Programming

  • Socket programming (TCP/UDP)
  • epoll/kqueue/IOCP (async I/O)
  • HTTP/HTTPS protocol implementation
  • gRPC and protobuf
  • WebSocket server development

Concurrency & Parallelism

  • Thread pools and task queues
  • Lock-free data structures
  • Memory ordering and atomic operations
  • Condition variables and synchronization primitives
  • Actor model implementations

System Programming

  • Linux system calls and APIs
  • POSIX threads (pthreads)
  • File I/O and memory-mapped files
  • Signal handling
  • Process management and IPC

Tools & Technologies

Frameworks & Libraries

  • Boost libraries (Asio, Beast, etc.)
  • libevent/libev/libuv (event loops)
  • muduo (C++ network library)
  • Seastar (high-performance framework)
  • DPDK (packet processing)

Databases

  • SQL databases (MySQL, PostgreSQL)
  • NoSQL (Redis, MongoDB)
  • Connection pooling
  • ORM and query builders
  • Database sharding and replication

DevOps & Infrastructure

  • Docker and Kubernetes
  • Load balancing and service discovery
  • Monitoring (Prometheus, Grafana)
  • Log aggregation (ELK stack)
  • CI/CD pipelines

Domain Knowledge

  • Distributed systems architecture
  • CAP theorem and consistency models
  • High availability and fault tolerance
  • Backpressure and rate limiting
  • Microservices vs monolithic architecture