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