HP JBT study materials
HP JBT study resources

HP JBT key terms

HP JBT · Get comfortable with the vocabulary.

Stack

A linear data structure that adds and removes items only at one end, the top, following last-in-first-out order. Push inserts, pop removes, and both take constant time.

Related: Queue, Recursion
Queue

A linear data structure that inserts at the rear and removes from the front, following first-in-first-out order. Enqueue adds an item; dequeue removes the oldest item.

Related: Stack
Linked List

A sequence of nodes where each node stores data and a reference to the next node, so elements need not sit in contiguous memory. Insertion and deletion are cheap once the position is known.

Related: Pointer, Array
Pointer

A variable that holds a memory address rather than a data value. Dereferencing a pointer reads or writes the location it refers to; misuse causes dangling references and memory leaks.

Related: Linked List, Heap Memory
Array

A fixed-size collection of elements of the same type stored in consecutive memory, accessed by index. Random access is constant time, but inserting in the middle requires shifting elements.

Related: Linked List, Hash Table
Hash Table

A structure that maps keys to values by converting each key into an index with a hash function. Average lookup is constant time; collisions are resolved by chaining or open addressing.

Related: Array, Time Complexity
Binary Search Tree

A binary tree where every left descendant is smaller and every right descendant larger than the node. Search, insert, and delete take time proportional to tree height, which can degrade to linear.

Related: Tree Traversal, Time Complexity
Tree Traversal

A systematic way of visiting every node of a tree. Preorder visits root first, inorder visits left subtree then root then right, postorder visits root last, and level order proceeds breadth-first.

Related: Binary Search Tree, Queue
Recursion

A technique where a function calls itself on a smaller version of the same problem. It needs a base case to stop and uses the call stack, so deep recursion risks stack overflow.

Related: Stack, Dynamic Programming
Time Complexity

A measure of how an algorithm's running time grows with input size, usually expressed in big-O notation that ignores constants and lower-order terms.

Related: Space Complexity, Sorting Algorithms
Space Complexity

The total memory an algorithm needs as a function of input size, counting both the input storage and any auxiliary structures such as arrays, stacks, or recursion frames.

Related: Time Complexity
Sorting Algorithms

Methods that arrange data in order. Comparison sorts such as merge sort and quicksort run in O(n log n); simple sorts such as insertion sort run in O(n squared) but suit small inputs.

Related: Time Complexity, Divide and Conquer
Divide and Conquer

A strategy that splits a problem into independent smaller subproblems, solves each recursively, and combines the results. Merge sort and binary search are classic examples.

Related: Recursion, Sorting Algorithms
Dynamic Programming

An optimization technique that solves overlapping subproblems once, stores their results in a table, and reuses them. It requires optimal substructure and works bottom-up or with memoization.

Related: Recursion, Greedy Algorithm
Greedy Algorithm

An approach that builds a solution step by step, always choosing the locally best option, without revisiting earlier choices. It is correct only when the problem has the greedy-choice property.

Related: Dynamic Programming, Graph Traversal
Graph Traversal

A method for visiting all vertices of a graph. Breadth-first search uses a queue and finds shortest paths in unweighted graphs; depth-first search uses a stack or recursion.

Related: Queue, Stack
Process

A running program instance with its own address space, registers, and resources. Processes are isolated from one another, so communication requires inter-process mechanisms such as pipes or shared memory.

Related: Thread, Virtual Memory, Context Switch
Thread

A unit of execution inside a process that shares the process's memory and open files but has its own stack and registers. Threads are cheaper to create and switch than processes.

Related: Process, Context Switch
Context Switch

The act of saving the state of one running process or thread and restoring another so execution can resume later. It costs time and is pure overhead.

Related: Process, Thread
Virtual Memory

An abstraction giving each process a private logical address space mapped to physical frames by the memory management unit. It enables isolation, demand paging, and programs larger than RAM.

Related: Page Fault, Process
Page Fault

A trap raised when a program accesses a page not currently in physical memory. The operating system loads the page from disk, which is far slower than a normal memory access.

Related: Virtual Memory, Thrashing
Thrashing

A condition where the system spends most of its time swapping pages in and out instead of executing instructions, usually because too many processes compete for too little physical memory.

Related: Page Fault, Virtual Memory
Deadlock

A state where a set of processes each wait for a resource held by another in the set, so none can proceed. It requires mutual exclusion, hold-and-wait, no preemption, and circular wait.

Related: Process, Semaphore
Semaphore

A synchronization variable holding a counter that processes increment or decrement atomically to coordinate access to shared resources. A binary semaphore behaves like a mutex lock.

Related: Deadlock, Thread
Heap Memory

A region of memory used for dynamic allocation at run time, where blocks are requested and released explicitly or by a garbage collector. Allocation is slower than stack allocation.

Related: Pointer, Stack
Primary Key

A column or set of columns that uniquely identifies each row in a table. It must be unique and non-null, and a table can have only one primary key.

Related: Foreign Key, Normalization
Foreign Key

A column or set of columns whose values must match a primary key in another table or be null. It enforces referential integrity between related tables.

Related: Primary Key, Normalization
Normalization

The process of organizing tables to reduce redundancy and update anomalies by applying normal forms. Each form imposes stricter rules on functional dependencies between attributes.

Related: Primary Key, Foreign Key
SQL Join

An operation combining rows from two tables based on a matching condition. Inner joins keep matches only; left, right, and full outer joins also keep unmatched rows with nulls.

Related: Primary Key, Foreign Key
ACID Properties

Four guarantees for database transactions: atomicity means all-or-nothing, consistency preserves rules, isolation hides concurrent effects, and durability survives crashes once committed.

Related: Transaction
Transaction

A group of database operations executed as a single logical unit that either commits entirely or rolls back. It protects data integrity when several statements must succeed together.

Related: ACID Properties
Index

A separate data structure, often a B-tree, that speeds up row lookup on indexed columns at the cost of extra storage and slower writes, since the index must also be updated.

Related: SQL Join, Primary Key
TCP/IP

The core protocol suite of the internet. IP delivers packets between hosts without guarantees, while TCP adds connection setup, ordering, acknowledgements, and retransmission of lost data.

Related: UDP, Three-Way Handshake
UDP

A connectionless transport protocol that sends datagrams without handshakes, ordering, or retransmission. It is fast and used for streaming, DNS, and other loss-tolerant traffic.

Related: TCP/IP
Three-Way Handshake

The TCP connection setup: the client sends SYN, the server replies SYN-ACK, and the client sends ACK. Both sides then know the other's sequence numbers and are ready to exchange data.

Related: TCP/IP
HTTP Status Codes

Three-digit numbers in web responses that report outcome. 2xx means success, 3xx redirection, 4xx a client error such as 404, and 5xx a server error such as 500.

Related: HTTP Methods
HTTP Methods

Verbs in a request that state the intended action: GET retrieves, POST creates, PUT replaces, PATCH partially updates, and DELETE removes. GET and PUT should be idempotent.

Related: HTTP Status Codes
Unit Testing

Testing individual functions or classes in isolation, usually with automated frameworks and mocked dependencies, to verify that each small piece behaves as specified.

Related: Integration Testing, Test Coverage
Integration Testing

Testing how several components or systems work together, checking interfaces, data flow, and configuration that unit tests deliberately isolate and therefore cannot catch.

Related: Unit Testing
Test Coverage

A metric reporting how much of the code, branches, or requirements a test suite exercises. High coverage suggests thoroughness but does not prove correctness.

Related: Unit Testing
Version Control

A system that records changes to files over time so teams can review history, branch, and merge work. Git is the most widely used distributed example.

Related: Continuous Integration
Continuous Integration

A practice where developers merge code frequently and an automated pipeline builds and tests each change, catching integration problems early rather than late.

Related: Version Control, Unit Testing
Ratio and Proportion

A relationship comparing two quantities, written a:b. A proportion states two ratios are equal, and cross-multiplication solves for an unknown term in such equations.

Related: Percentage
Percentage

A fraction expressed out of one hundred. To find a percent change, divide the difference by the original value and multiply by 100, watching which value is the base.

Related: Ratio and Proportion
Permutation and Combination

Counting methods for selections. Permutations count arrangements where order matters, using n factorial over (n minus r) factorial; combinations count unordered groups and divide by r factorial.

Related: Probability
Probability

The likelihood of an event, computed as favorable outcomes divided by total equally likely outcomes. Independent events multiply; mutually exclusive events add.

Related: Permutation and Combination
Syllogism

A logical reasoning item giving premises such as all A are B and some B are C, then asking which conclusion necessarily follows. Only conclusions true in every valid case are correct.

Related: Blood Relations
Blood Relations

A reasoning puzzle that describes family links through statements or a diagram and asks how two people are related. Drawing a small family tree usually solves it quickly.

Related: Syllogism
Inference

A conclusion drawn from stated evidence rather than stated outright. In reading comprehension, a valid inference must follow necessarily from the passage, not merely seem plausible.

Related: Main Idea
Main Idea

The central point a passage develops and supports throughout. It is broader than any single detail and is often stated in the first or last sentence of a paragraph.

Related: Inference