Skip to content

C/C++, Data structure, Algorithm, Design Pattern, Linux, Architecture, Distributed Systems, MicroService...

Notifications You must be signed in to change notification settings

jemmy512/software-engineer

Repository files navigation

Table of Contents

Computer Science

Operating System

  • 📙 Computer Systems A Programmer’s Perspective ✏️ Book Notes

  • 📙 Modern Operating Systems ✏️ Book Notes

  • 📙 Operating Systems: Three Easy Pieces

  • 📙 Operating System Concepts

  • 📙 Operating Systems Design and Implementation

  • 📙 Advanced Programming in the UNIX Environment

  • CPU Registers x86_32

  • CPU Registers x86_64

Computer Architecture

  • 📙 Computer Organization and Design: The Hardware/Sofeware Interface ✏️ Book Notes
  • 📙 Computer Architecture: A Quantitative Approach
  • 📙 Structure and Interpretation of Computer Programs

Compilation

  • 📙 Compilers: Principles, Techniques, and Tools
  • 📙 Programmer Self-Cultivation: Linking, Loading and Libraries (🇨🇳 CN) ✏️ Book Notes

Network

Database

Data Structure

  • 📙 Data Structures and Algorithm Analysis in C: Second Edition

Algorithm

  • 📙 Algorithms,Fouth Edition
  • 📙 Grokking Algorithms: An illustrated guide for programmers and other curious people
  • 📙 Programming Pearls (2/e)
  • 📙 Data Structures and Algorithm Analysis in C: Second Edition

Programming Language

The Essence of Programming

C/C++

Open-Close

Software Engineering

Coding Cultivation

  • 📙 Refactoring: Improving the Design of Existing Code ✏️ Book Notes

  • 📙 Working Effectively with Legacy Code

  • 📙 Clean Code: A Handbook of Agile Software Craftsmanship ✏️ Book Notes

  • 📙 The Clean Coder:A Code of Conduct for Professional Programmers

  • https://refactoring.guru

Code Review

Safety Precaution

Testing

  • 📙 Perfect Software: And Other Illusions about Testing
  • 📙 How Google Tests Software

Publishing

System Design

Linux

Kernel

Memory Management

Linux Network

AIO

Lock-free

Memory Order

CPU Cache

Distributed Architecture

Distributed Messages System

Logs & Data

Distributed monitoring and tracking

Data Analysis

Distributed Architecture Engineering Design

Design Pattern

Failure testing of distributed systems

Scalability

Consistent Hashing

Distributed Database

Cache

Message Queue

Log

Performance

Search

Architecture Practices by Companies

Microservice

API Gatway

Microservice VS SOA, IaaS, Paas, Monolithic

Practice

Authentication & Authorization

Design Pattern

Cloud Native

Cloud Computing

IO Virtualization



Edge Computing

Thanks

This roadmap is highly inspired by course: https://time.geekbang.org/column/intro/48. Thanks Hao Chen.

About

C/C++, Data structure, Algorithm, Design Pattern, Linux, Architecture, Distributed Systems, MicroService...

Topics

Resources

Stars

Watchers

Forks

Languages