Skip to content

9BaoTran1/cpp-linux-systems-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ Linux Systems Practice

Practice repository for entry-level C++ and Linux systems concepts that often appear in embedded Linux, tooling, and systems-software interviews.

This repo is designed to bridge the gap between small scripting experience and a more structured C++/Linux workflow:

  • command-line parsing
  • config file loading
  • file I/O
  • lightweight logging
  • basic TCP client code
  • clean header/source separation

Repository Layout

Path Purpose
include/ Public headers
src/ Reusable C++ modules
tests/ Small assertion-based tests
examples/ Executable examples
docs/ Interview notes and extension ideas

Modules

  1. arg_parser Parse flags such as --host, --port, --config, and --verbose.

  2. config_loader Read simple key=value text configuration files.

  3. logger Small logger with log levels and consistent output formatting.

  4. tcp_client Minimal POSIX socket client for Linux networking practice.

Build and Run

From WSL or Linux:

make
make test
make examples

Clean build artifacts:

make clean

Why This Repo Matters

For fresher C++ and embedded Linux roles, interviewers often look for:

  • comfort with multiple .hpp/.cpp files
  • standard library usage without overengineering
  • reading errors from the compiler
  • command-line and file-based tooling
  • basic Linux systems awareness

This repo is a practice space for those foundations.

Suggested Study Order

  1. Logger
  2. Config loader
  3. Argument parser
  4. TCP client
  5. Combine them into one example app

About

Entry-level C++ and Linux systems practice: CLI parsing, config loading, logging, file I/O, and a minimal TCP client.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors