QUESTIONS AND CORRECT ANSWERS (VERIFIED ANSWERS) PLUS
RATIONALES | COMPLETE A+ STUDY GUIDE
SECTION 1: DOMAIN MODELING & DATA ARCHITECTURE (Questions
1–40)
1. A Mendix 10 domain model uses a three-level inheritance
hierarchy: Person (generalization) ← Employee (specialization) ←
Manager (specialization). When retrieving all Person objects from
the database, which database behavior occurs?
A) Mendix performs a single table scan on the Person table only.
B) Mendix executes a SQL UNION query across the Person, Employee, and
Manager tables to reconstruct the full inheritance tree.
C) Mendix retrieves only Person instances that are not specializations,
excluding Employee and Manager rows.
,D) Mendix caches the entire hierarchy in the client memory to avoid
database joins.
Answer B: Mendix executes a SQL UNION query across the Person,
Employee, and Manager tables to reconstruct the full inheritance
tree.
Rationale: In Mendix, each entity in an inheritance hierarchy maps to its
own table with a foreign key to the generalization table. Retrieving the
generalization requires querying all specialization tables and combining
results, which introduces performance overhead. Deep inheritance
hierarchies should be avoided for high-volume transactional entities. ---
2. An application defines a before commit event handler on the Order
entity that updates an associated Customer status, which triggers a
before commit event on Customer. The microflow logic eventually
commits the original Order again. What is the most likely runtime
consequence?
A) The transaction completes successfully with no side effects.
B) Mendix detects and prevents the recursive event loop automatically.
C) A stack overflow or transaction timeout occurs due to uncontrolled
event handler recursion.
D) The second commit is silently ignored because Mendix deduplicates
commits on the same object within a single transaction.
,Answer C: A stack overflow or transaction timeout occurs due to
uncontrolled event handler recursion.
Rationale: Mendix does not automatically prevent recursion across event
handlers. If a before-commit event on Entity A commits Entity B, whose
before-commit event commits Entity A again, an infinite loop can occur.
Developers must guard against recursion using static variables, state
checks, or redesigning the logic. ---
3. A Product entity has a calculated attribute TotalValue defined by a
microflow that multiplies Price by Quantity. The application displays
a data grid with 500 Product rows. Which performance impact should
the architect expect?
A) The calculated attribute is computed once at application startup and
cached indefinitely.
B) The microflow executes once per row during page load, potentially
causing 500 microflow executions and significant memory overhead.
C) The database pre-computes the value using a materialized view.
D) Mendix automatically converts calculated attributes into persistent
columns after 100 retrievals.
Answer B: The microflow executes once per row during page load,
potentially causing 500 microflow executions and significant memory
overhead.
, Rationale: Microflow-based calculated attributes are computed on-the-fly
every time the object is retrieved or displayed. In grids or large lists, this
creates an NxM execution pattern. For performance-critical scenarios, use
stored attributes updated by event handlers instead. ---
4. An Invoice entity owns a one-to-many association to InvoiceLine.
The delete behavior is set to Cascade. When a user deletes an Invoice
object, what happens to the associated InvoiceLine objects?
A) The InvoiceLine objects are orphaned and remain in the database.
B) The InvoiceLine objects are automatically deleted along with the
Invoice.
C) The delete operation fails with a referential integrity error.
D) The InvoiceLine objects are reassigned to a default parent.
Answer B: The InvoiceLine objects are automatically deleted along
with the Invoice.
Rationale: Cascade delete behavior in Mendix automatically deletes all
child objects when the parent object is deleted, maintaining referential
integrity. ---
5. When should a non-persistable entity (NPE) be used in a Mendix
domain model?
A) To store data that must survive a server restart