Study guides ยท Stuff Every Technology Expert Should Know

Aha Trivia

Stuff Every Technology Expert Should Know: Training Guide

This guide teaches the core ideas behind computers, networks, software, security, and data in a practical way for beginners.

Who this is for: It is for a curious adult beginner who wants to understand technology concepts before playing the Aha Trivia deck.

Study aid, not authority. This guide is not an official course, a certificate or a license. This guide gives general knowledge only. For health, safety, legal, or money decisions, always ask a qualified professional.

Written by Aha Trivia from 149 checked cards and 111 sources. Checked 2026-10-25.

โ–ถ Practice in Aha Trivia About this deck

Key facts

Binary vs decimal prefixes
1 kibibyte (KiB) is 1,024 bytes, not 1,000 bytes. NIST: Prefixes for binary multiples
Unicode limit
The highest Unicode code point is U+10FFFF. RFC 3629: UTF-8, a transformation format of ISO 10646
IPv4 length
An IPv4 address is 32 bits long. RFC 791: Internet Protocol
DNS port
DNS uses port 53 for both UDP and TCP. RFC 1035: Domain Names, Implementation and Specification
FAT32 limit
FAT32 caps a single file at 4 GiB. Microsoft Learn: File system functionality comparison
Three nines
99.9% monthly availability allows about 43.2 minutes of downtime. Google Cloud Building Blocks of Reliability

Study plan

  1. Foundations: Learn how data is represented and how processors and memory work.
    Lessons: How Computers Represent Data, Processors, Cores, and Memory Hierarchy
  2. Systems and Storage: Explore operating systems, storage, file systems, and cloud virtualization.
    Lessons: Storage, File Systems, and the Operating System, Virtualization, Cloud Services, and Software Execution
  3. Networks and the Web: Understand network layers, addressing, and how internet applications work.
    Lessons: Network Foundations: Layers, Addressing, and Core Protocols, Internet Applications, Web, and Network Infrastructure
  4. Software and Security: Study development practices, data management, and security controls.
    Lessons: Software Development, Data Structures, and Databases, Security, Privacy, and Incident Response

Lesson 1 of 8

How Computers Represent Data

Learn how bits, bytes, integers, text encodings, and floating point numbers work.

What you will learn

  • Explain why binary prefixes differ from decimal prefixes.
  • Convert between hexadecimal digits and bits.
  • Describe how negative integers are stored in two's complement.
  • Explain why binary floating point can be inexact.

Bits, Bytes, and Binary Prefixes

A single bit can be 0 or 1. With 8 bits, the number of possible patterns is 2 to the 8th, which is 256. An unsigned 8-bit integer uses those patterns for the values 0 through 255, so 255 is not the highest pattern count.

The prefix kilo usually means 1,000, but in computing a kibibyte (KiB) means 2 to the 10th bytes, or 1,024 bytes. Larger binary prefixes follow the same idea: a mebibyte (MiB) is 2 to the 20th bytes.

Text Encodings

A hexadecimal digit has 16 possible symbols, so it represents exactly 4 bits. One byte of 8 bits therefore fits into two hex characters, like FF for the number 255.

Base64 encoding takes 24 bits at a time, which is 3 bytes, and splits them into four 6-bit groups. Each group becomes one of 64 printable characters, so 3 bytes become 4 text characters. The equals sign at the end is padding.

Standard ASCII uses 7 bits per character, giving 128 codes. It is usually stored in an 8-bit byte with the top bit set to 0.

UTF-8 is a variable length Unicode encoding. One Unicode scalar value takes 1 to 4 bytes; common English letters take 1 byte. Plain ASCII text is also valid UTF-8 because UTF-8 preserves the one-byte ASCII values.

Unicode allows code points up to U+10FFFF. U+FEFF is a zero width no-break space that is sometimes used as a byte order mark at the start of a text file.

Integers and Floating Point

Nearly all computers store negative whole numbers in two's complement. This system has only one zero and allows the same adder circuit to handle both addition and subtraction.

In two's complement, an 8-bit signed integer ranges from -128 to 127. Zero takes one of the non-negative slots, so the positive side is one short.

Computers store floating point numbers as binary fractions. Just as 1/3 never ends in decimal, 1/10 never ends in binary, so 0.1 cannot be stored exactly. This is why Python reports 0.1 + 0.2 == 0.3 as false.

A standard 64-bit double has 53 bits of precision. Integers above 2 to the 53rd can no longer all be stored exactly. When exact equality is not needed, compare floating point results within a small tolerance, like Python's math.isclose().

Numbers to remember

ItemValueSource
1 KiB1,024 bytesNIST: Prefixes for binary multiples
1 hex digit4 bitsRFC 4648: The Base16, Base32, and Base64 Data Encodings
8-bit signed range-128 to 127OpenStax Introduction to Computer Science 5.3: Machine-Level Information Representation
UTF-8 bytes per scalar value1 to 4RFC 3629: UTF-8, a transformation format of ISO 10646

Knowledge check

Choose an answer before reading the answer key.

  1. An unsigned 8-bit integer can represent values from 0 to what?

    1. 127
    2. 255
    3. 512
    4. 256
  2. Base64 encoding turns 3 bytes of data into how many text characters?

    1. 8
    2. 4
    3. 6
    4. 3
  3. Why is a plain ASCII file read correctly as UTF-8?

    1. ASCII uses 16 bits
    2. UTF-8 keeps ASCII byte values unchanged
    3. UTF-8 converts ASCII
    4. UTF-8 ignores ASCII
  4. What is the highest value of an 8-bit signed two's complement integer?

    1. 128
    2. 127
    3. 256
    4. 255
  5. What does Python's math.isclose() check when comparing two floating point results?

    1. That they are exactly equal in binary
    2. That they are both integers
    3. That one is smaller than the other
    4. That their difference is within an acceptable tolerance

Answer key

  1. B. 255. Eight bits give 256 patterns, and an unsigned integer uses them for the values 0 through 255. OpenStax Introduction to Computer Science 5.3: Machine-Level Information Representation
  2. B. 4. Base64 splits 24 bits into four 6-bit groups, so 3 bytes become 4 characters. RFC 4648: The Base16, Base32, and Base64 Data Encodings
  3. B. UTF-8 keeps ASCII byte values unchanged. UTF-8 preserves the exact one-byte values of all 128 ASCII characters. RFC 3629: UTF-8, a transformation format of ISO 10646
  4. B. 127. The range is -128 to 127 because zero takes one non-negative slot. OpenStax Introduction to Computer Science 5.3: Machine-Level Information Representation
  5. D. That their difference is within an acceptable tolerance. A tolerance check accepts tiny rounding errors when they are acceptable for the task. Python docs: Floating-Point Arithmetic, Issues and Limitations

Sources for this lesson

Lesson 2 of 8

Processors, Cores, and Memory Hierarchy

Understand how chips gained cores, how caches work, and why DRAM and SRAM differ.

What you will learn

  • Explain why processors shifted to multicore.
  • Describe cache levels and block movement.
  • Compare DRAM, SRAM, and storage.
  • Explain temporal and spatial locality.

Processor Trends

Moore's law observes that the number of transistors on a chip doubles about every two years with minimal rise in cost. It is about transistor count, not clock speed.

Around 2004, Dennard scaling ended, so raising clock speeds used far too much power. Chipmakers shifted to putting several slower cores on one chip instead of one very fast core.

Intel Hyper-Threading lets one physical core appear as two logical processors. The two logical processors share one core's execution resources.

A phone chip that mixes fast, power-hungry cores with slow, efficient ones has a heterogeneous design. Light tasks can run on efficient cores to save battery, while heavy tasks wake the fast cores.

A GPU spends more of its transistors on data processing units than a CPU does. It runs many simple math operations in parallel, suited to doing the same work on lots of data.

Memory Hierarchy

DRAM stores each bit as charge on a tiny capacitor. The charge leaks away, so built-in circuits refresh every cell every few milliseconds. This is the dynamic in dynamic RAM.

SRAM is fast and needs no refresh, but each bit needs four to six transistors. A DRAM bit uses one transistor and one capacitor, so DRAM packs far more bits into the same area.

On a cache miss, a modern CPU pulls in a whole 64-byte block from memory. That block is called a cache line and can hold sixteen 4-byte integers.

CPUs stack cache levels: L1 is small and fast, then L2, then L3. A miss in one level checks the next before going to slow main memory.

Locality and Volatility

Temporal locality means reusing the same data again soon, so it stays in cache. Spatial locality means using data stored next to what you just used, like walking through an array. Good locality gives more cache hits.

SRAM cache and DRAM main memory are volatile, so they lose contents when power is off. SSDs and hard drives are non-volatile and keep data without power. Unsaved work disappears in a power cut because it lives only in volatile memory.

Numbers to remember

ItemValueSource
Standard cache line64 bytesOpenStax Introduction to Computer Science 5.5: Memory Hierarchy
SRAM bit transistors4 to 6OpenStax Introduction to Computer Science 5.5: Memory Hierarchy
8-core with Hyper-Threading logical processors16OpenStax Introduction to Computer Science 5.6: Processor Architectures

Knowledge check

Choose an answer before reading the answer key.

  1. Why did chipmakers shift toward multicore processors around 2004?

    1. Transistors became free
    2. Faster clocks used too much power
    3. Clock speeds stopped mattering
    4. Cores were easier to build
  2. Why must DRAM be refreshed every few milliseconds?

    1. Its addresses change
    2. Its capacitors leak charge
    3. Its transistors overheat
    4. Its cache lines fill up
  3. Which cache level is the smallest and fastest?

    1. L3
    2. L2
    3. L1
    4. DRAM
  4. A loop reuses the same few variables thousands of times. Which locality is that?

    1. Virtual locality
    2. Spatial locality
    3. Cache line locality
    4. Temporal locality
  5. What happens to RAM and cache when the computer loses power?

    1. They write to disk
    2. They lose their contents
    3. They keep data
    4. They refresh

Answer key

  1. B. Faster clocks used too much power. After Dennard scaling ended, faster clocks meant much more power and heat, so designers used several slower cores. OpenStax Introduction to Computer Science 5.6: Processor Architectures
  2. B. Its capacitors leak charge. DRAM stores bits as charge on capacitors, and that charge slowly leaks away. OpenStax Introduction to Computer Science 5.5: Memory Hierarchy
  3. C. L1. L1 is the small, quick cache closest to the core. OpenStax Introduction to Computer Science 5.5: Memory Hierarchy
  4. D. Temporal locality. Reusing the same data again soon is temporal locality. OpenStax Introduction to Computer Science 5.5: Memory Hierarchy
  5. B. They lose their contents. SRAM cache and DRAM main memory are volatile, so no power means no data. OpenStax Introduction to Computer Science 5.5: Memory Hierarchy

Sources for this lesson

Lesson 3 of 8

Storage, File Systems, and the Operating System

See how SSDs and HDDs work, how virtual memory maps addresses, and how files are named and booted.

What you will learn

  • Explain why SSDs wear and how wear leveling helps.
  • Describe virtual memory and page tables.
  • Explain kernel mode versus user mode.
  • Describe file names, FAT32 limits, and boot security.

Storage Media

A hard disk drive is much slower than RAM or an SSD because it uses mechanical movement. The read/write head must swing to the right track and wait for the platter to spin to the right spot.

Flash memory cells wear out after many writes. An SSD stretches its life by spreading writes evenly across all cells through its translation layer, rather than wearing out one location early.

Overwriting a file with zeros is not reliable on an SSD because old copies can remain in unmapped flash. NIST recommends media-specific sanitize methods that bypass normal read and write abstractions.

Operating System Core

The operating system kernel is the core program that is always running. It manages memory, schedules processes, and talks to hardware through drivers. Apps ask the kernel for services through system calls.

In Windows, user-mode apps each get a private address space, so one crash stays contained. All kernel-mode code shares one address space with the OS, so a bad kernel driver can crash the entire operating system.

With virtual memory, every memory access needs an address translation. The CPU's translation lookaside buffer, or TLB, stores recent virtual to physical address translations so it can skip extra trips to main memory.

The kernel keeps page tables that map each virtual page a program uses to a physical page frame. Virtual memory also allows demand paging, so only the parts of a program actually needed are kept in RAM.

File Systems and Boot

On Linux ext4, an inode stores a file's metadata like size, owner, time stamps, and block locations. The file's name is stored in the directory entry, which maps names to inode numbers. This lets one file have several names through hard links.

FAT32 stores file sizes in 32 bits, so no single file can reach 4 GiB. A 6 GB video will not copy to a FAT32 USB stick even if there is plenty of free space. exFAT or NTFS removes that limit.

A classic MBR partition table holds only four partition entries. The newer GPT scheme drops that limit, and Windows allows 128 GPT partitions.

With UEFI Secure Boot turned on, the firmware checks each boot component's digital signature against trust databases. Trusted software can run, while untrusted or revoked software is blocked before the operating system loads.

Numbers to remember

ItemValueSource
FAT32 single file limit4 GiBMicrosoft Learn: File system functionality comparison
MBR partition entries4Microsoft Learn: Windows and GPT FAQ
Windows GPT partitions128Microsoft Learn: Windows and GPT FAQ

Knowledge check

Choose an answer before reading the answer key.

  1. Why is overwriting a file with zeros not a reliable erase method on an SSD?

    1. The file system blocks it
    2. Zeros damage cells
    3. Old copies can remain in unmapped flash
    4. SSDs ignore zeros
  2. What data structures map virtual addresses to physical RAM addresses?

    1. Cache lines
    2. TLBs
    3. Page tables
    4. Directories
  3. Where is a file's name stored on an ext4 file system?

    1. In the superblock
    2. In the directory entry
    3. In the block map
    4. In the inode
  4. Why does a 6 GB video file fail on a FAT32 USB stick?

    1. The file is too fragmented
    2. The stick is read-only
    3. FAT32 caps single files at 4 GiB
    4. FAT32 cannot store videos
  5. What does UEFI Secure Boot check before running boot software?

    1. The digital signature
    2. The partition table
    3. The user password
    4. The file size

Answer key

  1. C. Old copies can remain in unmapped flash. The SSD maps logical addresses to changing physical flash, so old data can survive in unmapped pages. NIST SP 800-88 Rev. 2: Guidelines for Media Sanitization
  2. C. Page tables. The kernel keeps page tables that map virtual pages to physical page frames. Linux kernel docs: Concepts overview (memory management)
  3. B. In the directory entry. The directory maps names to inode numbers, while the inode stores metadata. Linux kernel docs: ext4 Index Nodes
  4. C. FAT32 caps single files at 4 GiB. FAT32 stores file sizes in 32 bits, so no single file can reach 4 GiB. Microsoft Learn: File system functionality comparison
  5. A. The digital signature. Firmware checks each boot component's signature against trust databases. Microsoft Learn: Secure Boot

Sources for this lesson

Lesson 4 of 8

Virtualization, Cloud Services, and Software Execution

Understand how hypervisors, containers, and cloud service models work, and how code becomes running programs.

What you will learn

  • Contrast bare metal and hosted hypervisors.
  • Explain how containers share a host kernel.
  • Differentiate IaaS, PaaS, and SaaS.
  • Describe how C, Python, and Java code executes.

Virtualization and Containers

A bare metal hypervisor, also called type 1, runs directly on hardware without a host operating system beneath it. A hosted hypervisor runs on top of a host OS.

A virtual machine includes a guest operating system with its own kernel. A container is an isolated process with needed files, but it uses the host's kernel, which reduces overhead.

Cloud Service Models

Infrastructure as a Service, or IaaS, provides fundamental resources like processing, storage, and networks. The consumer can install operating systems and applications while the provider manages the underlying infrastructure.

Platform as a Service, or PaaS, lets a consumer deploy applications using provider-supported tools. The provider manages the servers, operating systems, storage, and network, while the consumer controls deployed applications and some settings.

Software as a Service, or SaaS, gives consumers access to applications running on the provider's cloud. The provider manages the network, servers, operating systems, and storage. A web browser is a common access method.

Data centers use redundant power and network systems so service can continue through component failures. They also control temperature and humidity to protect equipment.

From Source to Running Program

When a C program is spread over several source files, the linker joins the object files and needed libraries into one executable. An undefined reference commonly appears during linking when no object file or library supplies a required symbol.

CPython compiles Python source code into bytecode, an internal set of instructions. Its virtual machine executes that bytecode. Cached .pyc files can let later runs skip recompilation.

Java source is compiled into class files containing JVM bytecode. The Java Virtual Machine knows only that binary format, not the Java language itself, so other languages like Kotlin can also run on the JVM.

ARM processors use RISC, a reduced instruction set architecture. RISC favors simpler decoding than CISC, which can help deliver strong performance per watt in battery-powered devices.

Availability, Redundancy, and Failover

Availability describes how much time a service is expected to work. A 99.9% monthly availability target leaves a 0.1% down fraction. For a 30-day month, that works out to about 43.2 minutes of downtime. A target of 99.99% (four nines) allows about 4.3 minutes, and 99.999% (five nines) allows about 26 seconds.

Redundancy means keeping spare parts or replicas so one failure does not stop the whole service. The goal is to remove single points of failure. A redundant replica must avoid shared dependencies that would fail together. Redundancy can be as small as a spare part or as large as a full copy of an application stack.

Failover is the action that moves work to a healthy resource after a failure. Redundancy only provides the spare capacity. Health checks and traffic switching are part of the design. A database replica may need to be promoted before it can accept primary writes.

Knowledge check

Choose an answer before reading the answer key.

  1. What do several containers on one Linux host share?

    1. The host's kernel
    2. The same IP address
    3. A separate kernel each
    4. The same filesystem
  2. In which cloud service model can a consumer install and run an operating system?

    1. SaaS
    2. PaaS
    3. IaaS
    4. FaaS
  3. What part of the environment does a PaaS consumer control?

    1. Deployed applications and some settings
    2. Data center cooling
    3. Operating system patches
    4. Physical servers
  4. Which tool joins object files into one executable in a C pipeline?

    1. Assembler
    2. Interpreter
    3. Compiler
    4. Linker
  5. What does CPython compile source code into before execution?

    1. Python bytecode
    2. Java bytecode
    3. C code
    4. Machine code
  6. A cloud service promises 99.9% availability in a 30-day month. About how much downtime does that allow?

    1. 432 minutes
    2. 4.3 minutes
    3. 43.2 minutes
    4. 26 seconds
  7. A team adds a second web server so one failure will not stop the site. What reliability problem are they removing?

    1. High network latency
    2. Slow database queries
    3. Weak password storage
    4. A single point of failure
  8. After the primary database fails, what must happen before a replica can accept primary writes?

    1. The primary must restart and rewrite its logs
    2. The replica automatically serves writes without promotion
    3. Users must clear their browser cache
    4. The replica must be promoted and traffic switched to it

Answer key

  1. A. The host's kernel. A container is an isolated process but uses the host's kernel. Docker Docs: What is a container?
  2. C. IaaS. IaaS provides processing, storage, and networks, and the consumer can install operating systems and applications. NIST SP 800-145: The NIST Definition of Cloud Computing
  3. A. Deployed applications and some settings. PaaS consumers deploy applications and possibly adjust configuration settings, while the provider manages the infrastructure. NIST SP 800-145: The NIST Definition of Cloud Computing
  4. D. Linker. The linker resolves references among object files and libraries and combines them into an executable. OpenStax Introduction to Computer Science 5.4: Machine-Level Program Representation
  5. A. Python bytecode. CPython compiles source into bytecode, which its virtual machine executes. Python docs: Glossary (bytecode)
  6. C. 43.2 minutes. 99.9% availability leaves a 0.1% down fraction, which is 43.2 minutes in a 30-day month. Google Cloud Building Blocks of Reliability
  7. D. A single point of failure. Redundancy removes single points of failure by providing a spare or replica that can take over. AWS Resilience Analysis Framework
  8. D. The replica must be promoted and traffic switched to it. Failover activates a healthy resource, and a database replica may need promotion before it can accept primary writes. AWS Well-Architected Fail Over to Healthy Resources

Sources for this lesson

Lesson 5 of 8

Network Foundations: Layers, Addressing, and Core Protocols

Learn how networks are layered, how IP and Ethernet addressing work, and what DNS, TCP, and UDP do.

What you will learn

  • Explain the TCP/IP layer model.
  • Describe IPv4 addresses, private ranges, and NAT.
  • Explain DHCP and DNS.
  • Compare TCP and UDP.

Models and IP

IP treats each datagram as an independent unit. It does not require one packet's handling to depend on an earlier packet, so higher layers handle ordering and reliability when needed.

The Internet protocol suite is commonly described as four layers: application, transport, internet, and link. Each layer offers services to the layer above and relies on the one below.

The OSI reference model divides network communication into seven layers, from physical at Layer 1 to application at Layer 7. It gives engineers a shared vocabulary for locating functions and problems.

An IPv4 address is 32 bits long, made of four octets. A 32-bit field has 4,294,967,296 possible bit patterns.

IANA made its final recovered-pool IPv4 allocations in 2019, which effectively exhausted its allocatable space. IPv4 did not switch off, but the central pool of fresh allocations ended.

Addressing and Translation

RFC 1918 reserves 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 for private internets. Different organizations may reuse these addresses because they are not globally unique.

Network Address Port Translation, or NAPT, lets many private hosts share one public address. It rewrites both an address and a TCP or UDP port so return traffic can be matched to the correct internal connection.

Ethernet most commonly identifies interfaces with a 48-bit MAC address. That identifier operates at the link layer, unlike an IP address at internet layer.

DHCP confirms a client's configuration parameters with a DHCPACK message. A DHCP address is normally leased for a period, not permanently owned.

Name Resolution and Transport

A DNS resolver may receive a referral to another name server when the first server lacks the final answer. Following referrals one server at a time is called iterative resolution.

A DNS record's time to live, or TTL, controls how long it may stay cached, measured in seconds. After the TTL expires, a cache should discard the record instead of treating it as current.

DNS uses port 53 for both UDP and TCP. Standard queries commonly use UDP for low overhead, while TCP is used when reliable stream transport is required.

TCP presents a reliable in-order byte stream to applications. It numbers, acknowledges, and retransmits data, so an application does not see packet boundaries.

UDP sends self-contained datagrams and does not guarantee delivery or duplicate protection. Unlike TCP's byte stream, UDP preserves message boundaries.

Numbers to remember

ItemValueSource
IPv4 address bits32RFC 791: Internet Protocol
Ethernet MAC address bits48RFC 7042: IANA Considerations for IEEE 802 Parameters
DNS port53RFC 1035: Domain Names, Implementation and Specification
TCP/IP layers4RFC 1122: Requirements for Internet Hosts

Knowledge check

Choose an answer before reading the answer key.

  1. Which layer does IP belong to in the Internet protocol suite?

    1. Internet
    2. Application
    3. Transport
    4. Link
  2. An IPv4 address consists of four octets. How many bits are in each octet?

    1. 32
    2. 8
    3. 16
    4. 4
  3. Which message confirms a DHCP client's configuration parameters?

    1. DHCPACK
    2. DHCPDISCOVER
    3. DHCPREQUEST
    4. DHCPOFFER
  4. A resolver has cached a DNS record. According to the record's TTL, when should it discard the record?

    1. After the TTL expires
    2. Never
    3. Immediately after the first use
    4. After 24 hours
  5. Which transport service presents a reliable in-order byte stream?

    1. TCP
    2. IP
    3. ICMP
    4. UDP

Answer key

  1. A. Internet. TCP belongs to transport, while IP belongs to the internet layer. RFC 1122: Requirements for Internet Hosts
  2. B. 8. Each octet contains 8 bits, so four octets make 32 bits. RFC 791: Internet Protocol
  3. A. DHCPACK. After a client requests an offered configuration, the server sends DHCPACK with the final parameters. RFC 2131: Dynamic Host Configuration Protocol
  4. A. After the TTL expires. TTL is the time in seconds that a cached record may be kept before it should be discarded. RFC 1035: Domain Names, Implementation and Specification
  5. A. TCP. TCP numbers, acknowledges, and retransmits data to provide an ordered byte stream. RFC 9293: Transmission Control Protocol

Sources for this lesson

Lesson 6 of 8

Internet Applications, Web, and Network Infrastructure

Learn HTTP, TLS, certificates, network performance, and the devices and paths that carry traffic.

What you will learn

  • Explain HTTP methods, status codes, and caching.
  • Describe TLS and digital certificates.
  • Explain bandwidth, latency, throughput, and ping.
  • Describe routers, switches, CDNs, Wi-Fi, and fiber.

HTTP and Web Protocols

HTTP uses TCP port 80 by default when a URI does not specify a port. SSH normally listens on port 22, while DNS uses port 53.

The HTTP GET method requests a current representation of a resource. A successful GET response usually carries that representation in its content.

The HTTP POST method asks the target resource to process the enclosed representation according to its own rules. POST is not defined as a safe method.

An HTTP 301 status code indicates that the target resource has a permanent new URI. The response normally supplies the new URI in a Location header.

An HTTP status code starting with 5, like 500, means the server failed on a valid-looking request. A 201 Created means a request made a new resource, a common reply to a successful POST.

TLS, Certificates, and Network Performance

TLS is designed to resist eavesdropping, tampering, and message forgery during communication. Its handshake establishes keys and authenticates at least the server in typical HTTPS use.

A TLS 1.3 key exchange establishes shared secrets and traffic keys. Derived traffic keys then protect handshake records and application data.

A public-key certificate binds together a public key and a subject. A trusted certificate authority digitally signs the certificate to assert that binding.

Network bandwidth is the maximum theoretical transfer rate, usually measured in bits per second. Latency is the time data takes to travel, commonly in milliseconds. Throughput is the actual amount of data successfully transmitted over time.

Network Diagnostics and Infrastructure

Ping uses ICMP Echo Request and Echo Reply. The Echo Reply returns the data carried in the Echo Request, and the round-trip timing can reveal reachability and delay. Filtering can prevent replies.

The 2.4 GHz Wi-Fi band typically travels farther than 5 GHz because lower frequency waves generally experience less path loss. Actual coverage depends on power, antennas, walls, and interference.

Wi-Fi 6E is Wi-Fi 6 technology extended into the 6 GHz band. Only 6 GHz capable devices can use that band, so older, slower devices do not crowd it. Wi-Fi 7 can also use 6 GHz plus 2.4 and 5 GHz.

A router forwards packets between networks by examining network-layer addressing. Its forwarding table maps destination prefixes to next hops or outgoing interfaces.

An Ethernet switch dynamically learns addresses from each received frame's source MAC and associates that MAC with the incoming port. If a destination is unknown, the switch can flood the frame.

A CDN serves cached content from edge locations to serve content closer to users. When content is absent from an edge cache, the CDN may fetch it from an origin server.

BGP is an inter-Autonomous System routing protocol. It exchanges reachability information between autonomous systems so each can apply policy when selecting routes.

Fiber-optic cabling uses light through glass or plastic, so it is less susceptible to electromagnetic interference than copper. Fiber also commonly supports greater bandwidth and longer distances.

Web APIs and Browser Performance

JSON has four simple types: string, number, boolean, and null, plus object and array containers. It has no date type, so dates are usually sent as strings.

REST APIs are stateless: each request must carry all the information needed to understand it, such as a login token. The server does not remember earlier requests between calls.

GET, HEAD, OPTIONS and TRACE are safe and idempotent. PUT and DELETE are idempotent, but POST is not: repeating the same POST can create duplicates.

Frontend code runs in the browser and shapes how a page looks and acts. Backend code runs on the web server, checks requests, reads databases, and chooses what to send back.

After DNS finds the server's IP address, the browser opens a TCP connection with a three-way handshake: SYN, SYN-ACK, ACK. For HTTPS, a TLS handshake follows to agree on encryption and verify the server.

A classic script without async or defer pauses HTML parsing while it is fetched and executed. The critical rendering path builds the DOM and CSSOM, makes the render tree, runs layout, then paints.

Cache-Control: no-cache stores the response but forces a revalidation with the server before reuse. If the cached ETag matches, the server replies 304 Not Modified and the browser reuses the cached copy.

Numbers to remember

ItemValueSource
HTTP default port80RFC 9110: HTTP Semantics
SSH port22RFC 4253: SSH Transport Layer Protocol
Wi-Fi 6E band6 GHzWi-Fi Alliance: Wi-Fi Alliance brings Wi-Fi 6 into 6 GHz
First HTML chunk size oftenabout 14KBMDN: How browsers work

Knowledge check

Choose an answer before reading the answer key.

  1. A website has permanently moved to a new address. Which HTTP status code should its server return?

    1. 500
    2. 304
    3. 301
    4. 404
  2. Which threats is TLS designed to resist?

    1. Eavesdropping, tampering, and forgery
    2. DDoS and phishing
    3. Spam and viruses
    4. SQL injection
  3. A connection's maximum theoretical transfer rate is called what?

    1. Throughput
    2. Latency
    3. Jitter
    4. Bandwidth
  4. Which Wi-Fi band typically travels farther?

    1. 5 GHz
    2. 60 GHz
    3. 2.4 GHz
    4. 6 GHz
  5. What does an Ethernet switch use to build its address table?

    1. Destination IP
    2. DNS names
    3. Source MAC of received frames
    4. DHCP leases

Answer key

  1. C. 301. A 301 response indicates that the target resource has been assigned a new permanent URI. RFC 9110: HTTP Semantics
  2. A. Eavesdropping, tampering, and forgery. TLS provides confidentiality and integrity to prevent eavesdropping, tampering, and message forgery. RFC 8446: The Transport Layer Security Protocol Version 1.3
  3. D. Bandwidth. Bandwidth is the capacity ceiling of a network connection, usually in bits per second. AWS: What Is Network Bandwidth?
  4. C. 2.4 GHz. Lower-frequency 2.4 GHz waves generally experience less path loss and reach farther. TP-Link: What Is a Dual-Band Router?
  5. C. Source MAC of received frames. A switch associates the source MAC address of each received frame with the incoming port. NVIDIA Cumulus Linux: Ethernet Bridging - VLANs

Sources for this lesson

Lesson 7 of 8

Software Development, Data Structures, and Databases

Understand algorithms, Git, databases, SQL, testing, and debugging.

What you will learn

  • Explain common data structures and algorithm costs.
  • Describe Git's snapshot model and branching.
  • Explain primary keys, indexes, transactions, and ACID.
  • Describe testing, debugging, and historical Y2K.

Data Structures and Algorithms

Looking up a key in a hash table like a Python dict usually takes O(1) average time. A hash function turns the key into a slot number, so the table jumps right to the item. A bad collision pattern can make the worst case O(n).

Python lists store slots side by side, so adding at the front forces every other item to shift one spot, which is O(n). Appending at the end is usually fast and amortized O(1). collections.deque is built for fast adds at both ends.

A stack is last-in, first-out: the most recently added item comes off first. A queue is first-in, first-out. Function calls live on a call stack, so the last function called is the first to finish.

Stable sorting keeps items with equal keys in their original order. Python's sorted() and list.sort() are stable and use Timsort, which takes advantage of order already in the data.

Python has a recursion limit to stop runaway recursion from crashing the interpreter. Every function call uses a frame of stack memory, so infinite recursion would overflow the stack. You can read or change the limit but too high can crash.

Git and Version Control

Git thinks of project history as a series of snapshots of the whole project. At each commit, it records tracked files and reuses unchanged files by reference.

Git names stored objects with a cryptographic hash. Traditional repositories use 40 hex SHA-1 digits, while SHA-256 repositories use 64. Git accepts an abbreviated ID only if the prefix is unique.

A Git branch is a movable pointer to one commit. When you commit on that branch, the pointer moves forward, so branching is nearly instant. HEAD points to the current branch.

Git does a fast-forward merge when there is no divergent work to combine. It simply moves the branch pointer forward to the newer commit. If both branches have new commits, Git uses a three-way merge with their common ancestor.

The staging area, also called the index, stores what will go into your next commit. Files move through modified, staged, and committed states. Staging lets you commit only some changes.

git bisect binary searches commits to find which one introduced a bug. You mark one commit good and one bad, and it checks out the middle one, halving the range each time.

The MIT License lets almost anyone reuse code. Its main condition is to keep the original copyright and license notice in all copies or substantial portions. It is permissive, not copyleft.

Databases and Query Languages

A primary key enforces uniqueness and not null for a table's rows. A foreign key can reference a primary key or another unique key to maintain referential integrity.

Database indexes speed up searches like a book index, but they add overhead to every insert, update, and delete. Adding indexes everywhere can backfire.

A transaction bundles multiple steps into one all-or-nothing operation. A bank transfer needs a transaction so both debit and credit happen, or neither does. ROLLBACK cancels everything if something goes wrong.

Durability in ACID promises that committed changes survive a system failure or crash. Isolation means a transaction's changes stay invisible to other transactions until it commits.

NoSQL databases often use flexible, non-tabular schemas, unlike relational tables with defined columns. Document, key-value, and graph are three NoSQL data models.

SQL is declarative: you describe the result you want, and the database engine decides whether to scan or use an index and in what order. Procedural languages specify exact steps.

A pure function has no side effects and its output depends only on input. The same input always gives the same output, making it easy to test and safe to run in parallel. Python supports procedural, object-oriented, and functional styles.

Testing, Debugging, and History

Unit tests check one module in isolation, while integration tests check modules combined. Running all tests after every change is regression testing and catches old bugs that sneak back.

When hunting a bug, first find a small, repeatable case that triggers it. Then study the data, form a hypothesis, test it, and repeat. Explaining code out loud line by line to an object is called rubber-duck debugging.

The Y2K problem happened because programmers stored years as two digits to save memory, assuming the century was 19. When 2000 arrived, 00 could look like 1900, breaking date math.

Numbers to remember

ItemValueSource
Hash table lookup averageO(1)Python Wiki: TimeComplexity
Python list insert frontO(n)Python Tutorial: Data Structures
Git SHA-1 object ID length40 hex digitsPro Git book: What is Git?
Git SHA-256 object ID length64 hex digitsGit hash function transition

Knowledge check

Choose an answer before reading the answer key.

  1. On average, how long does looking up a key in a Python dict take?

    1. O(n)
    2. O(n log n)
    3. O(1)
    4. O(log n)
  2. Why is inserting at the front of a Python list slow?

    1. Every other item shifts over one spot
    2. It allocates new memory
    3. It triggers garbage collection
    4. The list is immutable
  3. What does the Git staging area store?

    1. Merge conflicts
    2. Remote branches
    3. All historical snapshots
    4. What will go into your next commit
  4. In a bank transfer, why wrap the two steps in a transaction?

    1. To prevent SQL injection
    2. To increase indexes
    3. So both steps happen, or neither does
    4. To make them faster
  5. What does Durability in ACID promise?

    1. Indexes stay fresh
    2. Committed changes survive a crash
    3. All steps happen or none
    4. Changes are invisible until commit

Answer key

  1. C. O(1). A hash function turns the key into a slot number, so the table jumps right to the item. Python Wiki: TimeComplexity
  2. A. Every other item shifts over one spot. A Python list stores slots side by side, so front insert shifts all existing items O(n). Python Tutorial: Data Structures
  3. D. What will go into your next commit. The index stores information about what you have marked for the next commit with git add. Pro Git book: What is Git?
  4. C. So both steps happen, or neither does. A transaction bundles steps into an all-or-nothing operation, so a crash cannot leave money missing. PostgreSQL Tutorial: Transactions
  5. B. Committed changes survive a crash. Durability means after a successful commit, the change remains even after a system failure. PostgreSQL Documentation: Glossary

Sources for this lesson

Lesson 8 of 8

Security, Privacy, and Incident Response

Understand security goals, authentication, malware, network security, and how to recover from incidents.

What you will learn

  • Explain the CIA triad and least privilege.
  • Describe password security and multi-factor authentication.
  • Explain malware types, phishing, and common attacks.
  • Describe backups, incident response, and logging.

Security Goals and Access Control

The CIA triad names three security goals: confidentiality, integrity, and availability. Confidentiality limits disclosure, integrity guards against improper change, and availability keeps information reliably accessible.

The principle of least privilege requires giving each entity the minimum system resources and authorizations needed to perform its function. This narrows what a compromised account or faulty process can reach.

Patch management includes identifying, prioritizing, acquiring, installing, and verifying updates. Verification catches failed deployments that still leave systems exposed. Organizations often test patches first because updates can affect availability.

A zero-day attack exploits a previously unknown hardware, firmware, or software vulnerability. Existing patches cannot remove a flaw that has not yet been discovered and fixed, so behavior monitoring and isolation can reduce risk.

Passwords, Authentication, and Phishing

Password length is a primary factor in resisting guessing. Adding more unpredictable characters expands the search space. A passphrase can make a password longer while remaining easier to remember.

Current NIST guidance says verifiers should not impose composition rules. Instead, services should compare new passwords against a common-password blocklist, allow password managers, and use rate limiting.

A unique salt is added before hashing each password to separate otherwise identical hashes. NIST requires each salt to be at least 32 bits long and stored with the hash.

bcrypt's work factor controls the cost of each hash. A larger work factor makes every guess slower, including an attacker's guesses, but must remain low enough for legitimate verification.

True multi-factor authentication requires two distinct authentication factors, such as something you know plus something you have. Two passwords are two steps but one factor type.

A WebAuthn passkey resists lookalike sites because it works only for its relying party identifier. A different domain cannot ask the authenticator to use that credential, and the private key stays on the authenticator.

Phishing is social engineering that tries to trick people into disclosing sensitive information through deceptive messages or counterfeit verifiers. Perfect spelling does not make a request genuine.

Malware, Cryptography, and Network Security

A classic virus attaches to host programs and commonly becomes active when a person opens the infected file or runs the infected program. A worm is self-contained and can spread through a network without user action. A Trojan horse pretends to be benign while hiding a malicious purpose.

File-encrypting ransomware encrypts an organization's data and demands payment to restore access. Some operators also steal data and threaten disclosure, called double extortion.

Symmetric encryption uses the same secret key to encrypt and decrypt, and AES is widely used. Asymmetric cryptography uses a public and private key pair for complementary operations.

A digital signature uses the private key to sign data and the public key to verify. A signature provides authenticity and integrity, but not confidentiality by itself.

A remote-access VPN tunnel's protection ends at the VPN gateway. Traffic beyond the gateway and data stored on the client need their own protections. Split tunneling sends ordinary internet traffic outside the VPN tunnel.

A packet-filtering firewall ruleset commonly uses protocols, addresses, ports, interfaces, and direction. A stateful firewall also remembers connection state in a state table and can reject packets that claim to belong to an unobserved session.

Parameterized queries block SQL injection by separating code from data. The developer defines the SQL statement first and binds input values separately, so an attack string is treated as a literal value. XSS output encoding must match the browser context, like HTML, JavaScript, CSS, or URL.

Backups, Incident Response, and Logging

At least one backup should be isolated from production systems to block ransomware spread. A continuously reachable backup may be encrypted or deleted by the same compromised credentials. Isolation can be physical, logical, or immutable.

A restore test proves that recovery actually works. A backup job can report success while files are incomplete, corrupt, or missing configuration. Restore tests also measure whether recovery meets the required time.

A mirrored RAID array is not a backup. It is not an independent copy and will quickly copy mistaken deletions or encrypted files. RAID mainly improves availability during certain disk failures.

Every logging host should use a common time source to correlate event timelines. A SIEM adds cross-source analysis, collecting logs and normalizing different vendor formats so weak signals can be connected.

Incident response is a lifecycle: preparation, detection and analysis, containment, eradication, and recovery. Containment limits spread, while eradication removes the incident's foothold like malware, breached accounts, or exploited vulnerabilities.

Data minimization helps privacy: a service can request only an over-threshold result instead of an exact birth date to verify an age threshold. Collecting less personal data reduces what can be exposed in a later breach.

MLS end-to-end encrypted group messages can only be decrypted by group members. The delivery service can route ciphertext but cannot read payloads, though it may still learn which devices share a message.

Numbers to remember

ItemValueSource
NIST salt minimum length32 bitsNIST SP 800-63B

Knowledge check

Choose an answer before reading the answer key.

  1. A system keeps data secret, prevents unauthorized changes, and stays available. Which model summarizes these three goals?

    1. CIA triad
    2. TCP/IP stack
    3. ACID
    4. OSI model
  2. What does current NIST guidance recommend instead of imposing password composition rules?

    1. Do not impose composition rules
    2. Forcing changes every 30 days
    3. Requiring uppercase, digits, and symbols
    4. Disallowing password managers
  3. Which type of malware can spread by itself through a network without a host program?

    1. Virus
    2. Trojan horse
    3. Ransomware
    4. Worm
  4. What does a stateful firewall remember beyond packet headers?

    1. Connection state
    2. User passwords
    3. DNS cache
    4. Encryption keys
  5. Attackers often encrypt live systems and their mapped backups. What property of an isolated backup stops this?

    1. It is faster
    2. It is outside the attack path
    3. It is smaller
    4. It is cheaper

Answer key

  1. A. CIA triad. The CIA triad stands for confidentiality, integrity, and availability. NIST CSRC Glossary: information security
  2. A. Do not impose composition rules. NIST emphasizes length, blocklists, secure storage, and rate limiting instead of rigid composition rules. NIST SP 800-63B
  3. D. Worm. A worm is a self-contained program that replicates without a host, while a virus attaches to host files. NIST SP 800-83 Rev. 1
  4. A. Connection state. Stateful inspection keeps a state table of addresses, ports, and connection state. NIST SP 800-41 Rev. 1
  5. B. It is outside the attack path. Isolation keeps the backup from being reached by compromised credentials and malware. NIST Ransomware Tips and Tactics

Sources for this lesson

Practice checklist

  • โ˜ Open a terminal and run a small Python experiment with 0.1 + 0.2 to see the rounding error.
  • โ˜ Examine your Wi-Fi router settings and note the 2.4 GHz and 5 GHz network names.
  • โ˜ Use a password manager to generate a long passphrase for one account.
  • โ˜ Check the FAT32 or exFAT format of a USB stick before copying a large file.
  • โ˜ Run a restore test from a backup of a small file.
  • โ˜ Review a website's SSL certificate by clicking the lock icon and checking the issuer.

Keep learning

  • Read the full source documents linked in this guide for deeper detail.
  • Practice with small projects that use Git branches and commits.
  • Set up a home lab with a virtual machine and a container to compare them.
  • Teach one concept from each lesson to a friend to solidify your understanding.
  • Periodically review the security lesson and update your backup and password practices.

How this guide was made

Aha Trivia wrote this guide from the 149 approved cards in Stuff Every Technology Expert Should Know. Before a card is approved, two AIs check it, and code finds its quote on the source page.

DeepSeek V4 Pro wrote the lessons using only those cards. Codex (GPT-5.6) checked every line against the cards. The checker accepted every repair, so no third review was needed. Lines that no check could confirm were removed. Every source link above comes from a checked card. Checked 2026-10-25.

Found a mistake? Tell us and we will fix it.

Practice what you learned

Aha Trivia turns the subject into short, scored questions. The guide and game are study tools, not official training or certification.

โ–ถ Play Stuff Every Technology Expert Should Know Find another deck