Define 'polymorphism' in object-oriented programming
Ability of different classes to respond to the same method call in different ways
Define 'Internet of Things (IoT)'
Network of physical objects embedded with sensors, software, and other technologies to connect and exchange data
Describe 'cryptocurrency'
Digital or virtual currency that uses cryptography for security and operates independently of a central bank
Define 'interface' in Java
Abstract type used to specify a method that must be implemented by a class
Define 'serialization' in Java
Process of converting an object's state into a byte stream for storage or transmission
Define 'database normalization'
Process of structuring a database to reduce data redundancy and improve data integrity
Define 'linked list'
Data structure consisting of nodes, each containing data and a reference to the next node
Define 'composition' in OOP
Design principle where a class contains instances of other classes to reuse code
Describe 'compile-time error'
Error detected by the compiler, preventing the program from being compiled
Define 'Java package'
Namespace mechanism to group related classes and interfaces, avoiding naming conflicts
Define 'concurrency' in computer science
Ability of a system to run multiple parts of a program, or multiple programs, at the same time
Define 'static' keyword usage
Associates a method or variable with a class, rather than an instance
Define 'software engineering'
Application of engineering principles to software development in a systematic method
Define 'race condition'
Behavior where the output depends on the sequence and timing of uncontrollable events
Describe 'abstraction' in programming
Process of hiding complex implementation details and showing only essential features
Define 'Java Memory Model'
Specification dictating how threads interact through memory and how changes are communicated
Describe 'encapsulation' benefit
Improves maintainability, flexibility, and security by hiding internal state and behavior
Describe 'heap' memory management
Area of memory used for dynamic allocation, where objects are stored and managed at runtime
Describe 'bubble sort' algorithm
Repeatedly steps through list, compares adjacent elements and swaps them if in wrong order
Describe 'functional programming'
Programming paradigm where programs are constructed by applying and composing functions
Define 'object' in OOP
Instance of a class, containing data and methods to manipulate data
Define 'algorithm' in computer science
Step-by-step procedure or formula for solving a problem
Define 'class loader' in Java
Part of JVM that loads binary classes into memory during runtime
Define 'computer graphics'
Field of computer science that focuses on creating images and animations from digital data
Define 'data structure'
A way of organizing and storing data in a computer so that it can be accessed and modified efficiently