> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pebchip.top/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# FlightAware Engineering Knowledge Base Overview

> Explore FlightAware's technical knowledge base covering databases, Go, Java, distributed systems, algorithms, and computer science fundamentals.

This knowledge base is a structured collection of technical notes, deep dives, and interview reference material for backend engineers. It covers the full stack of backend engineering — from low-level OS concepts and data structures to distributed systems design, MySQL and Redis internals, Go and Java development patterns, and algorithm problem-solving. Each topic reflects real learning encountered during development, code review, and technical interviews.

<CardGroup cols={2}>
  <Card title="Databases" icon="database" href="/databases/mysql">
    MySQL, Redis, Elasticsearch, and Kafka. Covers indexing, transactions, caching strategies, and message queue patterns.
  </Card>

  <Card title="Backend Engineering" icon="server" href="/backend/go">
    Go and Java development. Includes concurrency models, Spring Boot, microservices, and Docker.
  </Card>

  <Card title="Computer Science" icon="microchip" href="/cs/networking">
    Networking, operating systems, data structures, and algorithms with working code examples.
  </Card>

  <Card title="Software Design" icon="diagram-project" href="/design/design-patterns">
    Design patterns, DDD, distributed systems, and software architecture principles.
  </Card>

  <Card title="Interview Prep" icon="graduation-cap" href="/reference/interview-guide">
    The STAR method, structured Q\&A, algorithm practice, and real interview questions.
  </Card>

  <Card title="Tools & Workflow" icon="wrench" href="/reference/git">
    Git workflows, AI tools, and productivity software for engineers.
  </Card>
</CardGroup>

## How to Use This Knowledge Base

Each page covers one focused technical concept. Notes follow a consistent structure (see [the note template](/note-template)) so you always know where to find the background, root cause analysis, solution comparison, and practical advice.

Use the sidebar to navigate by topic area. If you are preparing for interviews, start with the [Interview Guide](/reference/interview-guide) and work backwards into the technical depth you need. If you are debugging a specific problem — a Redis cache stampede, a Go memory leak, a MySQL slow query — jump directly to the relevant topic page.

## Topics at a Glance

<AccordionGroup>
  <Accordion title="Databases">
    Covers MySQL storage engine internals, index design, MVCC and transaction isolation levels, Redis data structures and eviction policies, cache patterns (avalanche, breakdown, penetration), Elasticsearch query DSL, Kafka message queue mechanics, and comparisons for when to use each technology.
  </Accordion>

  <Accordion title="Backend Engineering">
    Go coverage includes the GMP scheduler, goroutines and channels, garbage collection, generics, and idiomatic patterns. Java coverage spans the JVM, Spring Boot, MyBatis-Plus, multithreading, and Java 8+ features. Microservices covers gRPC, etcd, CAP theorem, distributed transactions, and SpringCloud.
  </Accordion>

  <Accordion title="Computer Science Fundamentals">
    Networking notes cover TCP three-way handshake and teardown, HTTP versions, WebSocket, SSL/TLS, JWT, and CSRF. Operating systems cover processes vs threads, virtual memory, CPU scheduling, and I/O models including epoll. Data structures cover trees, heaps, hash tables, and graphs with complexity analysis.
  </Accordion>

  <Accordion title="Algorithms">
    Organized by technique: dynamic programming (digit DP, tree DP, knapsack, interval DP), graph algorithms (Dijkstra, Floyd-Warshall, topological sort), greedy patterns, and mathematical algorithms including modular inverse and matrix exponentiation. Includes complete C++ implementations.
  </Accordion>

  <Accordion title="Software Design">
    Covers all 23 GoF design patterns organized by category, domain-driven design concepts (bounded contexts, aggregates, domain events, anti-corruption layer), and distributed systems fundamentals (CAP theorem, Raft consensus, distributed locks, reliability patterns).
  </Accordion>

  <Accordion title="Interview Prep">
    Structured Q\&A for networking and database topics, system design interview framework, the STAR method for behavioral questions, and a study plan with recommended reading order across knowledge base topics.
  </Accordion>
</AccordionGroup>
