Mendix Intermediate Developer study materials
Mendix Intermediate Developer study resources

Mendix Intermediate Developer practice questions

One question at a time. Build your Mendix Intermediate Developer understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Domain Model and Data Structure

Which statement describes a non-persistable entity in a Mendix domain model?

  1. It is automatically synchronized with an external table.
  2. Its objects are stored in the database but cannot be modified.
  3. It can only be used as a page parameter and cannot have attributes.
  4. Its objects are kept in memory and are not stored in the database. Correct answer.

Explanation

A non-persistable entity defines objects that exist only in memory, so they are not written to the database. Such entities can still have attributes, associations, and be used in pages or microflows for temporary data.

Question 2Domain Model and Data Structure

Which of these is a system attribute of every persistable entity?

  1. IsActive
  2. Sequence
  3. Version
  4. CreatedDate Correct answer.

Explanation

Every persistable entity has system attributes including ID, CreatedDate, ChangedDate, Owner, and ChangedBy. CreatedDate records when the object was first committed to the database.

Question 3Domain Model and Data Structure

What is a characteristic of an AutoNumber attribute?

  1. It is recalculated every time the object is retrieved.
  2. It can be edited by the end user on a page.
  3. It is generated automatically and unique per entity. Correct answer.
  4. It is stored as a string and may contain letters.

Explanation

AutoNumber attributes are generated automatically by Mendix/database when an object is created. They are numeric, read-only, and unique for the entity.

Question 4Domain Model and Data Structure

Which association type models a many-to-many relationship between two entities?

  1. Reference set Correct answer.
  2. Reference
  3. Inheritance
  4. Generalization

Explanation

A reference set association can link many objects on both sides, so it models many-to-many relationships. A reference association models one-to-one or one-to-many.

Question 5Domain Model and Data Structure

What does a specialization entity inherit from its generalization?

  1. Its attributes, associations, and event handlers. Correct answer.
  2. Nothing; inheritance is only a visual grouping.
  3. Only its attributes.
  4. Only its access rules.

Explanation

In Mendix, a specialization inherits the members of its generalization, including attributes, associations, and event handlers. The specialization can then add its own members.

Question 6Domain Model and Data Structure

An association from Order to OrderLine has delete behavior 'Delete OrderLine when deleting Order'. What happens when an Order object is deleted?

  1. The OrderLine objects are reassigned to another Order.
  2. Deletion is blocked while OrderLine objects exist.
  3. Only the association is removed and OrderLine objects remain.
  4. The associated OrderLine objects are deleted as well. Correct answer.

Explanation

Cascade delete behavior makes the platform delete associated objects when the owning object is deleted. Here, deleting an Order also deletes its OrderLine objects.

Question 7Domain Model and Data Structure

What is the purpose of a validation rule on an entity attribute?

  1. To create an index on the attribute automatically.
  2. To enforce a constraint with feedback on violation. Correct answer.
  3. To hide the attribute on all pages.
  4. To define which module roles may read the attribute.

Explanation

A validation rule expresses a constraint on an attribute, such as a range or uniqueness, and supplies feedback when the constraint fails. Validation runs when the object is committed with validation enabled.

Question 8Domain Model and Data Structure

Which event handler runs immediately before an object is committed to the database?

  1. Before delete
  2. After rollback
  3. After create
  4. Before commit Correct answer.

Explanation

Before commit runs just before the commit is persisted, so it is a suitable place to validate or adjust the object. After commit runs once the object has already been stored.

Question 9Domain Model and Data Structure

How is an object of a non-persistable entity typically obtained in a microflow?

  1. By committing an object of a persistable entity.
  2. By creating it with a Create Object activity. Correct answer.
  3. By retrieving it from the database with a Retrieve activity.
  4. By reading it from the database with a Java action.

Explanation

Non-persistable objects are not stored in the database, so they must be created in memory. A Create Object activity instantiates them in a microflow.

Question 10Domain Model and Data Structure

What is an enumeration attribute used for?

  1. Storing an arbitrary-length text value.
  2. Storing a date and time value.
  3. Storing one value from a defined list. Correct answer.
  4. Storing a binary file such as an image.

Explanation

An enumeration attribute holds exactly one value from an enumeration that you define in the domain model. The allowed values are fixed at design time.

Question 11Domain Model and Data Structure

Which attribute type stores a one-way hash of a value, suitable for passwords?

  1. Hashed string Correct answer.
  2. String
  3. Enumeration
  4. Binary

Explanation

A Hashed string attribute stores a hash rather than the original text, which is why it is used for sensitive values such as passwords. The original value cannot be read back directly.

Question 12Domain Model and Data Structure

Which attribute type should be used for a monetary amount such as 19.99?

  1. Integer
  2. Decimal Correct answer.
  3. AutoNumber
  4. Long

Explanation

Decimal is the Mendix type for numbers with a fractional part, so it fits monetary amounts. Integer and Long store whole numbers only.

Question 13Domain Model and Data Structure

Which statement about associations between entities in different modules is true?

  1. Associations are only allowed between entities in the same module.
  2. Cross-module associations require a non-persistable entity.
  3. Cross-module associations must be reference sets.
  4. An association can connect entities from different modules. Correct answer.

Explanation

Mendix allows an association to link an entity in one module to an entity in another module. This is commonly used, although it creates a dependency between the modules.

Question 14Domain Model and Data Structure

Entity access rules in Mendix are configured for which subject?

  1. Microflow parameters
  2. Individual end users
  3. Module roles Correct answer.
  4. Database tables

Explanation

Access rules are defined per module role, and users receive permissions through the module roles assigned to them. XPath constraints can further limit which objects a role may access.

Question 15Domain Model and Data Structure

Why would you add an index to a persistable entity?

  1. To encrypt the values of the indexed attribute.
  2. To speed up filtered queries on that attribute. Correct answer.
  3. To automatically generate an AutoNumber.
  4. To make an attribute read-only on pages.

Explanation

Indexes help the database find and sort rows more efficiently when queries filter on the indexed columns. They are a performance feature, not a security or UI feature.

Question 16Domain Model and Data Structure

A reference set association links Student and Course. When a Student object is deleted, what happens to its linked Course objects?

  1. The links are removed and the Course objects remain. Correct answer.
  2. The Course objects are deleted as well.
  3. The Course objects become non-persistable.
  4. Deletion of the Student is blocked until all links are removed.

Explanation

A reference set is a many-to-many association, so deleting one object removes its association records but not the objects on the other side. Course objects remain in the database.

Question 17Domain Model and Data Structure

What does the domain model of a module define?

  1. The scheduled events that run for that module.
  2. The data structure of the module. Correct answer.
  3. The layout and styling of pages in the module.
  4. The deployment settings of the whole application.

Explanation

The domain model is the data structure of a module: its entities, their attributes, the associations between them, and entity access rules. Pages and deployment settings are defined elsewhere.

Question 18Domain Model and Data Structure

Which Mendix feature can enforce that a customer email address is unique across all Customer objects?

  1. A unique validation rule on Email Correct answer.
  2. A non-persistable Customer entity
  3. A reference set association to Customer
  4. An AutoNumber attribute on Customer

Explanation

A validation rule with the unique constraint checks the attribute against existing objects when the object is committed. If another Customer already has the same email, validation fails.

Question 19Domain Model and Data Structure

Why can an After Delete event handler not prevent the deletion of an object?

  1. Because After Delete is only available in nanoflows.
  2. Because After Delete only runs for non-persistable entities.
  3. Because event handlers cannot access the deleted object.
  4. It runs after deletion, so the deletion cannot be undone. Correct answer.

Explanation

The After Delete handler executes after the delete has taken place, so it is suitable for cleanup rather than prevention. A Before Delete handler can throw an error to stop the deletion.

Question 20Domain Model and Data Structure

Which statement about entity generalization in Mendix is correct?

  1. An entity can have only one generalization. Correct answer.
  2. An entity may have more than one generalization.
  3. Generalization is only allowed between non-persistable entities.
  4. A specialization cannot add its own attributes.

Explanation

Mendix supports single inheritance: an entity has at most one generalization. A specialization can add attributes, associations, and other members beyond those it inherits.

Question 21Domain Model and Data Structure

Which event handler can stop an object from being deleted by throwing an error?

  1. Before Delete Correct answer.
  2. After Delete
  3. After Commit
  4. Before Create

Explanation

Before Delete runs before the delete operation, so raising an error there aborts the deletion. After Delete runs too late to prevent it.

Question 22Domain Model and Data Structure

The system attribute Owner on a persistable entity is of which kind?

  1. An association to the User entity Correct answer.
  2. An AutoNumber attribute
  3. A string attribute containing a username
  4. A Boolean attribute

Explanation

Owner is a system association that points to the User object that created the entity object. ChangedBy is a similar association to the user who last changed it.

Question 23Domain Model and Data Structure

Which attribute type is appropriate for storing a profile picture?

  1. String
  2. Enumeration
  3. Decimal
  4. Binary Correct answer.

Explanation

Binary attributes store raw bytes, which is suitable for files such as images. String, Enumeration, and Decimal are not intended for binary file content.

Question 24Domain Model and Data Structure

Which entity can be used as a page parameter without being stored in the database?

  1. A system entity
  2. A persistable entity
  3. An entity that has an AutoNumber
  4. A non-persistable entity Correct answer.

Explanation

Non-persistable entities exist only in memory, so they can be passed as page parameters without database storage. Persistable entities are stored and retrieved from the database.

Question 25Domain Model and Data Structure

What does an XPath constraint on an entity access rule do?

  1. It filters the objects a module role can access. Correct answer.
  2. It defines the database index for the entity.
  3. It sets the default value of an attribute.
  4. It sets the delete behavior of associations.

Explanation

An XPath constraint on an access rule filters the entity objects that are visible to a module role. It is evaluated alongside the create, read, write, and delete rights.

Question 26Domain Model and Data Structure

A developer needs an attribute whose value is derived from other attributes of the same object each time the object is read, and whose value must never be stored in the database. Which Mendix concept should be used?

  1. A calculated attribute Correct answer.
  2. An enumeration attribute
  3. A binary attribute
  4. A system attribute

Explanation

Calculated attributes are configured with an expression or a microflow and are evaluated at runtime whenever the object's value is needed; nothing is written to the database. Because the value is recomputed, it always reflects the current state of the object's other attributes.

Question 27Domain Model and Data Structure

Which system attribute is automatically updated every time an object is committed, so that it always shows the moment of the most recent change?

  1. ChangedDate Correct answer.
  2. CreatedDate
  3. ChangedBy
  4. Owner

Explanation

ChangedDate is maintained by the Mendix Runtime and is refreshed on every commit of the object, so it reflects the latest change. The other system attributes record different facts about the object.

Question 28Domain Model and Data Structure

A module role has read access but no write access to one attribute of an entity. What can a user with that role do with that attribute?

  1. Read the value but not change it. Correct answer.
  2. Neither read nor change it, because it is hidden from the user.
  3. Read and change it, because access is granted for the whole entity.
  4. Change the value but not read it.

Explanation

Entity access rules grant rights per attribute: read access allows the value to be shown and retrieved, and write access allows the value to be changed. With read access only, the attribute behaves as read-only for that module role.

Question 29Domain Model and Data Structure

A persistable entity has its Commit property set to Yes. A microflow creates an object of this entity and ends without any Commit activity. What happens to the object?

  1. The object is committed when the microflow ends. Correct answer.
  2. The object is committed only if the microflow returns it.
  3. The object is discarded when the microflow ends.
  4. The object is committed to the database as soon as it is created.

Explanation

The Commit property on a persistable entity instructs the Runtime to commit changed objects of that entity when the microflow in which they were created or changed ends. The commit therefore happens at the end of the microflow rather than at creation time.

Question 30Domain Model and Data Structure

A microflow retrieves all objects of entity Vehicle without an XPath constraint. Vehicle is the generalization of Car and Truck, and the database holds 2 Vehicle, 3 Car and 4 Truck objects. How many objects does the retrieve return?

  1. 2
  2. 5
  3. 9 Correct answer.
  4. 7

Explanation

A generalization and its specializations are stored together, so a retrieve on the general entity returns instances of the general entity plus instances of every specialization. The result is therefore 2 + 3 + 4 = 9 objects.

Question 31Microflows and Application Logic

Which activity stores a new or changed object permanently in the database?

  1. Change object
  2. Create object
  3. Commit Correct answer.
  4. Retrieve

Explanation

A Commit activity writes the current state of an object to the database and, unless events are suppressed, triggers the entity's commit event handlers. Before an object is committed it exists only in the memory of the running microflow.

Question 32Microflows and Application Logic

Which activity removes an object and its data permanently from the database?

  1. Delete object Correct answer.
  2. Rollback object
  3. Commit
  4. Change object

Explanation

Delete object deletes the object from the database, applying the delete behavior configured on the associations involved. For an object that was never committed, the activity simply removes it from memory.

Question 33Microflows and Application Logic

Which activity branches the flow into several outgoing paths, each with its own condition, so that exactly one path is followed?

  1. Call microflow
  2. Merge
  3. Loop
  4. Exclusive split Correct answer.

Explanation

An exclusive split evaluates the conditions on its outgoing flows and follows exactly one of them, ignoring the rest. It is the microflow equivalent of an if/else construct.

Question 34Microflows and Application Logic

Inside a loop, which activity stops iterating and continues with the activity placed after the loop?

  1. Merge
  2. Break Correct answer.
  3. Return
  4. Continue

Explanation

Break exits the loop immediately, and execution resumes at the first activity after the loop. Continue, in contrast, only skips the remainder of the current iteration.

Question 35Microflows and Application Logic

Which activity creates a new object in memory based on an entity, before any attribute values are set?

  1. Retrieve
  2. Create object Correct answer.
  3. Change object
  4. Commit

Explanation

Create object instantiates a new object of the selected entity; the object lives in memory and becomes a database record only when it is committed. Attribute values can be supplied in the create activity itself or afterwards with a Change object activity.

Question 36Microflows and Application Logic

Which activity executes custom Java code that has been packaged as a Java action in the project?

  1. Call microflow
  2. Call REST service
  3. Java action call Correct answer.
  4. Log message

Explanation

A Java action call activity invokes a Java action, passing the configured parameters and, when defined, storing its return value in a variable. Java actions are the extension point for custom server-side code.

Question 37Microflows and Application Logic

Which activity writes a message with a chosen level such as Info, Warning or Error to the application log?

  1. Show message
  2. Log message Correct answer.
  3. Validation feedback
  4. Error event

Explanation

Log message writes to the Mendix application log at the level selected in its properties, which makes it useful for diagnostics and monitoring. Show message and validation feedback address the end user in the browser instead.

Question 38Microflows and Application Logic

Which activity attaches a message to an attribute of an object so that it is displayed next to the input widget bound to that attribute?

  1. Show message
  2. Close page
  3. Validation feedback Correct answer.
  4. Log message

Explanation

Validation feedback adds a validation message to a specific attribute of an object, and the client shows it on the widget bound to that attribute. This is how custom validation rules are surfaced in the user interface.

Question 39Microflows and Application Logic

An object has been retrieved and several of its attributes were changed, but the object was never committed. Which activity discards those changes?

  1. Delete object
  2. Rollback object Correct answer.
  3. Change object with Refresh in client set to Yes
  4. Commit with the Yes without events option

Explanation

Rollback object returns an object to the values of its last commit, discarding uncommitted changes. For an object that was never committed, a rollback removes it from memory entirely.

Question 40Microflows and Application Logic

An object has a before-commit event handler that must be skipped while the object is still saved to the database. Which setting on the Commit activity achieves this?

  1. Refresh in client set to Yes
  2. Commit set to Yes without events Correct answer.
  3. Error handling set to Rollback
  4. Commit set to Yes

Explanation

The Commit activity offers the modes No, Yes and Yes without events. Choosing Yes without events persists the object while bypassing the before- and after-commit event handlers defined on the entity.

Question 41Microflows and Application Logic

A microflow changes an attribute of an object that is currently shown on a page. Which setting makes the page display the new value without being reopened?

  1. Return value on the microflow
  2. Apply entity access on the microflow
  3. Refresh in client on the activity Correct answer.
  4. Commit on the Change object activity

Explanation

Setting Refresh in client on a Change object activity tells the client to re-read the object's values after the microflow has finished, so widgets on the open page show the new value.

Question 42Microflows and Application Logic

A microflow has the object $Order, of entity Order, which has a reference Order_Customer to Customer. Which approach correctly yields the related Customer?

  1. Retrieve from the database with the constraint [Order = $Order]
  2. Create a new Customer object and set the reference Order_Customer on it
  3. Retrieve all Customer objects from the database and loop over them until a match is found
  4. Retrieve by association, selecting $Order and the reference Order_Customer Correct answer.

Explanation

Retrieve by association follows a reference or reference set starting from an object that is already in memory, so the related object is fetched directly. No database-wide search over all Customer objects is needed.

Question 43Microflows and Application Logic

An exclusive split has three outgoing flows in this order: condition $Amount > 100, condition $Amount > 1000, condition true. With $Amount equal to 5000, which flow is followed?

  1. No flow, because more than one condition is true
  2. The flow with condition $Amount > 100 Correct answer.
  3. The flow with condition $Amount > 1000
  4. The flow with condition true

Explanation

The outgoing flows of an exclusive split are evaluated in the order in which they are listed, and the first condition that evaluates to true is followed. Because the first condition is already true for 5000, the later flows are never evaluated, which is why specific conditions should be placed above general ones.

Question 44Microflows and Application Logic

Which aggregate list operation can be applied to a list of objects without selecting any attribute?

  1. Sum
  2. Average
  3. Count Correct answer.
  4. Maximum

Explanation

Count returns the number of objects in the list and therefore needs no attribute selection. Sum, Average, Maximum and Minimum all operate on a numeric attribute that must be chosen.

Question 45Microflows and Application Logic

List A contains objects 1, 2 and 3; list B contains objects 2, 3 and 4, all of the same entity. Which list operation yields a list containing only object 1?

  1. Sort
  2. Intersect
  3. Subtract Correct answer.
  4. Union

Explanation

Subtract returns the objects of the first list that do not occur in the second list, so A minus B leaves only object 1. Union combines the objects of both lists and Intersect keeps only the objects present in both.

Question 46Microflows and Application Logic

Which variable does the expression of a Filter list activity use to refer to the object currently being evaluated?

  1. $currentObject Correct answer.
  2. $Iterator
  3. $Object
  4. $Item

Explanation

Filter list evaluates its expression once per object, binding $currentObject to the object under evaluation, and the expression must return a Boolean. Objects for which the expression returns true are kept in the resulting list.

Question 47Microflows and Application Logic

A microflow has return type String and more than one path that can end the microflow. Which statement is correct?

  1. A return value may be omitted, in which case an empty string is returned
  2. The return value can only be set by a Commit activity
  3. Every path that ends the microflow must supply a return value Correct answer.
  4. Return type String requires the microflow to have at least one parameter

Explanation

When a return type is defined, each path that reaches the end of the microflow must set a return value. A path that ends without one makes the microflow fail at runtime.

Question 48Microflows and Application Logic

A microflow is started by a button on a page. Which statement about its database work is correct?

  1. A microflow cannot roll back changes once it has started
  2. Every activity writes its changes to the database immediately
  3. All work runs in one transaction that rolls back on error Correct answer.
  4. Only one Commit activity is allowed per microflow

Explanation

A microflow executes inside a single database transaction. If an error is not handled, the transaction is rolled back and the work done by that microflow is undone, which is why error handling matters when partial results are unacceptable.

Question 49Microflows and Application Logic

The Apply entity access property of a microflow is enabled. What is the effect?

  1. Entity access rules apply to the objects it handles Correct answer.
  2. All objects handled by the microflow become read-only in the database
  3. Only users with the Administrator role are allowed to run the microflow
  4. The client asks the end user for confirmation before each change

Explanation

With Apply entity access enabled, the microflow does not run with system-level rights: the access rules and XPath constraints of the entities are applied to the objects it retrieves and changes. When the property is disabled, the microflow ignores those rules.

Question 50Microflows and Application Logic

A loop iterates over a list that came back empty from a Retrieve activity. What happens?

  1. The microflow raises an error because the list is empty
  2. The loop runs once with an empty iterator object
  3. The loop keeps running until objects are added to the list
  4. The activities inside the loop are not executed at all Correct answer.

Explanation

A loop executes its body once for every object in the list, so an empty list results in zero iterations. Execution simply continues with the first activity after the loop.