APPIAN DEVELOPER INTERVIEW QUESTIONS
An Appian interview typically consists of questions in three areas: Appian, SQL (data storage in Appian), and Java (for extending Appian). Below are the most common Appian interview questions I come across (and use).
COMMON APPIAN QUESTIONS
What are the 5 main tabs in Tempo?
News, Tasks, Records, Reports, and Actions
What is the main difference between an Activity Class Parameter and a Process Variable?
An Activity Class Parameter (ac!) has its scope limited to a single Process Model node. A Process Model Variable (pv!) can be used anywhere within the process.
What are some of the main things to configure on a new Process Model after creation?
Setting up Security, Notification preferences, and Data Management.
Explain the 4 types of Process Model gateways.
OR, XOR, AND, Complex
AND: Split or merge Process Model flows. AND gateways do not use/require conditions. All flows that emerge from the AND gateway (outgoing) are executed simultaneously. In addition, the AND gateway will wait for all flows to arrive before continuing (merging flows).
OR: It can execute zero or more outgoing flows. Executes all flows that meet the conditions specified. Used with one incoming flow.
XOR: Will execute a single outgoing flow based on conditions specified. Used with one incoming flow.
Complex: Can be used to wait for specific/all incoming flow(a), and can execute one or more outgoing flow(s). It can be used as a combination of other gateways.
A user is submitting an application for approval, and the application may need to go through one or more approval flows. Which gateway should be used?
OR (or Complex)
What are the two ways a sub-process can execute from a parent process?
Synchronously: Pauses the parent process until the sub-process completes.
Asynchronously: The parent process executes the sub-process but continues execution.
What 3 kinds of backed Record Types are possible in Appian?
Entity-Backed: Records are drawn from a Data Store Entity (from a database); each record in an Entity-Backed Record corresponds to one row in the Data Store Entity (database table).
Expression-Backed: Most flexible. Records are typically drawn from source types outside of Appian, through an Integration that calls an external system.
Process-Backed: Records are drawn from Process Model instances. The record is built using process properties and variables.
What is the difference between with() and load()?
The with() function re-calculates local variable(s) each time the expression is evaluated (for example, after user interactions with expression components). The load() function loads local variables once, the first time the expression is evaluated, and does not update those variables again. These were replaced by a!localVariables() in Appian Version 19.2, although with() and load() are still supported.
When calling a sub-process, what does it mean to pass a variable as a reference?
A pointer to the process variable is passed to the child process, and it can make changes directly to the parent process. Any changes made to the variable are immediately reflected in both parent and child process(es).
What is Activity-Chaining? What is the Activity-Chaining limit?
Activity-Chaining: Allows a user to perform attended tasks (interfaces) back-to-back without having to leave the flow. By default, there is an upper limit of 50 chained nodes between attended activities.
What is MNI? What is the MNI limit?
MNI: Multiple Node Instances. This occurs when you instantiate a process model node multiple times, for example, by creating a loop over the node. Appian has a hard limit of 1000 instances of any node. If you attempt to instantiate more than 1000 instances of a node in a process, the process will hang.