HP JBT key terms
HP JBT · Get comfortable with the vocabulary.
- Stack
- Related: Queue, Recursion
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.
- Queue
- Related: Stack
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.
- Linked List
- Related: Pointer, Array
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.
- Pointer
- Related: Linked List, Heap Memory
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.
- Array
- Related: Linked List, Hash Table
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.
- Hash Table
- Related: Array, Time Complexity
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.
- Binary Search Tree
- Related: Tree Traversal, Time Complexity
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.
- Tree Traversal
- Related: Binary Search Tree, Queue
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.
- Recursion
- Related: Stack, Dynamic Programming
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.
- Time Complexity
- Related: Space Complexity, Sorting Algorithms
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.
- Space Complexity
- Related: Time 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.
- Sorting Algorithms
- Related: Time Complexity, Divide and Conquer
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.
- Divide and Conquer
- Related: Recursion, Sorting Algorithms
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.
- Dynamic Programming
- Related: Recursion, Greedy Algorithm
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.
- Greedy Algorithm
- Related: Dynamic Programming, Graph Traversal
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.
- Graph Traversal
- Related: Queue, Stack
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.
- Process
- Related: Thread, Virtual Memory, Context Switch
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.
- Thread
- Related: Process, Context Switch
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.
- Context Switch
- Related: Process, Thread
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.
- Virtual Memory
- Related: Page Fault, Process
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.
- Page Fault
- Related: Virtual Memory, Thrashing
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.
- Thrashing
- Related: Page Fault, Virtual Memory
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.
- Deadlock
- Related: Process, Semaphore
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.
- Semaphore
- Related: Deadlock, Thread
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.
- Heap Memory
- Related: Pointer, Stack
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.
- Primary Key
- Related: Foreign Key, Normalization
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.
- Foreign Key
- Related: Primary Key, Normalization
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.
- Normalization
- Related: Primary Key, Foreign Key
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.
- SQL Join
- Related: Primary Key, Foreign Key
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.
- ACID Properties
- Related: Transaction
Four guarantees for database transactions: atomicity means all-or-nothing, consistency preserves rules, isolation hides concurrent effects, and durability survives crashes once committed.
- Transaction
- Related: ACID Properties
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.
- Index
- Related: SQL Join, Primary Key
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.
- TCP/IP
- Related: UDP, Three-Way Handshake
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.
- UDP
- Related: TCP/IP
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.
- Three-Way Handshake
- Related: TCP/IP
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.
- HTTP Status Codes
- Related: HTTP Methods
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.
- HTTP Methods
- Related: HTTP Status Codes
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.
- Unit Testing
- Related: Integration Testing, Test Coverage
Testing individual functions or classes in isolation, usually with automated frameworks and mocked dependencies, to verify that each small piece behaves as specified.
- Integration Testing
- Related: Unit Testing
Testing how several components or systems work together, checking interfaces, data flow, and configuration that unit tests deliberately isolate and therefore cannot catch.
- Test Coverage
- Related: Unit Testing
A metric reporting how much of the code, branches, or requirements a test suite exercises. High coverage suggests thoroughness but does not prove correctness.
- Version Control
- Related: Continuous Integration
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.
- Continuous Integration
- Related: Version Control, Unit Testing
A practice where developers merge code frequently and an automated pipeline builds and tests each change, catching integration problems early rather than late.
- Ratio and Proportion
- Related: Percentage
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.
- Percentage
- Related: Ratio and Proportion
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.
- Permutation and Combination
- Related: Probability
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.
- Probability
- Related: Permutation and Combination
The likelihood of an event, computed as favorable outcomes divided by total equally likely outcomes. Independent events multiply; mutually exclusive events add.
- Syllogism
- Related: Blood Relations
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.
- Blood Relations
- Related: Syllogism
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.
- Inference
- Related: Main Idea
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.
- Main Idea
- Related: Inference
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.