Mobile Developer Specialization Sample Exam - EN

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Mobile Developer

Specialization Sample Exam

Before Starting
This sample exam has 8 questions that will help you get ready for the OutSystems 11
Mobile Developer Specialization exam.

We recommend that you prepare a real exam environment, as much as possible.

● Book a quiet room just for you.


● Print this document, apart from the last page.
● Get a stopwatch or set a timer for the (recommended) duration of 40
minutes.

The last page of this document has the correct answers. Don’t peek! Use it only
after completing your exam, to check how well you did.

During the Sample Exam


To accurately simulate the real exam environment, we suggest that you:

● Read each question and its answers carefully.


● Take your time! Questions may be revisited and your choices can be
changed.
● Mark the questions that you want to review at the end.
● Pick only one answer per question, as only one is correct.
● Answer all questions, as there’s no benefit in not doing so.
● Try turning off all electronic devices during the exam.
● Refrain from using or reading any external materials during the exam.
After Completing the Sample Exam
After completing the exam, validate the answers you selected by checking the ones
provided in the last page of this document, and count the total number of correct
answers. Since the passing score is 70% or higher, you should get at least 6
questions right. In case you chose any wrong answers, we suggest you review the
study materials where that specific topic is covered.
Sample Exam Questions

1. Considering Local Storage and Database Entities in Mobile apps, which of the
following statements is correct?

⃞ A. The referential integrity is guaranteed in Local Storage Entities by default.

⃞ B. Database Entities support composite keys, but Local Storage Entities do not.

⃞ C. Local Storage Entities must map an existing Database Entity.

⃞ D. Static Entities can be created in Database storage, but not in Local Storage.

2. Consider the following sentence: "When fetching data from Local Storage, the
Aggregates are always triggered when the Screen is initializing". Which of the
following options is true?

⃞ A. The sentence is correct. The Local Storage Aggregates are triggered when the
user accesses the Screen and before the Database Aggregates.

⃞ B. The sentence is incorrect. The Local Storage Aggregates on Screens run only
when the Database Aggregates finish.

⃞ C. The sentence is incorrect. Local Storage Aggregates on Screens can also be


triggered on demand.

⃞ D. The sentence is correct. The Local Storage Aggregates are always triggered
when the Screen is initializing and run in parallel with the Database Aggregates.
3. Considering the data synchronization pattern displayed in the screenshot, which
of the following options is correct?

⃞ A. This pattern is recommended for scenarios where it is not likely for multiple
end-users to change the same data while the apps are offline.

⃞ B. This pattern is recommended for advanced scenarios where multiple end users
will change the same data while the apps are offline, supporting conflict detection.

⃞ C. This pattern is recommended for scenarios where end-users only need to read
data while the app is offline and the amount of data is large.

⃞ D. This pattern is recommended for scenarios where end-users only need to read
data while the app is offline and the amount of data is small.
4. Consider the following sentence: "The synchronization procedure only runs
asynchronously and in the background". Which of the following options is correct?

⃞ A. The sentence is correct. The TriggerOfflineDataSync Action is the only way to


start the synchronization procedure, which is done asynchronously and in the
background.

⃞ B. The sentence is incorrect. The synchronization procedure only runs


asynchronously and in the background when automatically triggered by a
configuration defined in the OfflineDataSyncConfiguration Action.

⃞ C. The sentence is correct. The OfflineDataSync Action is the only way to start the
synchronization procedure, which is done asynchronously and in the background.

⃞ D. The sentence is incorrect. Despite not being recommended, the


synchronization procedure can be triggered by calling the OfflineDataSync Action,
thus making it run synchronously.

5. Consider the Action in the screenshot (in the next page). This Action was recently
added to an existing mobile app, to allow end-users to take a picture, using the
Camera Plugin. The picture is a resource that can be saved in the Database, in the
Resource Entity, and locally in the LocalResource Entity.

This change has two very important requirements:

1) To guarantee, when online, that the resources stored locally and in the database
are properly synced, meaning that the information in the database should be the
same as the one in the local storage.

2) To guarantee that the changes will not cause any issues to the end-users that
already have the app installed in their devices.

Knowing these requirements, the developer already tested the synchronization


procedure and knows it is working properly. Now, the developer is analyzing the
Action to take a picture. What would you recommend, if anything, for the developer
to change in this Action to make sure it meets the two requirements?
⃞ A. Nothing. The logic is correct and it meets all the necessary requirements.

⃞ B. The logic should check if the plugin is available, before calling the TakePicture
Action.

⃞ C. After the CreateOrUpdateResourceWrapper Action, the flow should go directly to


the Success message.

⃞ D. An Assign should be placed before the CreateOrUpdateResourceWrapper to


convert the LocalResource attributes in Resource attributes.
6. Consider an OrdersDirectory Mobile application with the Orders Screen to list all
the registered Orders. Since there are a lot of Orders to display, the developer
implemented the infinite scrolling functionality on the list of Orders. However,
when testing the application and scrolling down, the list of Orders did not change.
What is the reason for that wrong behavior?

⃞ A. The Refresh Data node should be removed, since it is re-executing the


Aggregate and fetching the same batch of records with each scroll.

⃞ B. The MaxRecords property of the Aggregate should be set to IncrementRecords,


otherwise it does not change.

⃞ C. There is an Assign missing right before the Refresh Data node to increment the
MaxRecords value.

⃞ D. The first If is not properly defined. After fetching the first batch of data,
the Condition will always be evaluated to False.
7. Considering troubleshooting of mobile apps, which of the following statements is
incorrect?

⃞ A. The browser emulator is a very convenient option to test the


performance and experience of the mobile app.

⃞ B. When the mobile app executes native plugins, it is recommended to test their
behavior in the generated native app directly on the device.

⃞ C. It is possible to test and debug a native mobile app directly on the device, for
iOS and Android versions of the app.

⃞ D. The browser emulator is a very convenient option to test and debug the logic of
the mobile app.

8. Which of the following changes in a mobile app does not require installing a new
build on the device, to be able to use those changes?

⃞ A. Changing the main color of the app.

⃞ B. Renaming the Entry module of the application.

⃞ C. Adding a new mobile plugin to the app.

⃞ D. Changing the default home Screen of the app.


Answers

1. D
2. C
3. A
4. D
5. B
6. C
7. A
8. D

You might also like