1. Which of the following best describes a Canvas App in Power Apps?
A. A flow automation tool
B. A mobile-friendly, drag-and-drop UI builder
C. A code-based web development framework
D. A report visualization tool
Answer: B. A mobile-friendly, drag-and-drop UI builder
2. What is the primary purpose of the "Screen" control in a Canvas App?
A. To store data
B. To group and organize UI elements
C. To process automation workflows
D. To manage security settings
Answer: B. To group and organize UI elements
3. Which formula would you use to display dynamic text in a Label control?
A. Set(Label1.Text, "Hello World")
B. Label1.Text = "Hello World"
C. Label1.Update("Hello World")
D. "Hello World"
Answer: D. "Hello World"
4. What is the default data source for a new Power Apps Canvas App?
A. Microsoft Excel
B. Dataverse
C. SharePoint
D. There is no default data source
Answer: D. There is no default data source
5. What does the "Gallery" control primarily do?
A. Displays multiple records in a scrollable layout
B. Sends data to Power Automate
C. Stores user inputs temporarily
D. Runs scripts and automation tasks
Answer: A. Displays multiple records in a scrollable layout
6. How do you ensure a button remains disabled unless a TextInput has a value?
A. Set Button1.Disabled = If(IsBlank(TextInput1.Text), true, false)
B. Set Button1.Enabled = False
C. Set TextInput1.Required = True
D. Use Set(Button1.Disabled, false)
Answer: A. Set Button1.Disabled = If(IsBlank(TextInput1.Text), true, false)
7. What function is used to retrieve a single record from a data source?
A. Lookup()
B. Filter()
C. Collect()
D. ClearCollect()
Answer: A. Lookup()
8. What happens when you use the Collect() function in Power Apps?
A. Deletes all records in a collection
B. Fetches data from a SharePoint list
C. Adds a new record to a collection
D. Refreshes all screen controls
Answer: C. Adds a new record to a collection
9. Which property defines the order of execution when multiple actions are triggered?
A. OnSelect
B. OnVisible
C. Sequence
D. Concurrent
Answer: D. Concurrent
10. If you want to filter a Gallery based on a Dropdown selection, which formula should you use?
A. Gallery1.Items = Filter(DataSource, Column = Dropdown1.Selected.Value)
B. Filter(Gallery1, Column = Dropdown1.Selected.Value)
C. Search(Gallery1, Dropdown1.Selected.Value, Column)
D. Lookup(Gallery1, Column, Dropdown1.Selected.Value)
Answer: A. Gallery1.Items = Filter(DataSource, Column = Dropdown1.Selected.Value)
11. Which function allows you to reset a TextInput control to its default value?
A. ResetControl(TextInput1)
B. Clear(TextInput1)
C. Reset(TextInput1)
D. Set(TextInput1, "")
Answer: C. Reset(TextInput1)
12. What does UpdateContext() do in a Canvas App?
A. Creates or updates a local variable
B. Modifies an external data source
C. Submits a form
D. Deletes a record
Answer: A. Creates or updates a local variable
13. How can you preload data when a Canvas App starts?
A. Using OnVisible
B. Using OnStart
C. Using LoadData()
D. Using Navigate()
Answer: B. Using OnStart
14. Which function is used to update specific fields in a record?
A. Patch()
B. Update()
C. Modify()
D. Refresh()
Answer: A. Patch()
15. What property would you use to show an error message dynamically?
A. ErrorMessage.Visible
B. Notify()
C. OnError()
D. AlertMessage.Text
Answer: B. Notify()
16. What is the benefit of using the LazyLoad property?
A. Improves app performance by loading data only when needed
B. Enables offline mode
C. Loads all data at once
D. Ensures data security
Answer: A. Improves app performance by loading data only when needed
17. How do you handle errors in Power Apps?
A. Using IfError()
B. Using TryCatch()
C. Using ErrorHandler()
D. Power Apps does not support error handling
Answer: A. Using IfError()
18. Which feature enables direct interaction with an API in a Canvas App?
A. Custom Connector
B. Azure Function
C. Power Automate
D. Dataverse
Answer: A. Custom Connector
19. What is the purpose of Param() in Power Apps?
A. Retrieves query string parameters from a URL
B. Stores session data
C. Validates form fields
D. Sends data to a data source
Answer: A. Retrieves query string parameters from a URL
20. How can you monitor real-time app performance in Power Apps?
A. Using Monitor
B. Using Debug Console
C. Using Performance Tracker
D. Using Event Viewer
Answer: A. Using Monitor
21. What is the primary difference between Patch() and SubmitForm()?
A. Patch() works without forms, while SubmitForm() requires a form
B. Patch() can create new records, but SubmitForm() cannot
C. SubmitForm() is faster than Patch()
D. Patch() does not work with SharePoint
Answer: A. Patch() works without forms, while SubmitForm() requires a form
22. In Power Apps, how can you prevent a user from submitting duplicate records?
A. Use If(IsEmpty(LookUp(DataSource, Condition)), Patch(...))
B. Disable the Submit button after first submission
C. Set a unique constraint in Power Apps
D. Power Apps does not support duplicate prevention
Answer: A. Use If(IsEmpty(LookUp(DataSource, Condition)), Patch(...))
23. What is the best approach to dynamically show or hide form fields based on user input?
A. Use the Visible property with an If() condition
B. Use UpdateContext() to toggle visibility
C. Use a Timer control to refresh the screen
D. Change the DisplayMode property dynamically
Answer: A. Use the Visible property with an If() condition
24. How can you ensure Power Apps enforces field-level security from Dataverse?
A. Use role-based access control in Dataverse
B. Hide fields using Power Apps conditional visibility
C. Create different screens with restricted access
D. Use If(User().Email, HideField())
Answer: A. Use role-based access control in Dataverse
25. What happens when SaveData() is used in Power Apps?
A. Stores data locally on the user’s device
B. Saves data to Dataverse
C. Automatically syncs data across all devices
D. Saves data to SharePoint
Answer: A. Stores data locally on the user’s device
26. Which of the following methods can be used to dynamically update the app theme?
A. Store theme values in a Global Variable
B. Use a SharePoint List for theme configurations
C. Use OnStart to load theme settings
D. All of the above
Answer: D. All of the above
27. How can you trigger a Power Automate flow from a Canvas App?
A. Using a Button with PowerAutomate.Run()
B. Using a Timer control
C. Using an OnStart property
D. Using a Label control
Answer: A. Using a Button with PowerAutomate.Run()
28. How can you make a container dynamically appear based on a selection?
A. Set its Visible property to a conditional expression
B. Use a Timer control
C. Use a Power Automate flow
D. Set its X property to zero
Answer: A. Set its Visible property to a conditional expression
29. When triggering a Power Automate flow from a Canvas App, which of the following methods is the most efficient for passing a large number of records to the flow for processing?
A) Use the Patch() function to send each record one by one
B) Use a collection to gather all the records and pass it to the flow as a parameter
C) Send the records as individual inputs to the flow using the PowerAutomate connector
D) Use ForAll() in Canvas App to process records in bulk
Answer: B) Use a collection to gather all the records and pass it to the flow as a parameter
30. Which of the following is NOT a reason to use Modern Controls in a Canvas App over Classic Controls?
A) Modern controls provide enhanced responsiveness across screen sizes
B) Classic controls support more advanced formula logic
C) Modern controls support integration with AI Builder components
D) Modern controls are optimized for mobile-first design
Answer: B) Classic controls support more advanced formula logic
31. When configuring a Canvas App to trigger a Power Automate flow that requires user interaction (e.g., approval), which of the following approaches provides the best solution for handling asynchronous responses?
A) Use a Timer control in the app to periodically check for flow completion
B) Store the flow’s response in a global variable and display it in real-time
C) Trigger the flow to update the app UI directly upon completion
D) Implement a manual refresh button that users can click to fetch updates from the flow
Answer: A) Use a Timer control in the app to periodically check for flow completion
32. How do you capture the result of a Power Automate flow in a Canvas App?
A) Using a global variable
B) Using the OnSuccess property
C) Using the Response function
D) Using Set() function
Answer: A) Using a global variable
33. According to best practices, which of the following is the preferred naming convention for a collection storing user details in a Canvas App?
A) colUserDetails
B) UserCollection
C) ud_userdetails
D) colUserDataDetails
Answer: A) colUserDetails
34. Which of the following variable types in Canvas Apps retains its value across screen navigations?
A) Context Variable
B) Global Variable
C) Collection
D) Local Variable
Answer: B) Global Variable
35. What is the most efficient way to handle repetitive tasks in a Canvas App to follow coding standards?
A) Use ForAll() to repeat the task multiple times in one function call
B) Use functions that are not delegated to perform the tasks locally
C) Create reusable functions in a centralized module
D) Repeatedly write the same code in each screen for better maintainability
Answer: C) Create reusable functions in a centralized module
36. According to best practices, how should you name a variable that stores the current user's role?
A) var_currentRole
B) userRoleVar
C) varUserRole
D) currentRole
Answer: C) varUserRole
37. When you share a Canvas app with users, which of the following permissions must they have in order to edit the app?
A) They must have the App Owner role
B) They must have the Co-Owner role
C) They must have the User role
D) They must be given Access to the environment where the app is stored
Answer: B) They must have the Co-Owner role
38. Which of the following is a limitation of being a Co-Owner of a Canvas App?
A) Co-owners cannot view the app’s data
B) Co-owners cannot delete the app
C) Co-owners cannot add new data sources
D) Co-owners can only run the app, not edit it
Answer: B) Co-owners cannot delete the app
39. Which of the following types of connectors can be used in Canvas Apps?
A) Custom Connectors only
B) Standard Connectors only
C) Both Standard and Premium Connectors
D) Only connectors available in Power Automate
Answer: C) Both Standard and Premium Connectors
40. What is one major limitation when using external connectors in Canvas Apps?
A) External connectors cannot be used with data stored on-premises
B) External connectors often require additional authentication and configuration
C) External connectors do not support any type of delegation
D) External connectors do not work with premium services
Answer: B) External connectors often require additional authentication and configuration