Oracle Application Express (APEX)
is a rapid application development tool developed by Oracle for
developing rich database centric applications. It first started as
HTMLDB and later renamed as Application Express, though it is often
shorten as APEX. APEX is a free feature that can be enabled from Oracle
database v 9.2 onwards. It means, Oracle Application Express can be installed
with the free version of Oracle 10g Express Edition. It is easy to
create and run web applications which look professional and scalable. Of
recent there is increased interest on APEX skills.
I had an opportunity to interview few people for evaluating their APEX skills. Following is the selected set of questions I used in that interview. The difficulty level is basic to intermediate level. The main idea is to identify the promising people who had real experience on APEX. I have added links to the concepts, documentation.
General
Following is the list of necessary, desirable skills for APEX developer position.
I had an opportunity to interview few people for evaluating their APEX skills. Following is the selected set of questions I used in that interview. The difficulty level is basic to intermediate level. The main idea is to identify the promising people who had real experience on APEX. I have added links to the concepts, documentation.
General
Following is the list of necessary, desirable skills for APEX developer position.
- Experience on PL/SQL, SQL.
- Experience on Javascript / HTML / CSS / Web applications.
- Experience with Oracle HTTP Server / Oracle Application Server / Oracle XDB.
- Experience with Oracle HTMLDB, Oracle HTML Web toolkit.
- Experience on packages, procedures, functions, views and triggers.
Basic APEX Skills
Now, the interviewer could be asking questions on specific skills related to Application Express.- What are versions of APEX you have worked with?
- What kind of applications you have created?
- When to go for APEX?
- When not to go for APEX?
- Name few Oracle APEX applications you know.
- How will you know APEX is installed? Where does it in installs in DB? (FLOWUSER_0320)
- What are features on Oracle APEX application builder?
- Explain the URL structure of an application.
- How will you debug an application? (Debug flag)
- How will you make changes to application in Oracle SQL Developer?
- What are the other options for web application development.
Application Component
What is the building blocks / components or APEX applications? (Pages, Items, Regions, Validations, Computations, Shared Components, Lists, Theme, Authentication and Authorization). The interviewer might be interested in knowing how much a developer knows about each of these components. After all, the APEX interview evaluation will be mostly about these.Interview Questions on Page Rendering
Now the questions on fine processing of pages- How will you define page cache?
- Where will you add Java Script coding?
- How will you access page items in Javascript?
- What is the use of Page Group? Or what is Page Group feature? How will you create a page group?
- What is ‘page zero‘? How can you restrict page zero items across application?
- How a page is rendered? (Show page and Accept page process).
Interview Questions on Page Processing
Regions
- Where / How will you add Logo / pictures? How will you control them?
- Notification message, Success message regions?
- Where will you add logout or custom links?
- How will you pass value of one item from one page to another?
- How will you code dynamic PL/SQL regions (HTP.P code)?
- What are different caching methods available? (Page, for item, for user session, for application)
- How can you clear caches programmaticaly? (APEX_UTIL.CLEAR_APP_CACHE, APEX_UTIL.CLEAR_PAGE_CACHE, APEX_UTIL.CLEAR_USER_CACHE)
Conditional processing
- What is conditional rendering?
- How will you use conditional processing for pages, regions?
Interview Questions on Application Processes
- How will you use AJAX? (on DEMAND Process)
- What are the uses of Application level processes or how will you create an application level processes?
- What are available options to develop list of values? (Static, Dynamic).
- How will you use lists which can be shared across applications?
- How will you create tree list?
- How will you show default value for an item?
- How are items named and referenced?
- How will you process multiple items or array of items?
- How will you add javascript function to item?
- Why / How will you use PL/SQL dynamic content?
- How will you add validations to an item?
Interview Questions on Reports, Forms & Charts
Reports- What are the various reports possible? (SQL/Interactive)
- How will you use RTF / PDF report options?
- How will you create parameterized reports?
- How will you create editable column link? or “Link Column”.
- How can you use filter options?
- How will you add CHECK BOX option as a column in report? (APEX_ITEM.CHECKBOX)
- How can you integrate other reporting options?
- What are the different kind of forms available?
- What are the various charts available?
Interview Questions on Shared Components
Tabs- How will you restrict a page (tab) from a USER?
- What are the things that can be shared between applications?
- Can you define custom theme?
Deployment
Build Option- How will you configure objects that are dependent on environment?
- How will you enable end users customization (Customization for regions)?
- How will you deploy application? (as SQL files)
- Import / Export options.
- How will you disable developer toolbar?
Interview Questions on Continuous Development
- How will you make continuous changes to applications?
- How will you deploy changes in single page / item?
Authorization
- What is the use of authorization?
- What are the other ways of authorization?
- Where can you apply authorization? Custom defined authorization?
Authentication
- What are the authentication methods available?
- How will you create a custom authentication?
Interview Questions on Security
- What are the security options available for APEX applications?
- How will you disable SQL injections?
- How will you use check sums? APEX_ITEM.MD5_CHECKSUM. Check sums in URLs.
- How will you ensure strong password? APEX_UTIL.STRONG_PASSWORD_VALIDATION
- How will you find how many users clicked a HREF? APEX_UTIL.COUNT_CLICK. APEX_WORKSPACE_CLICKS View has the report.
Interview Questions on Sessions
- How will you find the application session state? Within SQL (APP_SESSION)?
- What are the ways to get the session values? (&SESSION., :APP_SESSION, v(‘SESSION’) or nv())
- Session is synchronous or asynchronous? Asynchronous
- Does not use dedicated database connections are made and maintained?
- How will you validate whether the session is valid? APEX_CUSTOM_AUTH.IS_SESSION_VALID
- How will you submit jobs / back ground processes in Oracle APEX? APEX_PLSQL_JOB.SUBMIT_PROCESS
- What is optimistic / pessimistic locking?
- What is stateless transaction?
Architecture
Workspace
- What is workspace?
- Can more than one schema associated with workspace?
- How will you create a workspace, and what happens in database when you a create a new workspace?
- Oracle Application Express users? Their user roles.
- What is EPG?
Admin
- How will you login into APEX admin module? (Internal workspace)
- Differentiate Application Admin and Workspace Admin.
- Who are the users and their privileges?
- Name few important APEX functions? (APEX_UTIL, APEX_MAIL, APEX_ITEM, APEX_CUSTOM_AUTH, APEX_LDAP)
- How can you setup application wide notifications? Login notification?
- What is needed to configure OBIEE for report integration.
Interview Questions on Metadata
- How is APEX Application components stored inside DB?
- What is Oracle Application Express Engine? (session state management, auth & authori, page flow, validations processing, page rendering and processing)
- How will you find the logged in user? APP_USER.
Migration
- What are the migration options available for APEX? (Excel, MS Access, Forms and Reports)
- Migration Workshop.
Web services
- How to implement web services?
No comments:
Post a Comment