(SCENARIO-BASED) questions with verified answers
"How can you ensure that multiple Timers don't interfere with each
other and cause conflicts? a) Schedule Timers to run at different times.
b) Use proper synchronization mechanisms (e.g., locks) when accessing
shared resources. c) Monitor Timer execution for potential overlaps
and conflicts. d) All of the above." Ans✓✓✓ "d) Careful scheduling,
synchronization, and monitoring are key for managing multiple Timers."
"How can you improve the performance of a web screen that uses a
large aggregate? a) Fetch all attributes of the entity in the aggregate. b)
Use a SQL query instead of an aggregate. c) Limit the number of records
fetched using the ""Max Records"" property and fetch only necessary
attributes. d) Disable pagination for the aggregate." Ans✓✓✓ c)
Limiting records and attributes optimizes the aggregate's performance.
"How can you improve the performance of aggregates that fetch large
amounts of data? a) Use the ""Max Records"" property to limit the
number of records retrieved. b) Avoid using filter conditions. c) Use
""Get All Records"" instead of specifying attributes. d) Use Advanced
Queries instead of aggregates." Ans✓✓✓ "a) Max Records limits
retrieved data. Filters improve performance, and ""Get All Records""
can be inefficient. Advanced Queries are more complex solutions."
"How can you optimize images for faster loading times? a) Use high-
resolution images for better quality. b) Use appropriate image formats
(e.g., JPEG for photos, PNG for graphics). c) Compress images to reduce
,file size. d) Both b) and c)" Ans✓✓✓ d) Using suitable formats and
compression minimizes image sizes without excessive quality loss.
"How should you handle confidential data, such as API keys, in your
OutSystems applications? a) Store them directly in your application
code. b) Store them in encrypted Site Properties. c) Store them in an
external secrets management service and access them securely at
runtime. d) Store them in client-side local storage." Ans✓✓✓ c) A
secrets management service offers the best security and separation of
concerns.
"How should you organize Screen Actions within a Web Screen? a)
Place all Screen Actions in a single large flow. b) Create separate flows
for different actions, grouped logically. c) Use a single Screen Action for
all UI interactions. d) Place all logic in the Preparation action."
Ans✓✓✓ b) Separate flows enhance organization and readability.
"How should you use comments in your OutSystems code? a) Avoid
comments altogether as they clutter the code. b) Comment every line
of code for detailed documentation. c) Use comments to explain
complex logic, non-obvious code, and the purpose of actions and
variables. d) Only comment code written by other developers."
Ans✓✓✓ c) Comments should be used strategically to explain complex
or non-obvious parts of the code.
"In a scenario using multiple databases, how does OutSystems manage
transactions? a) It uses distributed transactions to ensure data
,consistency across all databases. b) It creates separate transactions for
each database, which are committed independently. c) It uses a two-
phase commit protocol. d) It doesn't support transactions across
multiple databases." Ans✓✓✓ b) OutSystems manages independent
transactions for each database. There's no built-in distributed
transaction support.
"What is the purpose of the ""Example"" property in Expressions? a) To
provide a sample value for testing. b) To document the expected data
type. c) To improve the performance of the expression. d) Both a) and
b)" Ans✓✓✓ "d) The ""Example"" property aids both testing and
documentation."
"What is the purpose of using the ""Internal Access Only"" property for
Web Flows and Web Services? a) To improve performance by skipping
security checks. b) To restrict access to internal network requests only.
c) To prevent external access to sensitive functionalities. d) To hide the
Web Flows and Web Services from the module tree." Ans✓✓✓ "c)
""Internal Access Only"" protects sensitive actions from external
access."
"What naming convention is recommended for foreign key attributes in
entities? a) CamelCase (e.g., customerId) b) PascalCase suffixed with
""Id"" (e.g., CustomerId) c) Underscore separated (e.g., customer_id) d)
All lowercase (e.g., customerid)." Ans✓✓✓ "b) PascalCase with ""Id""
suffix is the OutSystems standard."
, "What's the best approach for handling background processes that
involve complex logic and potentially long execution times? a) Use
Timers. b) Use BPT processes. c) Use Screen Actions with long timeouts.
d) Use Server Actions with the ""Asynchronous"" property set to True."
Ans✓✓✓ "b) BPT processes are specifically designed for complex, long-
running background tasks."
"What's the best practice for handling error messages displayed to the
end-user? a) Use technical error messages for accurate debugging
information. b) Use user-friendly messages that guide the user towards
a solution. c) Hide error messages to avoid confusing the user. d)
Display all error details, including stack traces." Ans✓✓✓ b) User-
friendly messages improve user experience.
"What's the best practice for organizing the logic in a complex Screen
Action? a) Use a single, long, and linear flow. b) Break down the logic
into smaller, reusable sub-flows using Server Actions. c) Use comments
sparingly to avoid cluttering the action flow. d) Avoid using variables to
keep the logic simple." Ans✓✓✓ "b) Smaller, focused server actions
improve readability and maintainability."
"What's the best practice for structuring a large OutSystems
application? a) Place all logic in a single module for easier access. b) Use
a layered architecture with separate modules for different
functionalities (e.g., Core Services, UI, Integrations). c) Create a module
for each entity in the data model. d) Organize modules based on
development team structure." Ans✓✓✓ "b) Layered architecture
promotes modularity, maintainability, and scalability."