AM Software Test 9 Leave a Comment / By fawadtwopointo@gmail.com / August 23, 2025 Welcome to your AM Software Test 9 In distributed systems, the “CAP theorem” states that it is impossible to simultaneously guarantee: Control, Allocation, Processing Consistency, Availability, Partition tolerance Concurrency, Accuracy, Performance Cache, Authentication, Privacy None In compiler design, the symbol table is used for: Error recovery Storing identifiers and their attributes Parsing expressions Memory management None In database recovery, write-ahead logging (WAL) ensures: The database never crashes Data is backed up in real-time No transaction failures occur Logs are written to disk before data changes None Which of the following is a deadlock prevention technique? Two-phase locking Resource ordering Banker’s algorithm Wait-for graph None Which protocol ensures reliable communication in distributed systems? UDP RIP TCP ARP None In software project management, “earned value” is used to: Estimate source code size Track project performance Schedule compiler tasks Predict software defects None In garbage collection, the “mark-and-sweep” algorithm works by: Compacting memory Allocating contiguous blocks Marking reachable objects and collecting unreferenced ones Tracking variable scope None Which is not a feature of distributed file systems (DFS)? Location transparency Centralized single point of failure Scalability Replication None In compiler phases, semantic analysis comes after: Lexical analysis Syntax analysis Code optimization Code generation None The concept of eventual consistency is mainly applied in: Distributed databases Compiler design Real-time systems Operating systems None A distributed transaction uses a two-phase commit protocol (2PC) to ensure: Atomicity Deadlock prevention Fast queries Parallelism None The purpose of intermediate code generation in compilers is: Improve performance Provide machine independence Directly generate assembly Perform error checking None Agile software development emphasizes: Rigid schedules Sequential processes Customer collaboration Heavy documentation None Which database index is best for range queries? B-tree index Bitmap index Hash index Inverted index None In distributed computing, “latency hiding” is achieved by: Increasing memory size Overlapping communication with computation Using faster CPUs Reducing data replication None In project scheduling, a critical path is: A non-essential dependency The shortest task list The longest path determining minimum project duration The path with least cost None Which of these is not a distributed system architecture? Client-server Peer-to-peer Multi-tier Monolithic None In compiler design, a basic block is: A group of statements with no branches A set of variables A memory management technique An intermediate code representation None In project risk management, “mitigation” means: Ignoring the risk Avoiding the risk Transferring it to others Reducing the impact or likelihood None Distributed systems use vector clocks to: Order events causally Detect deadlocks Manage transactions Allocate memory None Which parsing technique is used in most modern compilers? Top-down recursive descent Greedy parsing Bottom-up LR parsing Ad-hoc parsing None In software metrics, cyclomatic complexity measures: Compilation speed Code readability Lines of code Number of independent paths in a program None In distributed databases, replication increases: Data anomalies Availability Query performance always Security None The “Halstead metrics” in software engineering measure: Visualize task schedules Show database schema Program correctness Manage memory None In distributed systems, a “heartbeat” mechanism is used for: Encryption Performance tuning Synchronization Fault detection None The main drawback of two-phase commit (2PC) is: Lack of atomicity No consistency Blocking in case of coordinator failure High concurrency None Which optimization is machine-independent? Register allocation Loop invariant code motion Instruction scheduling Peephole optimization None In agile development, a sprint retrospective is for: Reviewing team process and improvements Planning next release Writing code documentation Testing performance None Which is true about multithreading in Java? Threads cannot run concurrently Thread class must be abstract Threads can only be created using Runnable Threads share the same memory space None In project management, a Gantt chart is used to: Manage memory Estimate costs Visualize task schedules Show database schema None Time's upTime is Up!