WorksheetsEN - Sample Exam - Associate Reactive Developer
Total questions: 30
Worksheet time: 45mins
Which of the following statements is true?
A. An Entity Identifier must have its Data Type set to Long Integer.
B. An Entity Identifier must be set to Auto Number.
C. An Entity Identifier can only be a single attribute.
D. An Entity Identifier is created automatically and cannot be modified.
What kind of information should NEVER be stored in Client Variables?
A. Number of login attempts
B. Passwords
C. Username
D. User Preferences
Which of the following sentences about the On Initialize lifecycle event is true?
A. The On Initialize event is triggered before the Screen or Block is rendered and before fetching any data.
B. The On Initialize event is triggered after the Screen or Block has been rendered, so you can use it to manipulate its structure.
C. The On Initialize event is triggered after an Aggregate finishes fetching data and can be used to act upon the retrieved data before it's used in the Screen.
D. The On Initialize event is triggered after the input parameter of a Block changes.
The Screen below has two Dropdowns: one to select a Country and the other to select a City. The GetCountries and GetCities Aggregates fetch the data displayed in the dropdowns and both have the Fetch property set to At Start. Which of the following options is not a valid step to only fetch the cities of the country selected in the dropdown?
A. Set the Fetch property of the GetCities Aggregate to Only On Demand.
B. Refresh the GetCities Aggregate in the OnChange Action of the Country Dropdown.
C. Filter the GetCities Aggregate by the selected country.
D. Call the GetCities Aggregate in the GetCountries' On After Fetch Event handler.
Regarding Blocks in OutSystems reactive apps, which of the following options is correct?
A. Blocks can only be instantiated on Screens.
B. Blocks can be instantiated on Screens and other Blocks.
C. Blocks can be instantiated on Client Actions on the Screen.
D. Blocks can be instantiated on Screens and external HTML pages, using a special HTML tag.
Which of the following options is a valid usage of the Trigger Event node?
A. The Trigger Event allows a Block to notify its parent (Screen or Block) that something relevant occurred in the scope of the Block.
B. The Trigger Event allows a Screen to notify its children (Blocks) that something relevant occurred in the scope of the Screen.
C. The Trigger Event allows a Block to notify its children (other Blocks) that something relevant occurred in the scope of the Block.
D. The Trigger Event allows a Screen to notify its parent (Screen or Block) that something relevant occurred in the scope of the Screen.
A Form has a Save button with the Built-in Validations property set to Yes. Which validations are automatically performed when a user clicks the button?
A. Check if the mandatory fields are filled in.
B. Check if the mandatory fields are filled in and if the non-mandatory fields that are later used in the logic are also filled in.
C. Check if the mandatory fields are filled in and if the data submitted by the user matches the data type expected in the input fields.
D. Check if the mandatory fields are filled in and if the data submitted by the user matches the data type of the Form’s data source.
The CountriesDropdown will allow users to select a country. What should be set in the Options Text property to make sure that the names of the countries appear in the dropdown?
Considering a Button in a Screen, which of the following options cannot be set as its On Click property?
A. Screen.
B. Client Action.
C. Block.
D. External Site.
In the Aggregate below the Orders are fetched with their reviewers (Employees). Which of the following options is correct?
A. The Aggregate only returns Orders with Priority, Status and Employee.
B. The Aggregate returns Orders without Employee and without Status.
C. The Aggregate returns Orders with Status and at least one Employee.
D. The Aggregate returns Orders with Priority and with zero or more Employees.
At which point is the OnRender event triggered?
A. When the DOM is fully loaded
B. Immediately after the OnInitialize
C. Only when all Aggregates and Data Actions have just transfered all the data
D. After the DOM is completely loaded and whenever some data on the screen (variable, aggregate, etc ...) changes
The Absolute Action returns an absolute value (abs) of a number N passed as Input Parameter. When does the Action return 0?
A. Never.
B. When the input parameter (N) is less than zero.
C. When the input parameter (N) is zero.
D. When the input parameter (N) is greater than zero.
Consider the following Action. What happens if the GetEmployeeById Aggregate does not return any record?
A. The DatabaseException flow is executed.
B. The RecordNotFound flow is executed.
C. No exception flow is executed.
D. The module’s global exception handler is executed.
Considering the Function property in Client Actions, which of the following options is correct?
A. Setting the Function property to Yes restricts the Action to have only one Output Parameter.
B. Setting the Function property to No ensures the Action can only be used in the module where it is defined.
C. Setting the Function property to Yes is not possible, if the Action is exposed to other modules as Public.
D. Setting the Function property to No ensures the Action can only be used in Screen Expressions.
Michael is a user of the Orders application and only has the OrdersAdmin Role assigned to him. Which of the following options is correct?
A. Michael has access to Screens with the Registered Role checked.
B. Michael does not have access to Screens with the Anonymous Role checked.
C. Michael has access to Screens that have the OrdersAdmin Role checked, but not to Screens with the Registered Role checked.
D. Michael only has access to Screens that have the OrdersAdmin Role checked.
What is required to create a many-to-many (N-N) relationship between the Entities in the picture?
A. Create a third Entity that contains two attributes of types Order Identifier and
Product Identifier
B. Create a third Entity with a primary key of type Order Identifier and an attribute of type Product Identifier
C. Create an attribute of type Order Identifier in the Product Entity and an attribute of type Product Identifier in the Order Entity
D. Create an attribute of type Product Identifier in the Order Entity
Which of the following options should not be a use case of Client Variables?
A. Username.
B. Password.
C. Search filter keyword.
D. ID of a user session.
Consider a screen that lists the result of an aggregate with the Fetch=At Start property. Which of the events will be triggered more than once?
A. Oninitialize
B. Onrender
C. Onready
D. OnAfterFetch
The Action in the image calculates the square root (sqrt) of a positive decimal number (N). Knowing that the function was called with N = 0, and that the debugger is stopped at the Start node, what will happen when the developer selects the Continue (F9) option highlighted in the picture?
A. The Action will end, with sqrt = 0
B. The Action will throw an exception and sqrt will have no value.
C. The debugger will stop in the N < 0 If node.
D. The debugger will stop at the breakpoint in the End node.
The image shows a Pagination widget that is associated with a Table on a Screen that was already implemented. There are no error messages in Service Studio, but when the user selects a new page (in the Pagination widget) the results do not change on the Table. What is the reason for that behavior?
A. The GetMovies Aggregate is not being refreshed in the OnNavigate Action.
B. The Max. Records of the Aggregate should be equal to the total number of movies in the database.
C. The Table is not being refreshed on the OnNavigate Action.
D. The MaxRecords property of the Pagination should be set to GetMovies.Count and the TotalCount to RecordsPerPage.
Customer wants to categorize their products into three different types: Toys, Utilities and Tools. Which is the most appropriate way to do this?
A. Creating a Text field named Produto.Tipo and informing the "toy", "utility" or "tool" types
B. Creating an Integer Field Produto.Tipo in which 1 represents Toy, 2 represents Utility, and 3 represents Tool
C. Creating a new entity called TipoProduto, create a bootstrap from Excel with the three types, and then create the Produto.TipoProdutoId with type TipoProduto Identifier
D. Creating a new static entity called TipoProduto with the respective records and create the TipoProduto Identifier field named Produto.TipoProdutoId
The image below shows an Aggregate. What will the attributes of the GetOrdersShippingState.List.Current record be?
A. The two aggregation attributes: ShippingState and Count.
B. The two aggregation attributes (ShippingState and Count) plus all the attributes of the Source Entities.
C. Six attributes corresponding to the six visible columns in the Aggregate: ShippingState, Count, Description, CreatedOn, ShippedOn and Priority.
D. The two aggregation attributes (ShippingState and Count) plus the columns used to calculate these aggregations.
At which point is the OnReady event triggered?
A. When the DOM is fully loaded
B. Immediately after the OnInitialize
C. Immediately after the OnRender
D. When all Aggregates and Data Actions have just transfered all the data
About Client Actions defined on a screen, it is CORRECT to say that:
A. You can use it within another client Action defined on the same screen
B. You can use it within a Client Action defined in the Logic tab
C. You can use it within a Server Action
D. You can use within another client action defined on a different screen
Considering the aggregate of the image, what should be done to return the total value per order?
A. Create a new attribute with the expression Produto.Valor * PedidoProduto.Quantidade and group with the SUM function
B. Group by Produto.Valor and PedidoProduto.Quantidade and subsequently add the values using a foreach
C. Group Produto.Valor with the SUM function and PedidoProduto.Quantidade with the Average function and multiply on an Expression on the screen
D. Create a new attribute with the expression Produto.Valor * PedidoProduto.Quantidade and group with the Average function
About Blocks, select the INCORRECT alternative
A. You can define custom events
B. It can be shared with other modules
C. It can only be used on screens
D. It may have input parameters
Considering that the Action CreateNewProduto checks if the value of the product is negative before creating a product and throws an User Exception called Validation if the value is negative, what will happen if a positive value is informed and the connection with the Database is unavailable?
A. The product will be created in the database and success feedback will be displayed.
B. The product will not be created and the Validation Exception Handler will be executed, displaying a Warning feedback.
C. The product will not be created and the Database Exception Handler will be executed, displaying a Warning feedback.
D. The product will not be created and the AllExceptions Exception Handler will be executed, displaying an error feedback.
About Client Actions defined in Logic tab, it is INCORRECT to say that:
A. You can use it within another client Action defined in the Logic tab
B. You can create a recursion
C. You can use it within a Server Action
D. You can use it within a Client Action defined on a screen
A Screen contains a Form to collect Customer data. The Form has a Save Button with the On Click property set to a SaveOnClick Action, which sends the data to the server to store it in the database. The developer must ensure that the Action will not send the data to the server when the mandatory Customer data fields have not been filled in. What is the best way to do that?
A. Set the Built-in validations of the Save button to Yes.
B. Perform custom validations for all inputs. If one fails, set the Valid property of the Form to False.
C. Set the Built-in validations of the Save button to Yes and check if the Form's Valid property is True.
D. Set the Built-in validations of the Save button to Yes and add an Exception Handler flow to handle invalid inputs.
How would you change the following Aggregate to return the number of orders per priority?
A. Change the Join between the Order and the Priority to Only With and create a Count over the Priority.Id attribute.
B. Create a Group By over the Priority.Id attribute and a Count over the Order.Id attribute.
C. Create a GroupBy over the Order.Id attribute and a Count over the Priority.Id attribute
D. Remove the Join between the Order and the OrderStatus and create a Count over the Priority.Id attribute.
