AbairTechSolutionDIGITAL SOLUTIONS FOR A SMARTER TOMORROW

Menu

Oracle APEX · Interview Prep

Oracle APEX Interview Questions and Answers (2026): 25 Questions for Developers

By AbairTech Solution · Practical guides for Oracle, ERP & business software

Published by AbairTech Solution · Reviewed November 2026 · Editorial policy

These questions reflect what interviewers actually ask Oracle APEX developers – from junior roles to senior positions in ERP, banking and government projects. Each answer is short enough to say in an interview but explains the reasoning behind it. Click a question to reveal the answer, then test yourself with our free Oracle APEX & Forms quiz.

Fundamentals

1. What is Oracle APEX?

Oracle APEX (Application Express) is a low-code platform for building web applications that runs inside the Oracle Database. Application definitions are stored as metadata in the database, and the APEX engine – written in PL/SQL – reads that metadata to render pages and process requests. Because it runs next to the data, it is well suited to data-heavy business applications.

2. Explain the APEX architecture.

The browser sends an HTTP request to Oracle REST Data Services (ORDS), a Java application acting as the web listener. ORDS passes the request to the APEX engine in the database, which reads the application metadata, runs your SQL and PL/SQL, and returns HTML, JavaScript and JSON back through ORDS. There is no separate application server holding business logic.

3. What is the difference between a workspace, a schema and an application?

A workspace is a development area where developers and applications live. A workspace is associated with one or more database schemas, which own the tables and code. An application is a set of pages and shared components inside a workspace that parses its SQL as one of those schemas.

4. What is session state, and how do you reference an item value?

Session state is the set of item values APEX keeps on the server for a user’s session. In SQL and PL/SQL use bind syntax, for example :P10_CUSTOMER_ID; in static text use substitution syntax &P10_CUSTOMER_ID.; in PL/SQL you can also use V('P10_CUSTOMER_ID'). Built-in values include :APP_USER, :APP_ID and :APP_SESSION.

5. What is the difference between page items and application items?

A page item belongs to one page and usually appears on screen (text field, select list). An application item has no user interface and is available on every page – useful for values such as the current branch or user role, often set by a computation after login.

Page processing

6. Describe the order of page processing when a page is submitted.

On submit, APEX saves submitted values to session state, then runs computations, validations, processes and finally branches, according to their processing points and sequence. If a validation fails, processes do not run and the page is redisplayed with errors.

7. What is the difference between page rendering and page processing?

Rendering happens when the page is displayed: before-header computations and processes, then regions and items. Processing happens after the user submits the page: computations, validations, processes and branches. Knowing which phase code runs in solves many “why is my value empty” bugs.

8. Why should you prefer bind variables over substitution strings in SQL?

Bind variables (:P1_ID) are passed safely as values, so they prevent SQL injection and allow the database to reuse execution plans. Substitution strings (&P1_ID.) are replaced as text before the SQL is parsed, which can create security holes and hard parses.

Security

9. Authentication vs authorization in APEX?

Authentication verifies who the user is (APEX accounts, database accounts, LDAP, social sign-in, SSO). Authorization schemes decide what an authenticated user may do, and can be attached to pages, regions, buttons, items and processes. See our authorization schemes guide.

10. What is Session State Protection?

Session State Protection prevents users from changing item values through the URL. With settings such as “Arguments Must Have Checksum”, APEX adds a checksum to generated links and rejects tampered URLs – important for pages that open records by ID.

11. Is hiding a button enough to stop an action?

No. Hiding or disabling a button only affects the user interface. The process behind the button, any Ajax callbacks and REST handlers must also have the same authorization scheme or server-side checks.

Components

12. Classic Report vs Interactive Report vs Interactive Grid?

A Classic Report displays data with fixed formatting and minimal end-user features. An Interactive Report lets users filter, sort, aggregate, chart, save and download reports. An Interactive Grid adds spreadsheet-style editing of multiple rows, plus most interactive reporting features.

13. What are Dynamic Actions?

Dynamic Actions define client-side behaviour declaratively: an event (Change, Click, Dialog Closed), an optional condition and actions such as Show, Hide, Set Value, Refresh or Execute Server-side Code. A common mistake is forgetting Items to Submit on server calls. More in our Dynamic Actions guide.

14. What are Shared Components?

Shared Components are application-level objects reused across pages: lists of values, navigation menus, authentication and authorization schemes, templates and themes, application items and processes, web credentials, REST Data Sources, email templates and more.

15. What are APEX collections and when would you use them?

Collections (APEX_COLLECTION) are temporary, session-specific storage for rows of data. They are useful for shopping-cart style screens, staging uploaded data for review, or holding intermediate results before saving to real tables.

APEX_COLLECTION.CREATE_OR_TRUNCATE_COLLECTION('CART');
APEX_COLLECTION.ADD_MEMBER(
  p_collection_name => 'CART',
  p_c001 => :P5_ITEM_CODE,
  p_n001 => :P5_QTY);
16. How do you open a modal page and refresh the parent report after it closes?

Set the target page’s mode to Modal Dialog and open it from a button or link. On the modal page, end with a Close Dialog process. On the parent page, add a Dynamic Action on the Dialog Closed event that refreshes the report region.

Integration and utilities

17. How do you consume a REST API in APEX?

Declaratively, create a REST Data Source in Shared Components and use it as a region source. Programmatically, call APEX_WEB_SERVICE.MAKE_REST_REQUEST from PL/SQL and parse JSON with APEX_JSON or JSON_TABLE. Store secrets in Web Credentials, not in code.

18. How do you send email from APEX?

Use APEX_MAIL.SEND, which places messages in the APEX mail queue for delivery to the configured SMTP server. Attachments are added with APEX_MAIL.ADD_ATTACHMENT. Outside an APEX session, set the workspace first. Full details in our APEX_MAIL guide.

19. How do you debug an APEX page?

Run the page in Debug mode from the developer toolbar and review the debug log, which shows each step and its timing. Add your own messages with APEX_DEBUG.MESSAGE. Use the browser console for JavaScript issues.

20. What are Automations?

Automations are scheduled or on-demand jobs defined inside an application. They run a query and perform actions for each row – for example emailing reminders for overdue invoices – without writing your own DBMS_SCHEDULER jobs.

Deployment and performance

21. How do you move an application from development to production?

Export the application (from App Builder, with SQLcl, or with the APEX_EXPORT package) and import it into the target workspace. Use Supporting Objects or separate scripts for tables, packages and data. Keep exports in version control and use the same application ID across environments when possible.

22. How would you improve a slow APEX page?

Find the slow component in the debug log first. Then tune the SQL (indexes, avoiding row-by-row functions), use pagination and lazy loading, reduce unnecessary Dynamic Action round trips, and cache slowly changing regions where appropriate.

23. What is the Universal Theme and Theme Roller?

The Universal Theme is APEX’s responsive default theme. Theme Roller lets developers change colours and styles visually and save them as a theme style, without editing template files. Template Options adjust individual regions and items.

Scenario questions

24. Branch users should only see their own branch’s sales. How do you implement it?

Store each user’s branch in a table, load it into an application item after login, and add WHERE branch_id = :G_BRANCH_ID to report queries – or enforce it in views or a Virtual Private Database policy so every query is filtered. Combine this with authorization schemes for page access.

25. An Oracle Forms application must move to APEX. How do you approach it?

Inventory forms, reports, libraries and integrations; move reusable business logic into database packages; redesign screens for the web rather than copying canvases; build a pilot module; then migrate in phases with parallel testing. See our Forms to APEX migration approach.

Test yourself: try our 20-question Oracle APEX & Oracle Forms quiz with instant scoring. Preparing for a Forms role too? Read the Oracle Forms interview questions.

Need Oracle APEX developers?

AbairTech builds and modernizes Oracle APEX applications for ERP, POS, HR and finance teams in Pakistan and abroad.

Oracle APEX ServicesMore Guides