WinRunner Interview Questions - Answers

What are the reasons that WinRunner fails to identify an object on the GUI?
WinRunner fails to identify an object in a GUI due to various reasons. The object is not a standard windows object. If the browser used is not compatible with the WinRunner version, GUI Map Editor will not be able to learn any of the objects displayed in the browser window.

What is meant by the logical name of the object?

An object’s logical name is determined by its class. In most cases, the logical name is the label that appears on an object.

If the object does not have a name then what will be the logical name?
If the object does not have a name then the logical name could be the attached text.

What is the different between GUI map and GUI map files?
The GUI map is actually the sum of one or more GUI map files. There are two modes for organizing GUI map files. Global GUI Map file: a single GUI Map file for the entire application. GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.

GUI Map file is a file which contains the windows and the objects learned by the WinRunner with its logical name and their physical description.

How do you view the contents of the GUI map?
GUI Map editor displays the content of a GUI Map. We can invoke GUI Map Editor from the Tools Menu in WinRunner. The GUI Map Editor displays the various GUI Map files created and the windows and objects learned in to them with their logical name and physical description.

When you create GUI map do you record all the objects of specific objects?
If we are learning a window then WinRunner automatically learns all the objects in the window else we will we identifying those object, which are to be learned in a window, since we will be working with only those objects while creating scripts.

How you used WinRunner in your project?
Yes, I have been using WinRunner for creating automated scripts for GUI, functional and regression testing of the AUT.

Explain WinRunner testing process?
WinRunner testing process involves six main stages
* Create GUI Map File so that WinRunner can recognize the GUI objects in the application being tested
* Create test scripts by recording, programming, or a combination of both. While recording tests, insert checkpoints where you want to check the response of the application being tested.

* Debug Test: run tests in Debug mode to make sure they run smoothly
* Run Tests: run tests in Verify mode to test your application.
* View Results: determines the success or failure of the tests.
* Report Defects: If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window.

What is contained in the GUI map?
WinRunner stores information it learns about a window or object in a GUI Map. When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object’s description in the GUI map and then looks for an object with the same properties in the application being tested. Each of these objects in the GUI Map file will be having a logical name and a physical description. There are 2 types of GUI Map files. Global GUI Map file: a single GUI Map file for the entire application. GUI Map File per Test: WinRunner automatically creates a GUI Map file for each test created.

How does WinRunner recognize objects on the application?
WinRunner uses the GUI Map file to recognize objects on the application. When WinRunner runs a test, it uses the GUI map to locate objects. It reads an object’s description in the GUI map and then looks for an object with the same properties in the application being tested.

Have you created test scripts and what is contained in the test scripts?
Yes I have created test scripts. It contains the statement in Mercury Interactive’s Test Script Language (TSL). These statements appear as a test script in a test window. You can then enhance your recorded test script, either by typing in additional TSL functions and programming elements or by using WinRunner’s visual programming tool, the Function Generator.

How does WinRunner evaluate test results?

Following each test run, WinRunner displays the results in a report. The report details all the major events that occurred during the run, such as checkpoints, error messages, system messages, or user messages. If mismatches are detected at checkpoints during the test run, you can view the expected results and the actual results from the Test Results window.

Have you performed debugging of the scripts?
Yes, I have performed debugging of scripts. We can debug the script by executing the script in the debug mode. We can also debug script using the Step, Step Into, Step out functionalities provided by the WinRunner.

How do you run your test scripts?
We run tests in Verify mode to test your application. Each time WinRunner encounters a checkpoint in the test script, it compares the current data of the application being tested to the expected data captured earlier. If any mismatches are found, WinRunner captures them as actual results.

How do you analyze results and report the defects?
Following each test run, WinRunner displays the results in a report. The report details all the major events that occurred during the run, such as checkpoints, error messages, system messages, or user messages. If mismatches are detected at checkpoints during the test run, you can view the expected results and the actual results from the Test Results window. If a test run fails due to a defect in the application being tested, you can report information about the defect directly from the Test Results window. This information is sent via e-mail to the quality assurance manager, who tracks the defect until it is fixed.

What is the use of Test Director software?
TestDirector is Mercury Interactive’s software test management tool. It helps quality assurance personnel plan and organize the testing process. With TestDirector you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help review the progress of planning tests, running tests, and tracking defects before a software release.

Have you integrated your automated scripts from TestDirector?
When you work with WinRunner, you can choose to save your tests directly to your TestDirector database or while creating a test case in the TestDirector we can specify whether the script in automated or manual. And if it is automated script then TestDirector will build a skeleton for the script that can be later modified into one which could be used to test the AUT.

What are the different modes of recording?
There are two type of recording in WinRunner.
Context Sensitive recording records the operations you perform on your application by identifying Graphical User Interface (GUI) objects.
Analog recording records keyboard input, mouse clicks, and the precise x- and y-coordinates traveled by the mouse pointer across the screen.

What is the purpose of loading WinRunner Add-Ins?
Add-Ins are used in WinRunner to load functions specific to the particular add-in to the memory. While creating a script only those functions in the add-in selected will be listed in the function generator and while executing the script only those functions in the loaded add-in will be executed else WinRunner will give an error message saying it does not recognize the function.

Socket Programming Interview Questions And Answers

How does the race condition occur?
It occurs when two or more processes are reading or writing some shared data and the final result depends on who runs precisely when.

What is multiprogramming?
Multiprogramming is a rapid switching of the CPU back and forth between processes.

Name the seven layers of the OSI Model and describe them briefly.
Physical Layer - covers the physical interface between devices and the rules by which bits are passed from one to another.
Data Link Layer - attempts o make the physical link reliable and provides the means to activate, maintain, and deactivate the link.
Network Layer - provides for the transfer of information between end systems across
some sort communications network.
Transport Layer - provides a mechanism for the exchange of data between end system.
Session Layer - provides the mechanism for controlling the dialogue between applications in end systems.
Presentation Layer - defines the format of the data to be exchanged between applications and offers application programs a set of data transformation services.
Application Layer - provides a means for application programs to access the OSI environment.

What is the difference between TCP and UDP?
TCP and UDP are both transport-level protocols. TCP is designed to provide reliable communication across a variety of reliable and unreliable networks and internets.

UDP provides a connectionless service for application-level procedures. Thus, UDP is basically an unreliable service; delivery and duplicate protection are not guaranteed.

What does a socket consists of?
The combination of an IP address and a port number is called a socket.

What are some advantages and disadvantages of Java Sockets?

Advantages of Java Sockets:
Sockets are flexible and sufficient. Efficient socket based programming can be easily implemented for general communications.
Sockets cause low network traffic. Unlike HTML forms and CGI scripts that generate and transfer whole web pages for each new request, Java applets can send only necessary updated information.

Disadvantages of Java Sockets:
Security restrictions are sometimes overbearing because a Java applet running in a Web browser is only able to establish connections to the machine where it came from, and to nowhere else on the network
Despite all of the useful and helpful Java features, Socket based communications allows only to send packets of raw data between applications. Both the client-side and server-side have to provide mechanisms to make the data useful in any way.
Since the data formats and protocols remain application specific, the re-use of socket based implementations is limited.

What is the difference between a NULL pointer and a void pointer?
A NULL pointer is a pointer of any type whose value is zero. A void pointer is a pointer to an object of an unknown type, and is guaranteed to have enough bits to hold a pointer to any object. A void pointer is not guaranteed to have enough bits to point to a function (though in general practice it does).

What is encapsulation technique?
ANSWER: Hiding data within the class and making it available only through the methods. This technique is used to protect your class against accidental changes to fields, which might leave the class in an inconsistent state.

SIEBEL Interview Questions And Answers

What's SIEBEL?
SIEBEL is the leading provider of Customer Relationship Management (CRM) software ...

What difference between Fields and single value fields?
multivalue field has the child values from a chind BC for the parent record configured through MVL. single value field will be either from the base table or joined table.
the Difference between Single Value Field (SVF) and Multi Value Field(MVF)
SVF- a field in BC which references a column in a table
MVF- a field in parent BC which references a field in child BC
Field-Identifies and defines a field in a business component. All fields making up a business component record contain entries from both Single Value Field and Multi Value Field object types.

what is the difference between 1:1 and 1:M extension tables?
A1: 1:1 extension table is like an extension to the base table. if we do not have the required table space in the base table for craeting new extension columns, we will use the 1:1 extension table's columns using an implicit join.
in contrast, 1:M extension tables are used for parent child relationship with the base table. where the 1:M extension has only related to the base table. for example, for a contact (S_CONTACT) there will be a number of specialities in the extension table(S_CONTACT_XM) with the parent child relationship.

A2: In Siebel for the base tables like S_CONTACT suppose you have 3 address for a perticular contact. A person is working at 2 places plus his home address. Now you can not store this is in S_Contact as every contact has a unique row id and that can not be repeated. So you have S_CONTACT_XM. i.e an extension table to S_CONTACT but with 1:M relation.

What is complex join? Difference with Foreign key Primary Key join?
Complex joins are joins which have following diffrences from a PK-FK joins
# Complex joins can have conditional mappings like >,<,>=,NOT,AND,etc apart from '=' whereas the PK-FK joins are always '='.
# PK-FK joins are always (1-N), whereas complex joins can have (1 - 0,1) and (0,1 - N) kind of relationships

what is Localisation?
Modify the object definitions in the local repository.

what is different between bounded and unbounded picklist?
We can enter free text incase of Unbounded Picklist. But, incase of Bounded Picklist, we can not enter freetext.

Dynamic Picklist is used to Update Join Fields? How?
Actually we cannot modify the join fields we cannot do any modifications and updations on that fields to do these things we create the dynamic picklist or pickapplet.dynamic picklist to modify (to enter new records )in the join fields

What is the primary difference between Siebel 7.5.2 and 7.7 Versions ?

are having lot of differences between siebel 7.7 and 7.5.2. the primary difference among them is " Symbolic strings are available in Siebel 7.7 and not available in 7.5.2". hence the future scope for upgradation like things are high in siebel 7.7.

Optimization techniques in EIM
1) Limit base tables and columns to be processed by using : only base Tables,ignore base Tables,only base Columns,ignore base Columns.
2) Always delete batches from EIM tables upon completion. Leaving old batches in the EIM table wastes space and can adversely affect performance. For other suggestions on working with batches.
3) Run independent EIM jobs in parallel. Two or more EIM processes can be started simultaneously by using the Siebel Server Manager.
4) Trace Flag Settings, using Synonyms, primary key only Parameters
Limiting the Number of Records and Rows for Merge Processes.
like this many techniques are there which will optimize the EIM process

How can a particular user among four users with same responsibility can have access to particular view and this view should not be visible to other users?
A1: yes by assigning the position and giving a unique,user id he can acess the data

A2: The new views which are to be restricted from the other 3 users can be grouped up in a seperate responsibility and then the 1st user can be assigned that the newly created responsibility. This will save time and will ensure smooth operations as well.

A3: think this is possible only by scripting. given view's item identifier should be '0'. we need to capture the USERID of the particular user. if that user id matches the login name then we need to change this view's item identifier to any other number other than zero.
this script should be written at application level.

How to create Drilldown in Form applet?
Usually Drilldowns will be in List Applets only. But, in Siebel 6 there are Drilldowns on Form applets also. But, these are not similar to those in List Applets. in order to go to the target view we need to right click on the applet, on the menu shown we can find the available Drilldowns with Title as "Go To XYZ View".

What is the difference between MVG & Dynamic PickList ?
A1: A new value could be added through an MVG where as Dynamic Pick Applet could only be used to pick a value from a pick applet which could be constrained to show relevant data. A value entered through an MVG will show up in a Dynamic Pick Applet if the Dynamic Pick Applet is based on that MVG.

A2: VG---More than one value associated with Single field
Dynamic Pik list---It drawn value from the BC.

Oracle Interview Questions And Answers

Which parameter can be used to set read level consistency across multiple queries?
Read only

What are the different types of Record Groups?
Query Record Groups
NonQuery Record Groups
State Record Groups

From which designation is it preferred to send the output to the printed?
Previewer

What are difference between post database commit and post-form commit?
Post-form commit fires once during the post and commit transactions process, after the database commit occurs. The post-form-commit trigger fires after inserts, updates and deletes have been posted to the database but before the transactions have been finalized in the issuing the command. The post-database-commit trigger fires after oracle forms issues the commit to finalized transactions.

What are the different display styles of list items?
Pop_listText_listCombo box

Which of the above methods is the faster method?
performing the calculation in the query is faster.

With which function of summary item is the compute at options required?
percentage of total functions.

What are parameters?
Parameters provide a simple mechanism for defining and setting the valuesof inputs that are required by a form at startup. Form parameters are variables of type char,number,date that you define at design time.

What are the three types of user exits available ?
Oracle Precompiler exits, Oracle call interface, NonOracle user exits.

How many windows in a form can have console?
Only one window in a form can display the console, and you cannot change the console assignment at runtime.

What is an administrative (privileged) user? (for DBA )
Oracle DBAs and operators typically use administrative accounts to manage the database and database instance. An administrative account is a user that is granted SYSOPER or SYSDBA privileges. SYSDBA and SYSOPER allow access to a database instance even if it is not running. Control of these privileges is managed outside of the database via password files and special operating system groups. This password file is created with the orapwd utility.

What are the two repeating frame always associated with matrix object?
One down repeating frame below one across repeating frame.

What are the master-detail triggers?
On-Check_delete_masterOn_clear_detailsOn_populate_details

How does one connect to an administrative user? (for DBA )
If an administrative user belongs to the "dba" group on Unix, or the "ORA_DBA" (ORA_sid_DBA) group on NT, he/she can connect like this:
connect / as sysdba
No password is required. This is equivalent to the desupported "connect internal" method.
A password is required for "non-secure" administrative access. These passwords are stored in password files. Remote connections via Net8 are classified as non-secure. Look at this example:
connect sys/password as sysdba

How does one create a password file? (for DBA )
The Oracle Password File ($ORACLE_HOME/dbs/orapw or orapwSID) stores passwords for users with administrative privileges. One needs to create a password files before remote administrators (like OEM) will be allowed to connect.
Follow this procedure to create a new password file:
. Log in as the Oracle software owner
. Runcommand: orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=mypasswd
. Shutdown the database (SQLPLUS> SHUTDOWN IMMEDIATE)
. Edit the INIT.ORA file and ensure REMOTE_LOGIN_PASSWORDFILE=exclusive is set.
. Startup the database (SQLPLUS> STARTUP)
NOTE: The orapwd utility presents a security risk in that it receives a password from the command line. This password is visible in the process table of many systems. Administrators needs to be aware of this!

Is it possible to modify an external query in a report which contains it?
No.

Does a grouping done for objects in the layout editor affect the grouping done in the data model editor?
No.

How does one add users to a password file? (for DBA )
One can select from the SYS.V_$PWFILE_USERS view to see which users are listed in the password file. New users can be added to the password file by granting them SYSDBA or SYSOPER privileges, or by using the orapwd utility. GRANT SYSDBA TO scott;

If a break order is set on a column would it affect columns which are under the column?
No

Why are OPS$ accounts a security risk in a client/server environment? (for DBA)
If you allow people to log in with OPS$ accounts from Windows Workstations, you cannot be sure who they really are. With terminals, you can rely on operating system passwords, with Windows, you cannot.
If you set REMOTE_OS_AUTHENT=TRUE in your init.ora file, Oracle assumes that the remote OS has authenticated the user. If REMOTE_OS_AUTHENT is set to FALSE (recommended), remote users will be unable to connect without a password. IDENTIFIED EXTERNALLY will only be in effect from the local host. Also, if you are using "OPS$" as your prefix, you will be able to log on locally with or without a password, regardless of whether you have identified your ID with a password or defined it to be IDENTIFIED EXTERNALLY.

Do user parameters appear in the data modal editor in 2.5?
No

Can you pass data parameters to forms?
No

Is it possible to link two groups inside a cross products after the cross products group has been created?
no

What are the different modals of windows?
Modalless windows
Modal windows

What are modal windows?
Modal windows are usually used as dialogs, and have restricted functionality compared to modelless windows. On some platforms for example operators cannot resize, scroll or iconify a modal window.

What are the different default triggers created when Master Deletes Property is set to Non-isolated?
Master Deletes Property Resulting Triggers
----------------------------------------------------
Non-Isolated(the default) On-Check-Delete-Master
On-Clear-Details
On-Populate-Details

What are the different default triggers created when Master Deletes Property is set to isolated?
Master Deletes Property Resulting Triggers
----------------------------------------------------
Isolated On-Clear-Details
On-Populate-Details

What are the different default triggers created when Master Deletes Property is set to Cascade?
Master Deletes Property Resulting Triggers
----------------------------------------------------
Cascading On-Clear-Details
On-Populate-Details
Pre-delete

What is the diff. bet. setting up of parameters in reports 2.0 reports2.5?
LOVs can be attached to parameters in the reports 2.5 parameter form.

What are the difference between lov & list item?
Lov is a property where as list item is an item. A list item can have only one column, lov can have one or more columns.

What is the advantage of the library?
Libraries provide a convenient means of storing client-side program units and sharing them among multiple applications. Once you create a library, you can attach it to any other form, menu, or library modules. When you can call library program units from triggers menu items commands and user named routine, you write in the modules to which you have attach the library. When a library attaches another library, program units in the first library can reference program units in the attached library. Library support dynamic loading-that is library program units are loaded into an application only when needed. This can significantly reduce the run-time memory requirements of applications.

What is lexical reference? How can it be created?
Lexical reference is place_holder for text that can be embedded in a sql statements. A lexical reference can be created using & before the column or parameter name.

What is system.coordination_operation?
It represents the coordination causing event that occur on the master block in master-detail relation.

What is synchronize?
It is a terminal screen with the internal state of the form. It updates the screen display to reflect the information that oracle forms has in its internal representation of the screen.

What use of command line parameter cmd file?
It is a command line argument that allows you to specify a file that contain a set of arguments for r20run.

What is a Text_io Package?
It allows you to read and write information to a file in the file system.

What is forms_DDL?
Issues dynamic Sql statements at run time, including server side pl/SQl and DDL

How is link tool operation different bet. reports 2 & 2.5?
In Reports 2.0 the link tool has to be selected and then two fields to be linked are selected and the link is automatically created. In 2.5 the first field is selected and the link tool is then used to link the first field to the second field.

What are the different styles of activation of ole Objects?
In place activationExternal activation

How do you reference a Parameter?
In Pl/Sql, You can reference and set the values of form parameters using bind variables syntax. Ex. PARAMETER name = '' or :block.item = PARAMETER Parameter name

What is the difference between object embedding & linking in Oracle forms?
In Oracle forms, Embedded objects become part of the form module, and linked objects are references from a form module to a linked source file.

Name of the functions used to get/set canvas properties?
Get_view_property, Set_view_property

What are the built-ins that are used for setting the LOV properties at runtime?
get_lov_property
set_lov_property

What are the built-ins used for processing rows?
Get_group_row_count(function)
Get_group_selection_count(function)
Get_group_selection(function)
Reset_group_selection(procedure)
Set_group_selection(procedure)
Unset_group_selection(procedure)

What are built-ins used for Processing rows?
GET_GROUP_ROW_COUNT(function)
GET_GROUP_SELECTION_COUNT(function)
GET_GROUP_SELECTION(function)
RESET_GROUP_SELECTION(procedure)
SET_GROUP_SELECTION(procedure)
UNSET_GROUP_SELECTION(procedure)

What are the built-in used for getting cell values?
Get_group_char_cell(function)
Get_groupcell(function)
Get_group_number_cell(function)

What are the built-ins used for Getting cell values?
GET_GROUP_CHAR_CELL (function)
GET_GROUPCELL(function)
GET_GROUP_NUMBET_CELL(function)

Atleast how many set of data must a data model have before a data model can be base on it?
Four

To execute row from being displayed that still use column in the row which property can be used?
Format trigger.

What are different types of modules available in oracle form?
Form module - a collection of objects and code routines Menu modules - a collection of menus and menu item commands that together make up an application menu library module - a collection of user named procedures, functions and packages that can be called from other modules in the application

What is the remove on exit property?
For a modelless window, it determines whether oracle forms hides the window automatically when the operators navigates to an item in the another window.

What is WHEN-Database-record trigger?
Fires when oracle forms first marks a record as an insert or an update. The trigger fires as soon as oracle forms determines through validation that the record should be processed by the next post or commit as an insert or update. c generally occurs only when the operators modifies the first item in the record, and after the operator attempts to navigate out of the item.

What is a difference between pre-select and pre-query?
Fires during the execute query and count query processing after oracle forms constructs the select statement to be issued, but before the statement is actually issued. The pre-query trigger fires just before oracle forms issues the select statement to the database after the operator as define the example records by entering the query criteria in enter query mode.Pre-query trigger fires before pre-select trigger.

What are built-ins associated with timers?
find_timercreate_timerdelete_timer

What are the built-ins used for finding object ID functions?
Find_group(function)
Find_column(function)

What are the built-ins used for finding Object ID function?
FIND_GROUP(function)
FIND_COLUMN(function)

Any attempt to navigate programmatically to disabled form in a call_form stack is allowed?
False

Use the Add_group_row procedure to add a row to a static record group 1. true or false?
False

What third party tools can be used with Oracle EBU/ RMAN? (for DBA)
The following Media Management Software Vendors have integrated their media management software packages with Oracle Recovery Manager and Oracle7 Enterprise Backup Utility. The Media Management Vendors will provide first line technical support for the integrated backup/recover solutions.
Veritas NetBackup
EMC Data Manager (EDM)
HP OMNIBack II
IBM's Tivoli Storage Manager - formerly ADSM
Legato Networker
ManageIT Backup and Recovery
Sterling Software's SAMS:Alexandria - formerly from Spectralogic
Sun Solstice Backup

Why and when should one tune? (for DBA)
One of the biggest responsibilities of a DBA is to ensure that the Oracle database is tuned properly. The Oracle RDBMS is highly tunable and allows the database to be monitored and adjusted to increase its performance. One should do performance tuning for the following reasons:
The speed of computing might be wasting valuable human time (users waiting for response); Enable your system to keep-up with the speed business is conducted; and Optimize hardware usage to save money (companies are spending millions on hardware). Although this FAQ is not overly concerned with hardware issues, one needs to remember than you cannot tune a Buick into a Ferrari.

How can a break order be created on a column in an existing group? What are the various sub events a mouse double click event involves?
By dragging the column outside the group.

What is the use of place holder column? What are the various sub events a mouse double click event involves?
A placeholder column is used to hold calculated values at a specified place rather than allowing is to appear in the actual row where it has to appear.

What is the use of hidden column? What are the various sub events a mouse double click event involves?
A hidden column is used to when a column has to embed into boilerplate text.

What database aspects should be monitored? (for DBA)
One should implement a monitoring system to constantly monitor the following aspects of a database. Writing custom scripts, implementing Oracle's Enterprise Manager, or buying a third-party monitoring product can achieve this. If an alarm is triggered, the system should automatically notify the DBA (e-mail, page, etc.) to take appropriate action.
Infrastructure availability:
. Is the database up and responding to requests
. Are the listeners up and responding to requests
. Are the Oracle Names and LDAP Servers up and responding to requests
. Are the Web Listeners up and responding to requests

Things that can cause service outages:
. Is the archive log destination filling up?
. Objects getting close to their max extents
. User and process limits reached

Things that can cause bad performance:
See question "What tuning indicators can one use?".

Where should the tuning effort be directed? (for DBA)
Consider the following areas for tuning. The order in which steps are listed needs to be maintained to prevent tuning side effects. For example, it is no good increasing the buffer cache if you can reduce I/O by rewriting a SQL statement. Database Design (if it's not too late):
Poor system performance usually results from a poor database design. One should generally normalize to the 3NF. Selective denormalization can provide valuable performance improvements. When designing, always keep the "data access path" in mind. Also look at proper data partitioning, data replication, aggregation tables for decision support systems, etc.
Application Tuning:
Experience showed that approximately 80% of all Oracle system performance problems are resolved by coding optimal SQL. Also consider proper scheduling of batch tasks after peak working hours.
Memory Tuning:
Properly size your database buffers (shared pool, buffer cache, log buffer, etc) by looking at your buffer hit ratios. Pin large objects into memory to prevent frequent reloads.
Disk I/O Tuning:
Database files needs to be properly sized and placed to provide maximum disk subsystem throughput. Also look for frequent disk sorts, full table scans, missing indexes, row chaining, data fragmentation, etc
Eliminate Database Contention:
Study database locks, latches and wait events carefully and eliminate where possible. Tune the Operating System:
Monitor and tune operating system CPU, I/O and memory utilization. For more information, read the related Oracle FAQ dealing with your specific operating system.

What are the various sub events a mouse double click event involves? What are the various sub events a mouse double click event involves?
Double clicking the mouse consists of the mouse down, mouse up, mouse click, mouse down & mouse up events.

What are the default parameter that appear at run time in the parameter screen? What are the various sub events a mouse double click event involves?
Destype and Desname.

What are the built-ins used for Creating and deleting groups?
CREATE-GROUP (function)
CREATE_GROUP_FROM_QUERY(function)
DELETE_GROUP(procedure)

What are different types of canvas views?
Content canvas views
Stacked canvas views
Horizontal toolbar
vertical toolbar.

What are the different types of Delete details we can establish in Master-Details?
Cascade
Isolate
Non-isolate

What is relation between the window and canvas views?
Canvas views are the back ground objects on which you place the interface items (Text items), check boxes, radio groups etc.,) and boilerplate objects (boxes, lines, images etc.,) that operators interact with us they run your form . Each canvas views displayed in a window.

What is a User_exit?
Calls the user exit named in the user_exit_string. Invokes a 3Gl program by name which has been properly linked into your current oracle forms executable.

How is it possible to select generate a select set for the query in the query property sheet?
By using the tables/columns button and then specifying the table and the column names.

How can values be passed bet. precompiler exits & Oracle call interface?
By using the statement EXECIAFGET & EXECIAFPUT.

How can a square be drawn in the layout editor of the report writer?
By using the rectangle tool while pressing the (Constraint) key.

How can a text file be attached to a report while creating in the report writer?
By using the link file property in the layout boiler plate property sheet.

How can I message to passed to the user from reports?
By using SRW.MESSAGE function.

Does one need to drop/ truncate objects before importing? (for DBA)
Before one import rows into already populated tables, one needs to truncate or drop these tables to get rid of the old data. If not, the new data will be appended to the existing tables. One must always DROP existing Sequences before re-importing. If the sequences are not dropped, they will generate numbers inconsistent with the rest of the database. Note: It is also advisable to drop indexes before importing to speed up the import process. Indexes can easily be recreated after the data was successfully imported.

How can a button be used in a report to give a drill down facility?
By setting the action associated with button to Execute pl/sql option and using the SRW.Run_report function.

Can one import/export between different versions of Oracle? (for DBA)
Different versions of the import utility is upwards compatible. This means that one can take an export file created from an old export version, and import it using a later version of the import utility. This is quite an effective way of upgrading a database from one release of Oracle to the next.
Oracle also ships some previous catexpX.sql scripts that can be executed as user SYS enabling older imp/exp versions to work (for backwards compatibility). For example, one can run $ORACLE_HOME/rdbms/admin/catexp7.sql on an Oracle 8 database to allow the Oracle 7.3 exp/imp utilities to run against an Oracle 8 database.

What are different types of images?
Boiler plate imagesImage Items

Can one export to multiple files?/ Can one beat the Unix 2 Gig limit? (for DBA)
From Oracle8i, the export utility supports multiple output files. This feature enables large exports to be divided into files whose sizes will not exceed any operating system limits (FILESIZE= parameter). When importing from multi-file export you must provide the same filenames in the same sequence in the FILE= parameter. Look at this example:
exp SCOTT/TIGER FILE=D:\F1.dmp,E:\F2.dmp FILESIZE=10m LOG=scott.log
Use the following technique if you use an Oracle version prior to 8i:
Create a compressed export on the fly. Depending on the type of data, you probably can export up to 10 gigabytes to a single file. This example uses gzip. It offers the best compression I know of, but you can also substitute it with zip, compress or whatever.
# create a named pipe
mknod exp.pipe p
# read the pipe - output to zip file in the background
gzip <> scott.exp.gz &
# feed the pipe
exp userid=scott/tiger file=exp.pipe ...

What is bind reference and how can it be created?
Bind reference are used to replace the single value in sql, pl/sql statements a bind reference can be created using a (:) before a column or a parameter name.

How can one improve Import/ Export performance? (for DBA)
EXPORT:

. Set the BUFFER parameter to a high value (e.g. 2M)
. Set the RECORDLENGTH parameter to a high value (e.g. 64K)
. Stop unnecessary applications to free-up resources for your job.
. If you run multiple export sessions, ensure they write to different physical disks.
. DO NOT export to an NFS mounted filesystem. It will take forever.
IMPORT:

. Create an indexfile so that you can create indexes AFTER you have imported data. Do this by setting INDEXFILE to a filename and then import. No data will be imported but a file containing index definitions will be created. You must edit this file afterwards and supply the passwords for the schemas on all CONNECT statements.
. Place the file to be imported on a separate physical disk from the oracle data files
. Increase DB_CACHE_SIZE (DB_BLOCK_BUFFERS prior to 9i) considerably in the init$SID.ora file
. Set the LOG_BUFFER to a big value and restart oracle.
. Stop redo log archiving if it is running (ALTER DATABASE NOARCHIVELOG;)
. Create a BIG tablespace with a BIG rollback segment inside. Set all other rollback segments offline (except the SYSTEM rollback segment of course). The rollback segment must be as big as your biggest table (I think?)
. Use COMMIT=N in the import parameter file if you can afford it
. Use ANALYZE=N in the import parameter file to avoid time consuming ANALYZE statements
. Remember to run the indexfile previously created

Give the sequence of execution of the various report triggers?
Before form , After form , Before report, Between page, After report.

What are the common Import/ Export problems? (for DBA )
ORA-00001: Unique constraint (...) violated - You are importing duplicate rows. Use IGNORE=NO to skip tables that already exist (imp will give an error if the object is re-created).
ORA-01555: Snapshot too old - Ask your users to STOP working while you are exporting or use parameter CONSISTENT=NO
ORA-01562: Failed to extend rollback segment - Create bigger rollback segments or set parameter COMMIT=Y while importing
IMP-00015: Statement failed ... object already exists... - Use the IGNORE=Y import parameter to ignore these errors, but be careful as you might end up with duplicate rows.

Oracle Account Payables Interview Questions

1. Describe the Payment Terms and Discounts?

In the Payment Terms window, you define payment terms that you can assign to an invoice to automatically create scheduled payments when you submit Approval for the invoice. You can define payment terms to create multiple scheduled payment lines and multiple levels of discounts. You can create an unlimited number of payment terms.
Payment terms have one or more payment terms lines, each of which creates one scheduled payment. Each payment terms line and each corresponding scheduled payment has a due date or a discount date based on one of the following:
o a specific day of a month, such as the 15th of the month
o a specific date, for example, March 15, 2002.
o a number of days added to your terms date, such as 14 days after the terms date
o a special calendar that specifies a due date for the period that includes the invoice terms date. Only due dates can be based on a special calendar. Discount dates cannot be based on a special calendar.
Each payment terms line also defines the due or discount amount on a scheduled payment. When you define payment terms you specify payment amounts either by percentages or by fixed amounts.After you define your payment terms, in the Payables Options window you can select default payment terms that Payables automatically assigns to the suppliers and supplier sites you enter. The payment terms for a supplier site default to the invoices you enter for the site.The Payment Terms Which tells us The Installments of a Purchased Goods Are Services. And the Discount is it will depends upon the Discount dates.

2. A Vendor must compulsory have what?
Primary Address

3. Is there any chance to create Vendor only once? If Where should you create?
Yes, Enable the check box in the Vendor Classification Screen

4. Can you create a Duplicate Vendor, If Give the Details?
No

5. Vendor Number Should be Generate Automatic or Manually?
Both, Manual And Automatic

6. How many Types of Invoices we can create in Oracle Payables Describe?

A. Standard, (Quick Match & PO defaults are the type of STD Inv)
B. Debit Memo,
C. Credit Memo,
D. Pre-Payment,
E. Expense Report
F. Withholding Tax Invoice
G. Miscellaneous Invoice

7. Describe the 4-Way Matching?

2 – Way Matching: The Invoice Amount Should match with Po, (Invoice with PO)
3 – Way Matching: The Receipts Should match with Invoice, (Invoice, PO with Receipts)
4 – Way Match: The Goods Should match with Inspection/Accepted (Invoice, PO, Inspections &
Receipts)

8. How many Holds we have? Describe Each in one line?
System Holds: Tax, Quantity Match, Po amount with Invoice Amount
Manual Holds: Invoice Limit, Hold on Invoice

9. Can you Release Manual Holds? If Yes, How?

Holds – Release Holds

10. How many ways you can pay the Invoice Amount describe?

Apply in Full,
Schedule Payments,
Installments

11. Can you cancel an Invoice? How?

Yes, Actions1 – Cancel Invoice

12. The Debit Memo & Credit Memo are same? Describe?
Debit Memo will raise the Customer,
Credit Memo will raise the Vendor

13. How can you match PO with Invoice? What you should not take in the Invoice?
Match/Po Number,Distribution Set should not be taken care at this point. When you enter an invoice and match it to a purchase order, Payables automatically creates distributions for you and checks that your match is within the tolerance you define. After you save the match, Payables updates the quantity billed for each matched shipment and its corresponding distribution(s) by the amount you enter in the Quantity Invoiced field. Payables also updates the amount billed on the purchase order distribution(s).

14. What you should take care When you Match Debit/Credit Memo with an Invoice?
The Invoice Should match with Po. When you enter a credit/debit memo, you can match it to existing invoice(s) to have Payables automatically copy the accounting information and create invoice distributions for the credit/debit memo. You can match the credit memo to multiple invoices, and at different levels of detail. Your available choices depend on whether the originating invoice was matched to a purchase order or not.

For example, if you receive a credit for items you returned to a supplier, you can enter a credit memo and match it to the original invoice you entered to ensure that the credit memo distributes the credit to the same accounts originally charged.

If the original invoice is not purchase order matched (basic invoice), you can:

o Match to an invoice. Payables prorates your credit amount based on the invoice distribution amounts of the original invoice. Payables automatically creates invoice distributions for the credit/debit memo based on the distributions of the original invoice.
o Match to specific invoice distributions. You can allocate the credit amount to specific invoice distributions of the original invoice. Payables automatically creates invoice distributions for the credit/debit memo based on the original invoice distribution that you select. For example, you may order three chairs for three different departments and return one. You can match a credit/debit invoice to the original distribution for that department to ensure that the credit matches the charge.
If the original invoice is purchase order matched, you can:
o Match to specific invoice distributions. You can allocate the credit amount to specific invoice distributions of the original invoice. Payables automatically creates invoice distributions for the credit/debit memo based on the original invoice distributions that you select.
Payables updates the quantity billed for each of the originally matched purchase order shipments and their corresponding distributions by the credit quantity you enter. Payables also updates the amount billed on the purchase order distributions.
o Match to purchase order shipments. Payables prorates, based on the quantity billed, your credit amount across all purchase order distributions associated with the purchase order shipment to which you match the credit/debit memo. Payables automatically creates invoice distributions for the credit/debit memo based on the purchase order distributions associated with the purchase order shipment you match to.
Payables updates the quantity billed for each purchase order shipment and its corresponding distributions by the amount of the credit/debit memo. Payables also updates the amount billed on the originally matched purchase order distributions.
o Record a Price Correction. Use a price correction when a supplier sends an invoice for a change in unit price for an invoice you have matched to a purchase order. You can record a price correction by checking Price Correction when you match a credit/debit memo to a purchase order shipment or purchase order matched invoice distribution. When you record a price correction for a credit/debit memo, you are recording a price decrease from the original invoice.

Payables updates the invoiced unit price of previously matched purchase order shipment or distributions without adjusting the quantity billed so you can track price variances; Payables also updates the amount billed on the originally matched purchase order distributions.

To match a credit /debit memo to an invoice, invoice distribution, or a purchase order shipment:

1. Enter a Credit Memo or Debit Memo type invoice.
Enter a negative invoice amount and all basic invoice information but do not manually enter the distributions.
2. Choose the Match button. In the Find Invoices to Match window, query the invoices you want to match and choose Find. If the credit/debit memo pertains to an invoice matched to a certain purchase order, query by purchase order number to see all invoices matched to that purchase order. Payables navigates to the Match to Invoice window.
Optionally choose the Invoice Overview button to review more information about an invoice.
3. Create invoice distributions by matching to one or more invoices. If you are matching to a non-purchase order matched (basic) invoice, select the invoice and enter a Credit Amount.

If you want to match in further detail, continue the match at the invoice distribution or purchase order shipment level:

o To match to invoice distributions, choose Distribute. For each invoice distribution you want to match to, select the distribution and enter a Credit Amount.
o To match to purchase order shipments, choose Match PO. For each shipment you want to match to, select the shipment and enter either a Quantity Invoiced or Match Amount. Payables automatically calculates the remaining field (Quantity Invoiced x Unit Price = Match Amount). You can optionally change the Unit Price, which defaults from the purchase order.

4. Choose Match to create invoice distributions for the credit/debit memo based on the matches you made.
To review the new invoice distributions, choose the Distributions button from the Invoices Summary.

15. How Will you group a similar type of Items?
Items List

16. How many Payment Types U have?
Quick, Manual, Refund – for refunding an amt

17. How will the system calculate the Discount?
Discount date. Invoice payments terms where we have to define the discount rates & dates- 1st discount, 2nd discount & 3rd discount

In the Payment Terms window, you define payment terms that you can assign to an invoice to automatically create scheduled payments when you submit Approval for the invoice. You can define payment terms to create multiple scheduled payment lines and multiple levels of discounts. You can create an unlimited number of payment terms.

Payment terms have one or more payment terms lines, each of which creates one scheduled payment. Each payment terms line and each corresponding scheduled payment has a due date or a discount date based on either a specific day of a month, such as the 15th of the month, or a number of days added to your terms date, such as 14 days after the terms date.

Each payment terms line also defines the due or discount amount on a scheduled payment. When you define Payment Terms you specify payment amounts either by percentages or by fixed amounts. Payables provides a predefined, unalterable payment term, called Prepayment Immediate, which Payables automatically assigns to all prepayments you enter. After you define your payment terms, you can select default system payment terms that Payables automatically assigns to the suppliers and supplier sites you enter. The payment terms for a supplier site default to the invoices you enter for the site.

Attention: If you update the payment terms on an invoice, Payables recalculates the scheduled payment for the invoice. Thus, you must reenter any manual adjustments you made to the previous scheduled payment. For example, if you updated the payment priority on a particular scheduled payment and then changed the payment terms, Payables would recalculate the scheduled payment using the same payment priority defaults as before and you would need to redo your updates.

To define payment terms:

1. In the Payment Terms window, enter a unique Payment Term name and a description which will appear on a list of values whenever you select payment terms.
For detailed information on any field.
If you are entering Day of Month terms, enter a Cutoff Day.
If you enable Automatic Interest, enter a unique value in the Rank field.
If you want to invalidate this payment term after a certain date, enter that date in the Effective Date/To field.
2. Enter each payment terms line.
Enter one of the following to determine the portion of an invoice due on the scheduled payment:
o % Due.
o Amount.
In the Due region, enter one of the following to determine the due date on the scheduled payment line:
o Fixed Date
o Days
o Day of Month, and Months Ahead.
3. If you are using discount terms, define payment terms lines in the First, Second, and Third Discount regions. Define your discounts so that the first discount has an earlier discount date than the second and so on. You can realize only one discount on a payment terms line.
Enter one of the following to determine the portion of the invoice to discount on the scheduled payment:
o % Discount.
o Amount.
In the Discount region, enter the discount percent.
Enter one of the following to determine the due date on the scheduled payment line:
o Due Days
o Day of Month, and Months Ahead.
4. Save your work.

18. What is a Distribution Set?
The Components of the Invoice like COGS, Freight, Tax...
You can use a Distribution Set to automatically enter distributions for an invoice when you are not matching it to a purchase order. For example, you can create for an advertising supplier a Distribution Set that allocates advertising expense on an invoice to four advertising departments. You can assign a default Distribution Set to a supplier site so Payables will use it for every invoice you enter for that supplier site. If you do not assign a default Distribution Set to a supplier site, you can always assign a Distribution Set to an invoice when you enter it.

Use Full Distribution Sets to create distributions with set percentage amounts, or use Skeleton Distribution Sets to create distributions with no set distribution amounts. For example, a Full Distribution Set for a rent invoice assigns 70% of the invoice amount to the Sales facility expense account and 30% to the Administration facility expense account. A Skeleton Distribution Set for the same invoice would create one distribution for the Sales facility expense account and one distribution for the Administration facility expense account, leaving the amounts zero. You could then enter amounts during invoice entry depending on variables such as that month's headcount for each group.If you enable and use a descriptive flexfield with your distribution set lines, the data in the flexfield will be copied to the invoice distributions created by the Distribution Set.

Note: Taxable distributions created by distribution sets are always inclusive of tax when you use Automatic Tax Calculation even if you have not checked the Includes Tax check box at the supplier site.

Creating Distribution Sets

To create a Full Distribution Set:
1. In the Distribution Sets window, enter the Name and Description of the Distribution Set you are creating.
2. Enter the Account and Description for each distribution and enter the Percentage of the invoice amount that you want to distribute to the Account. You can enter positive and negative percentages. Create as many distributions as you need. The sum of the distribution percentages must equal 100 or 0.
If you are creating a Distribution Set for a federally reportable supplier, optionally enter an Income Tax Type.
Optionally enter an Invoice Tax Code. The Tax Code will default based on the Tax Code Defaults hierarchy you defined in the Payables Options window. If the source Payables uses is Template, then Payables uses the value from the Distribution Set, even if the value is null.
3. Save your work. Payables automatically assigns type Full to your Distribution Set.

To create a Skeleton Distribution Set:
1. In the Distribution Sets window enter the Name and Description of the Distribution Set you are creating.
Attention: If you create a skeleton Distribution Set, include skeleton in the name to remind you to enter the line amounts.
2. Enter the Account and Description for each distribution and leave the Percentage at zero. Create as many distributions as you need.
If you are creating a Distribution Set for a federally reportable supplier, optionally enter an Income Tax Type.
3. Save your work. Payables automatically assigns type Skeleton to your Distribution Set.

19. What is a Prepayment? Describe? How many we have?
Pay a prepayment just as you would any other invoice. However, you cannot partially pay a prepayment; you must fully pay it. You must fully pay a prepayment before you can apply the prepayment to an invoice. You can enter a Prepayment type invoice only in the Invoices window. You cannot enter a Prepayment type invoice in the Invoice Gateway The Advance Amount, Vendor, Employee

Select a Prepayment Type:
o Temporary. You can apply this prepayment to invoices after you approve and pay it.
o Permanent. You cannot apply this prepayment to invoices.

20. How will the Endures knows on a Particular Supplier How many prepayments have Describe?
The Invoice screen after selecting the Vendor Name

21. How will you apply the Prepayment?
Actions1 – Apply / Unapply Prepayment

22. Can you pay unapproved Invoice Amount, if yes How?
No, You have to Approve it then only U can Pay

23. What is Expense Report? and Template?
The Template is the Expense Items on an Employee, the Expense Report gives the Anticipated Expenses of an Employee in Your Organization.Use the expense reports window in Payables to enter expense reports for your employees. You can also use this window to review and modify expense reports that you entered in the Expense Reports window, that your organization's employees entered in Oracle Web Employees, or that you have transferred from Projects. You can apply advances to expense reports to reduce the amount you pay. You can also apply a hold to an expense report to prevent payment. Before you can pay expense reports you must submit the Payables Invoice Import program to have Payables automatically create invoices from the expense reports. You can then create journal entries for posting to your general ledger.

The following are the steps you follow to process an expense report:

1. Enter employees, their locations, and their expense addresses in the Enter Person window.
2. Define the employee as a supplier using either of the following methods:
o Enable the Create Employee As Supplier Payables option to automatically create suppliers from employees when you submit Payables Invoice Import
o Enter the employee as a supplier in the Suppliers window before submitting Payables Invoice Import for expense reports.
3. Define expense report templates that model the different expense report formats you receive.
4. Enter expense reports.
5. Submit Payables Invoice Import to create invoices and invoice distributions for the expense reports. Review the Invoice Import reports, then correct any expense reports that caused exceptions and resubmit Payables Invoice Import.
6. Pay the invoices.

24. What are the 2 important points you should take, when You are raising a Expense Report of Invoice?
One is In the Vendor Screen You have to take Type is "Employee",
The second one is In the Prepayment Invoice the settlement Date You should take care

25. Can U allow Zero Payments? If yes, How?
Yes, if you enabled the Allow Zero Payments Check box in the Bank Screen the Payments Options

26. Can U pay Debit & Credit Memos Amount?
No

27. Can U Enter Backdated Recurring Invoices? If how?
No

28. What is the Prerequisite for Recurring Invoices?
Special Calendar

29. How many sites exists for payment of invoices to employees?
Home, Office

30. How will you transfer The payable data to GL? What is the Interface Name?
Payables Transfers to GL, It is Feeder System Interface

31. Oracle Payables does not allow entry of invoices if the period status is ______
CLOSED

How do you connect to a MySql Database using JDBC?

Here is a code snippet for that.The important thing here is to ensure that you have added MySql database driver classes(mysql.jar) in your classpath. Here goes the code snippet:

import java.sql.*;

public class MySqlConnect {


public static void main (String[] args)
{
Connection connection = null;

try
{
String userName = "root";
String password = "bunty";
String url = "jdbc:mysql://localhost:3306/systdb";

Class.forName ("com.mysql.jdbc.Driver").newInstance ();

connection = DriverManager.getConnection (url, userName, password);
System.out.println ("Database connection established");
}
catch (Exception e)
{
System.err.println ("Connection to database server cannot be establish");
}
finally
{
if (connection != null)
{
try
{
connection.close ();
System.out.println ("Database connection terminated");
}
catch (Exception e) { System.out.println ("These connection errors can be ignored."); }
}
}
}
}

Interview Questions On JMS

What is messaging and how is it different from RMI?

Messaging occurs between applications or software components which may or may not be distributive in nature.In enterprise applications where the possibility of distributed components across the geographies are too high, messaging comes as an obvious choice to make them communicate with each other.

In Java , middleware(which acts as an infrastructural support for messaging) level messaging is supported with Java Message Service(JMS) APIs.JMS is a specification (java.sun.com/products/jms ) that describes the properties and behavior of an information pipe for Java software. It also describes how Java client applications interact with the information pipe.

JMS helps business applications asynchronously send and receive critical business data and events.It supports both message queueing and publish-subscribe styles of messaging.

The constituents of JMS are producers,consumers and messages themselves through interfaces' abstraction.The beauty lies here in loose coupling and infact message broker systems need not go in details of message-contents, they just have to deliver them between systems reliably.There is not dependency on APIs of systems involved in message communications.

In case of RMI, the message passing is tightly coupled with APIs of remote application or component.That is what makes JMS as an obvious choice in enterprise applications for reliable messaging.



When is JMS needed?

JMS can be used in following scenarios:

- When distributed components,applications within an enterprise need to communicate with one another without creating any sort of dependencies(loose coupling support by JMS).This communication could either be synchronous or asynchronous.

- When an application has to communicate with a provider without worrying its availability,.i.e. in an asynchronous way.A synchronous communication occurs when message requested is consumed immediately that means both producer and consumer are up and running at the same time while in case of asynchronous communication it is not necessary to have both entities available at the same time. An application may like to send a message to other without waiting for response and keep on doing its job.


How Does the JMS API Work with the Java EE Platform?

The JMS API in the Java EE platform has the following features.

* Application clients, Enterprise JavaBeans (EJB) components, and web components can send or synchronously receive a JMS message. Application clients can in addition receive JMS messages asynchronously. (Applets, however, are not required to support the JMS API.)
* Message-driven beans, which are a kind of enterprise bean, enable the asynchronous consumption of messages. A JMS provider can optionally implement concurrent processing of messages by message-driven beans.
* Message send and receive operations can participate in distributed transactions, which allow JMS operations and database accesses to take place within a single transaction.

The JMS API enhances the Java EE platform by

-allowing loosely coupled, reliable, asynchronous interactions among Java EE components and legacy systems capable of messaging.

-supporting distributed transactions and allowing for the concurrent consumption of messages. For more information, see the Enterprise JavaBeans specification, v3.0.

Moreover, a JMS provider can be integrated with the application server using the Java EE Connector architecture. You access the JMS provider through a resource adapter. This capability allows vendors to create JMS providers that can be plugged in to multiple application servers, and it allows application servers to support multiple JMS providers.



Explain JMS API Architecture.

A JMS application is consisted of the following parts as shown in the figure at the end of this post:

-JMS Provider is a messaging system that implements the JMS interfaces and provides administrative and control features.
-JMS Clients are any Java EE application component except Applets.
-Messages are objects that exchange information between JMS clients.
-Administrative objects are preconfigured JMS objects created by an administrator for the use of clients.

Administrative tools bind destinations and connection factories into a JNDI namespace. A JMS client can then use resource injection to access the administered objects in the namespace and then establish a logical connection to the same objects through the JMS provider.


Explain Point-to-Point Messaging Domain.

The constituents of a point-to-point (PTP) product or application are message queues, senders, and receivers. Each message is addressed to a specific queue, and receiving clients extract messages from specific queue(s) . Queues retain all messages sent to them until the messages are consumed or until the messages expire.

So in PTP messaging domain:-
# Each message has only one consumer.
# There are no timing dependencies on a sender and a receiver of a message . The receiver can fetch the message oblivious of its availability when the client sent the message.
# The receiver acknowledges the successful processing of a message.

PTP messaging is used when every message sent must be processed successfully by one consumer.


Explain Publish/Subscribe Messaging Domain.

In a publish/subscribe (pub/sub) product or application, clients(publishers as well as subscribers) address messages to a topic, which functions similar to a bulletin board. Both publishers and subscribers are generally anonymous and can dynamically publish or subscribe to the content hierarchy. The system takes care of distributing the messages arriving from a topic's multiple publishers to its multiple subscribers. Topics retain messages only as long as it takes to distribute them to current subscribers.

Pub/sub messaging has the following characteristics.

* Each message can have multiple consumers.
* Publishers and subscribers have a timing dependency. A client that subscribes to a topic can consume only messages published after the client has created a subscription, and the subscriber must continue to be active in order for it to consume messages.

Interview Questions On JMS

What is messaging and how is it different from RMI?

Messaging occurs between applications or software components which may or may not be distributive in nature.In enterprise applications where the possibility of distributed components across the geographies are too high, messaging comes as an obvious choice to make them communicate with each other.

In Java , middleware(which acts as an infrastructural support for messaging) level messaging is supported with Java Message Service(JMS) APIs.JMS is a specification (java.sun.com/products/jms ) that describes the properties and behavior of an information pipe for Java software. It also describes how Java client applications interact with the information pipe.

JMS helps business applications asynchronously send and receive critical business data and events.It supports both message queueing and publish-subscribe styles of messaging.

The constituents of JMS are producers,consumers and messages themselves through interfaces' abstraction.The beauty lies here in loose coupling and infact message broker systems need not go in details of message-contents, they just have to deliver them between systems reliably.There is not dependency on APIs of systems involved in message communications.

In case of RMI, the message passing is tightly coupled with APIs of remote application or component.That is what makes JMS as an obvious choice in enterprise applications for reliable messaging.



When is JMS needed?

JMS can be used in following scenarios:

- When distributed components,applications within an enterprise need to communicate with one another without creating any sort of dependencies(loose coupling support by JMS).This communication could either be synchronous or asynchronous.

- When an application has to communicate with a provider without worrying its availability,.i.e. in an asynchronous way.A synchronous communication occurs when message requested is consumed immediately that means both producer and consumer are up and running at the same time while in case of asynchronous communication it is not necessary to have both entities available at the same time. An application may like to send a message to other without waiting for response and keep on doing its job.


How Does the JMS API Work with the Java EE Platform?

The JMS API in the Java EE platform has the following features.

* Application clients, Enterprise JavaBeans (EJB) components, and web components can send or synchronously receive a JMS message. Application clients can in addition receive JMS messages asynchronously. (Applets, however, are not required to support the JMS API.)
* Message-driven beans, which are a kind of enterprise bean, enable the asynchronous consumption of messages. A JMS provider can optionally implement concurrent processing of messages by message-driven beans.
* Message send and receive operations can participate in distributed transactions, which allow JMS operations and database accesses to take place within a single transaction.

The JMS API enhances the Java EE platform by

-allowing loosely coupled, reliable, asynchronous interactions among Java EE components and legacy systems capable of messaging.

-supporting distributed transactions and allowing for the concurrent consumption of messages. For more information, see the Enterprise JavaBeans specification, v3.0.

Moreover, a JMS provider can be integrated with the application server using the Java EE Connector architecture. You access the JMS provider through a resource adapter. This capability allows vendors to create JMS providers that can be plugged in to multiple application servers, and it allows application servers to support multiple JMS providers.



Explain JMS API Architecture.

A JMS application is consisted of the following parts as shown in the figure at the end of this post:

-JMS Provider is a messaging system that implements the JMS interfaces and provides administrative and control features.
-JMS Clients are any Java EE application component except Applets.
-Messages are objects that exchange information between JMS clients.
-Administrative objects are preconfigured JMS objects created by an administrator for the use of clients.

Administrative tools bind destinations and connection factories into a JNDI namespace. A JMS client can then use resource injection to access the administered objects in the namespace and then establish a logical connection to the same objects through the JMS provider.


Explain Point-to-Point Messaging Domain.

The constituents of a point-to-point (PTP) product or application are message queues, senders, and receivers. Each message is addressed to a specific queue, and receiving clients extract messages from specific queue(s) . Queues retain all messages sent to them until the messages are consumed or until the messages expire.

So in PTP messaging domain:-
# Each message has only one consumer.
# There are no timing dependencies on a sender and a receiver of a message . The receiver can fetch the message oblivious of its availability when the client sent the message.
# The receiver acknowledges the successful processing of a message.

PTP messaging is used when every message sent must be processed successfully by one consumer.


Explain Publish/Subscribe Messaging Domain.

In a publish/subscribe (pub/sub) product or application, clients(publishers as well as subscribers) address messages to a topic, which functions similar to a bulletin board. Both publishers and subscribers are generally anonymous and can dynamically publish or subscribe to the content hierarchy. The system takes care of distributing the messages arriving from a topic's multiple publishers to its multiple subscribers. Topics retain messages only as long as it takes to distribute them to current subscribers.

Pub/sub messaging has the following characteristics.

* Each message can have multiple consumers.
* Publishers and subscribers have a timing dependency. A client that subscribes to a topic can consume only messages published after the client has created a subscription, and the subscriber must continue to be active in order for it to consume messages.

PHP Interview questions from YAHOO

1. Which of the following will not add john to the users array?

         1. $users[] = 'john';
2. array_add($users,'john');
3. array_push($users,'john');
4. $users ||= 'john';


2. What’s the difference between sort(), assort() and ksort? Under what circumstances would you use each of these?

3. What would the following code print to the browser? Why?

      $num = 10;
function multiply(){
$num = $num * 10;
}
multiply();
echo $num;


4. What is the difference between a reference and a regular variable? How do you pass by reference & why would you want to?

5. What functions can you use to add library code to the currently running script?

6. What is the difference between foo() & @foo()?

7. How do you debug a PHP application?

8. What does === do? What’s an example of something that will give true for ‘==’, but not ‘===’?

9. How would you declare a class named “myclass” ? with no methods or properties?

10. How would you create an object, which is an instance of ‘“myclass’??

11. How do you access and set properties of a class from within the class?

12. What is the difference between include & include_once? include & require?

13. What function would you use to redirect the browser to a new page?

         1. redir()
2. header()
3. location()
4. redirect()


14. What function can you use to open a file for reading and writing?

         1. fget();
2. file_open();
3. fopen();
4. open_file();


15. What’s the difference between mysql_fetch_row() and mysql_fetch_array()?

16. What does the following code do? Explain what’s going on there.

      $date='08/26/2003';
print ereg_replace('“([0-9]+)/([0-9]+)/([0-9]+)'‚¬?,\\2/\\1/\\3,$date);


17. Given a line of text $string, how would you write a regular expression to strip all the HTML tags from it?

18. What’s the difference between the way PHP and Perl distinguish between arrays and hashes?

19. How can you get round the stateless nature of HTTP using PHP?

20. What does the GD library do?

21. Name a few ways to output (print) a block of HTML code in PHP?

22. Is PHP better than Perl? - Discuss.

I have no idea if there are different levels of PHP tests within YAHOO but this seems to be much easier level than something like the Zend Certification questions which require at times encyclopedic knowledge of the language (thank god I passed!).

If you havent had a chance to read the articles about interviewing programmers, they are here.

Most common HR Interview questions

Here is some more most common questions:

1. Tell us about yourself

2. What is your view on life: what difficulties you have and how your overcome them.

3. What you like in applying possition?

4. Why you think this job is right for you and what is your pluses in comparission to other candidates?

5. What is your positive and strong moments?

6. What is your weak points.

7. Why did you quit your previous job.

8. Why did you deside to change your job?

9. What is your other job offers?

10. How succesful were your interviews in other places?

11. Will this job affect your personal life?(different hours, travel, etc.)

12. How do you see yourself in five ten years?

13. What changes would you do in your new place?

14. Who can tell us your previous job achivements?

15. What pay you want?

16. Do you have any professional connections and how you can use them on your new place?

17. How do you improve your personal experience?

18. What do you like to do in your free time?

19. When you can start?

20. What questions do you have?

Most common HR Interview questions

Here is some more most common questions:

1. Tell us about yourself

2. What is your view on life: what difficulties you have and how your overcome them.

3. What you like in applying possition?

4. Why you think this job is right for you and what is your pluses in comparission to other candidates?

5. What is your positive and strong moments?

6. What is your weak points.

7. Why did you quit your previous job.

8. Why did you deside to change your job?

9. What is your other job offers?

10. How succesful were your interviews in other places?

11. Will this job affect your personal life?(different hours, travel, etc.)

12. How do you see yourself in five ten years?

13. What changes would you do in your new place?

14. Who can tell us your previous job achivements?

15. What pay you want?

16. Do you have any professional connections and how you can use them on your new place?

17. How do you improve your personal experience?

18. What do you like to do in your free time?

19. When you can start?

20. What questions do you have?