Power Apps Interview Questions

TL;DR

30+ Power Apps interview questions organized by topic. Focus on Canvas vs Model-Driven, Delegation, and Dataverse — they dominate interviews.

Short on time? Focus on Canvas vs Model-Driven, Delegation, and Dataverse.

Power Apps Basics

Q: What is Power Apps and what are its three app types?

Microsoft's low-code platform for business apps. Three types: Canvas Apps (drag-and-drop, pixel-perfect), Model-Driven Apps (auto-generated from Dataverse model), Power Pages (external-facing websites).

Q: What is the Power Platform and how does Power Apps fit in?

Power Apps (build apps) + Power Automate (automate workflows) + Power BI (data visualization) + Copilot Studio (chatbots) + Dataverse (shared data layer). They integrate seamlessly — an app can trigger a flow, embed a BI report, and use a chatbot.

Q: What are environments in Power Apps?

Environments are containers that isolate apps, flows, data, and connections. Each environment has its own Dataverse database (optional). Common setup: Dev, Test, Production environments. Controlled by environment roles (Admin, Maker, User). DLP policies are applied per-environment.

Q: What licensing is required for Power Apps?

M365 included: standard connectors only (SharePoint, Excel, Teams). Per-app ($5/user/mo): one app, premium connectors, Dataverse. Per-user ($20/user/mo): unlimited apps, all connectors, Dataverse. Premium connectors (SQL, HTTP, Dataverse) always require a paid license.

Canvas vs Model-Driven

Q: When would you choose canvas over model-driven?

Canvas: custom UX required, mobile-first, non-Dataverse sources (SharePoint, Excel), simple forms, field-worker apps with camera/GPS. Model-driven: complex relational data, business process flows, role-based forms, dashboards, when Dynamics 365 integration matters. Model-driven requires Dataverse; canvas works with any connector.

Q: Can you combine canvas and model-driven apps?

Yes. You can embed canvas app components inside model-driven forms. This gives structured data management (model-driven) with custom UI elements (canvas) where needed. The embedded canvas app can access the host record's data via ModelDrivenFormIntegration.

Q: What is the 3-screen pattern in canvas apps?

Browse Screen (gallery + search), Detail Screen (display form), Edit Screen (edit form). Power Apps can auto-generate all three from a data source. Most CRUD apps follow this pattern.

Dataverse

Q: What is Dataverse and why would you use it over SharePoint?

Dataverse is a cloud-based relational data platform. Over SharePoint: (1) real relationships between tables, (2) row/column-level security, (3) better delegation support, (4) server-side business rules, (5) calculated/rollup columns, (6) auto-generated APIs, (7) handles millions of rows. Use SharePoint for simple lists; Dataverse for anything with relationships or security needs.

Q: Explain security roles in Dataverse.

Security roles define CRUD permissions per table at different scopes: User (own records), Business Unit (own BU's records), Parent-Child BU, Organization (all records). Each table can have Create, Read, Write, Delete, Append, AppendTo permissions at each scope. Users are assigned roles; multiple roles combine additively (most permissive wins).

Q: What are Dataverse choices vs lookups?

Choice (option set): fixed list of values stored as integers (e.g., Status: Active=1, Inactive=2). Good for static lists. Lookup: a relationship to another table (e.g., Customer lookup to Accounts table). Good for dynamic lists that change. Use choices for small, stable lists; lookups for anything that references another entity.

Delegation & Performance

Q: What is delegation and what happens when a formula isn't delegable?

Delegation pushes data operations to the server. Non-delegable: Power Apps downloads only 500-2000 rows and processes locally — silently ignoring the rest. Fix: use delegable functions, switch to Dataverse, pre-filter with Power Automate, or cache with ClearCollect for small datasets.

Q: How do you optimize a slow canvas app?

(1) Reduce data calls — use ClearCollect on App.OnStart, not on every screen. (2) Fix delegation warnings. (3) Use Concurrent() to load multiple data sources in parallel. (4) Minimize controls per screen (under 500). (5) Use components for reuse. (6) Avoid volatile functions (Now(), Rand()) in gallery templates. (7) Use DelayOutput on search boxes. (8) Preload heavy screens with App.OnStart.

Q: What is the 500-record limit and how do you increase it?

Non-delegable operations process only the first 500 rows by default. You can increase to 2000 in Settings → General → Data row limit. But the real fix is making operations delegable or using Dataverse which delegates most operations natively.

Power Fx & Formulas

Q: What is the difference between Patch and SubmitForm?

SubmitForm: works with a Form control, handles validation and error display, respects form mode (New/Edit). Patch: writes directly to the data source without a form, more flexible, no built-in validation. Use SubmitForm with forms; Patch for programmatic writes.

Q: Explain Set vs UpdateContext vs Collect.

Set: global variable (app-wide, single value). UpdateContext: context variable (current screen only, single value). Collect: collection (app-wide, table of records). Use Set for app state, UpdateContext for screen toggles, Collect for local data tables.

Q: How do you handle errors in Power Apps?

(1) IfError() function to catch and handle formula errors. (2) IsError() to check if an operation failed. (3) Form OnFailure event for form submission errors. (4) Notify() to show user-facing error messages. (5) Errors() function to get data source errors for a record. (6) App-level OnError for global error handling.

Deeper coverage: Power Fx Deep Dive

ALM & Governance

Q: What is a solution and how do you move apps between environments?

A solution packages Power Platform components (apps, flows, tables) for ALM. Export as managed (locked, for production) or unmanaged (editable, for dev). Move between environments: (1) manual export/import, (2) Azure DevOps pipeline with Power Platform Build Tools, (3) GitHub Actions with Power Platform Actions. Solutions enable proper Dev → Test → Prod lifecycle.

Q: What are DLP (Data Loss Prevention) policies?

DLP policies control which connectors can be used together. Connectors are classified into: Business (internal data), Non-business (external), Blocked. Connectors in different groups can't be used in the same app/flow. Example: prevent SharePoint (Business) data from flowing to Twitter (Non-business). Set by tenant or environment admins.

Q: How do you monitor and manage Power Apps at scale in an organization?

(1) Power Platform Admin Center for environment management, capacity, analytics. (2) CoE (Center of Excellence) Starter Kit for inventory, compliance, and adoption tracking. (3) DLP policies per environment. (4) Environment groups and naming conventions. (5) Power Platform Advisor for recommendations. (6) Tenant-level analytics for usage and adoption dashboards.