|
|
Software Resume Tips:
A software
resume should
clearly show a candidate's technical skills. To achieve this, add the Technical
Summary or Technical Expertise section to your resume. Further break this section
into subcategories for a quick scan of your knowledge of programs and applications.
Fortunately, software resumes have
a very simple format. The key to writing an effective resume is to put yourself
into the head of the prospective hiring manager or
human resources
recruiter.
Keep it focused
Keep a strong focus on your goals
in the field of software, incorporating parts of your background to illustrate them.
A statement of your goals is one of the clearest indicators to a prospective employer
of whether or not there might be a match.
For example include the following
that is applicable to you
-
technical certifications
-
hardware
-
operating systems
-
networking/protocols
-
programming/languages
-
Web applications
-
database applications
Highlight some of your soft skills
in a Career Summary section to add a personality to your software resume. Remember
your resume should be short enough, yet should be able to effectively showcase your
achievements. Do not make it excessively lengthy.
Technical/computer or other qualification
in an software resume should consist course content in brief, the duration, the
institute and also the result. This domain could also consist of the projects done
including platform used ( Front-end and Backend) which add a value to the
job applied for and correspondingly any
qualifications like personality development, marketing diploma or in general research
or studies being associated with.
Highlight your Accomplishments
Show how your performance resulted
favoured the company's good. Highlight your initiatives and performances that resulted
in enhanced efficiency, faster work, monetary savings, etc. Focus on your most impressive
technical projects/accomplishments.
Keywords
The keywords for any software resume
depends on your job target and experience. Specific programs and applications are
often used as keywords in case of a
technical resume.
Remember :
-
Always format your experience in order of time elapsed order (chronological) your
experience from your most recent job to the earlier jobs.
-
Avoid elementary information like hobbies and interests. Instead strengths or skills
could be furnished to give a corporate image to the Resume.
Sample Software Resume
This sample software resume will
give you a quick start on building an effective and optimized resume for your job
application. Visitors can feel free to customize and edit our sample software resume
as per their requirement for job application. We hope that our sample software resume
will go a long way in portraying your abilities and skillsets efficiently.
|
Richard Anderson
1234, West 67 Street,
Carlisle, MA 01741
,
(123)-456 7890.
Objective
An accomplished Database Administrator
with demonstrated success designing and implementing database solution that improve
business functionality. Possess diversified technical background with Enterprise
System Solution. Proven ability to implement technologies that decrease costs, increase
performance and positively affect the bottom line.
Summary of Qualifications
- Extensive experience working with
all aspects of in-house developed system.
- Polished leadership skills, with
ability to motivate teams to increase productivity.
- Expertise in full project life cycle
development for implementation and integration.
- Deep understanding of technology
with focus on delivering business solutions.
Technical Skills
Languages: C, C++, Visual Basic,
Perl, PL/SQL, COBOL, IBM Assembler, CICS, TCP/IP, MQ/Series, IMS/DC, Transact/SQL,
Windows NT 4.0 Server
Software: Oracle (6,7,8), DB2, SQL Server, Access, Brio Enterprise, D2K Tapestry,
Sybase, IMS, OEM, Oracle Financials.
Systems: Windows (95, 98, 2000, NT), UNIX, MS/DOS, Mac/OS, VAX/VMS, OS/390
Hardware: IBM RS/6000, Sun, SGI, HP, UNIX Server, Compaq, Dell, DEC Alpha, IBM Mainframe
(360, 370, 30XX, S/390)
Certification: Oracle Certified Professional, Oracle Database Administrator (Oracle
8i)
Professional Experience
Senior Database Consultant, ABC Company
Somewhere, Some State, 1998 - Present.
Oversaw design and maintenance of Database environment at Arco
Alaska
division of $50 billion Oil Exploration and Production Company. Supported distributed
Oracle database environment. Performed upgrades, patch maintenance and integration
with vendor software on
AIX, NT
and Solaris platforms. Led up to 7 team members performing Database Administration.
- Initiated utilization of Data Warehouse
ETL software during conversion of legacy data in IMS to Oracle, saving over 50%
of total project costs by reducing contract programming.
- Led design of data Warehouse for
Arco
Alaska
encompassing extraction of IBM legacy system business and engineering data into
Oracle for support purpose, which improved timeliness of reports and enhanced ability
to analyze inventory.
- Established systems to provide limited
data to vendors extranet, resulting in dramatically reduced world load on accounting
staff.
- Severed as technical project lead
for database server consolidations project, collapsing multiple database servers
to form large SMP environment, reducing costs by eliminating two DBA positions.
- Performed key role as technical
consultant during transition from IBM Mainframe to client/server model. Recommended
database, development and network software that contributed to eliminating mainframe
support structure with 20% decrease in support costs.
Database Design Analyst, XYZ Company
Somewhere, Some State, 1996 - 1998.
Developed database for $30 million Software Development Company serving insurance
industry. Provided logical and physical database design for client management software.
Performed design within IMS.DB, CISC environment.
- Implemented design enhancements
for major IMS database and initial release of Client Management System that substantially
reduced load times and online transaction response.
- Designed and deployed data migration
process for release to beta site customers, performing onsite implementation and
decreasing migration process from several weeks to 2 days.
Programmer/Analyst, LMN Company
Somewhere, Some State, 1993-1996
Designed database for $15 billion leading electronics manufacturer. Developed software
in large scale IMS DB/DC environment. Coded programs using COBOL and Assembler supporting
various business functions. Served as lead analyst for Field Service and Marketing
Support Systems.
- Enhanced networking software that
cut distributed transaction processing by more than 70%, allowing field offices
to receive critical service requests in timely manner.
- Developed IMS support software,
which reduced index build times by up to 90%, which facilitated shrinkage of database
maintenance windows to manageable levels.
- designed and built IMS database
to support migration of distributed systems to central mainframe.
Education
University of ABC, some country, some state
Bachelor of Science in Computer science
Minor in Bussiness Information Systems
|
|
| |
Human Resource
Interview Tips
The interview is an opportunity for
both, the interviewer and the candidate to market themselves. The employer is selling
the organization to you, and you are marketing your skills, knowledge, and personality
to the employer. Remember that interviews are varied and so they cannot therefore
be easily categorized.
Following are some human resource interview tips:
- Be prepared
Preparation increases confidence.
Practice with your friends or relatives. Remember that everyone who is interviewing
is not necessarily a good interviewer.
You may prepare by reviewing magazine
and newspaper articles. You may check out their web site. Read your resume before
your interview. It will keep your answers fresh.
- Location and punctuality
Find out the location of organization.
Make sure you have a map or directions as well as information of the nearest railway
station.
Arrive 5-10 minutes early. Arriving
early will give you the opportunity to read some information on the company in the
reception area.
- Be professional
Professional look always helps for
good impression. Be careful about your dressing. Be aware of the company culture
and ensure you dress to impress. Decide what you are going to wear the night before
to avoid making the wrong choices.
- Be polite
Don't interrupt to the interviewer.
Listen very carefully. Poor listening skills are responsible for the bad impression.
If the interview is being conducted
in a restaurant, mind your table manners. If the interviewers are serious and soft-spoken,
then you should be same as interviewer. Avoid loud laughter during the interviewer.
- Be positive
Keep in mind that there is only
one chance to make a first impression. Every company wants employees who are goal-oriented,
career-driven, enthusiastic and motivated. Be the employee as they want. End the
interview on a positive note. The hiring official needs to know that you are interested,
enthusiastic and excited about the position and the company.
- Be practical
If you are experienced then the
interviewer already knows your current salary and benefits package. When the topic
of salary comes up state that you know they will make a fair offer.
If you are offered the position
during the interviewing process and you want the job then accept it. If the offer
is not acceptable for any reason, ask for time to consider the offer.
- Human resource interview tips - Do's
-
Have a firm handshake.
-
Be sincere and direct.
-
Introduce yourself in a courteous manner.
-
Read company materials while you wait.
-
You have to prepare for questions and listen carefully to the interviewer.
-
Ask about the next step in the process.
-
Thank the interviewer.
-
Learn about the Human Resources Analyst Program and understand the different facets
of human resources.
-
You never know what the interviewer will ask you about, so be prepared to talk about
anything you have included on your resume. You should be truthful about your experiences
and skills.
- Human resource interview tips - Don'ts
-
Don't show depression or discouragement.
-
Don't start the topics like salary, benefits or working hours.
-
Don't look at your watch.
-
Don't take extensive notes.
-
Don't be too serious.
- Follow up
Always write a thank you note immediately
after the interview. If there are number of interviewers then send a copy of thank
you letter to each person. Summarize your qualifications and how they meet the expectations
of the position.
|
| |
CORE JAVA
FAQ’s :
1. What does "wrapping" an object mean?
2. How to
pass commandline arguments in main function through Eclipse Tools (editors).
3.
How many methods to read numbers and characters and what should be used.
4. what is the use of static data member?
5. Is null
a keyword? if not what is it?
6. What
exactly is the difference between between throw and throws? If both are used for
the same purpose then why are both needed instead of one?
7. When
We should use Synchronization in Java and when we should not?
8. How an
interface can be implemented using polymorphism?Why multiple inheritence is not
used in Java?
9. How can
we restrict a class so that no instance creation of class possible without declaring
the class as Abstract ?
10. What
are the difference between Legacy classes and Collection other than Synchronized?
JAVA OOPS FAQ’s :
1. What are advantages of inner class ?
2.
What is an inline class?
3. What is the purpose/uses of run-time polymorphism?
Is dynamic binding only way to achieve run-time polymorphism?
4. Serializable is used to read or write the object and find the state of an object.
What is the use of finding the state of an object, Explain with an example?
5. What is the use of abstract classes? How will we decide in a scenario, whether
we have to use abstract class or interface?
EJB FAQ’s :
1. Which are the jar files that need to be externally added to run a simple java
program that accesses a session bean in EJB 2.0, using Jboss 4.X application server?
2. What
are the serious problems you had faced while using EJB's ?
3. How are
parameters passed to a method of a distributed object using RMI-IIOP?
4.
What is
the difference between ejbstore and ejbload?
5. Entity bean is an abstract class and its local and home interfaces also extends
an abstact class. So how can we instantiate home or local interface?
6. What is "reentrant"? Why we use this in the deployment descriptor? Explain with
an example?
7. In cluster domain in weblogic with 4 managed server. cluster enabled stateless
bean is created & deployed. Inside the bean, how to get server name programmatically
in which the bean instance is created ?
8. How to make a call to EJB a local instead of remote and what is the role of session
facade in this procedure?
9. What happens if the client object and the remote object are running in different
JVMs, but on the same physical machine?
10. If something your're passing to a remote method isn't Serializable, is this
a compile-time or runtime failure?
JSP FAQ’s :
1. What is JSP Fragment?
2. How to
generate a graph using real time data in JSP?
3.
Where do you declare methods in JSP?
4.
Where do you use exception implicit object in JSP?
5. How to disable browser "Back" and "Forward"
button from a JSP page?
6.
Can we use main method inside JSP? Why?
7.
How do you create Http Session that never times out ?
8.
What is the valid value for the body-content
element in the TLD file?
9.
How do you manage all the request from
your servlet? How it will be thread safe?
10.
How can you store ArrayList values in a session obj? Explain?
11. How do you write custom tags like tag library?
12.
How to maintain values inside form
field while uploading image using JSP?
|
| |
ASP.NET Interview Questions
1. What do I need to create and run an ASP.NET application?
Windows 2000, Windows Server 2003 or Windows XP.
ASP.NET, which can be either the redistributable (included in the .NET SDK) or Visual Studio .NET.
1. Where can I download the .NET SDK?
.NET SDK can be obtained here.
(You have to install the Microsoft .NET Framework Version 1.1 Redistributable Packagebefore installing the .NET SDK.)
2. Are there any free IDEs for the .NET SDK?
Microsoft provides Visual Studio 2005 Express Edition Beta for free. Of particular interest to the ASP.NET developers would be the Visual Web Developer 2005 Express Edition Beta 2 available as a free download. The ASP.NET Web Matrix Project (supported by Microsoft) is a free IDE for developing ASP.NET applications and is available here. There is also a free open-source UNIX version of the Microsoft .NET development platform called Mono available for download here.
o Another increasingly popular Open Source Development Environment for .NET is the #develop (short for SharpDevelop) available for download here.
3. When was ASP.NET released?
ASP.NET is a part of the .NET framework which was released as a software platform in 2002.
4. Is a new version coming up?
ASP.NET 2.0, Visual Studio 2005 (Whidbey), Visual Web Developer 2005 Express Edition are the next releases of Microsoft's Web platform and tools. They have already been released as Beta versions. They are scheduled to be released in the week of November 7, 2005.
5. Explain Namespace.
Namespaces are logical groupings of names used within a program. There may be multiple namespaces in a single application code, grouped based on the identifiers’ use. The name of any given identifier must appear only once in its namespace.
6. List the types of Authentication supported by ASP.NET.
o Windows (default)
o Forms
o Passport
o None (Security disabled)
7. What is CLR?
Common Language Runtime (CLR) is a run-time environment that manages the execution of .NET code and provides services like memory management, debugging, security, etc. The CLR is also known as Virtual Execution System (VES).
8. What is CLI?
The CLI is a set of specifications for a runtime environment, including a common type system, base class library, and a machine-independent intermediate code known as the Common Intermediate Language (CIL). (Source: Wikipedia.)
9. List the various stages of Page-Load lifecycle.
Init() Load() PreRender() Unload()
10. Explain Assembly and Manifest.
An assembly is a collection of one or more files and one of them (DLL or EXE) contains a special metadata called Assembly Manifest. The manifest is stored as binary data and contains details like versioning requirements for the assembly, the author, security permissions, and list of files forming the assembly. An assembly is created whenever a DLL is built. The manifest can be viewed programmatically by making use of classes from the System.Reflection namespace. The tool Intermediate Language Disassembler (ILDASM) can be used for this purpose. It can be launched from the command prompt or via Start> Run.
11. What is Shadow Copy?
In order to replace a COM component on a live web server, it was necessary to stop the entire website, copy the new files and then restart the website. This is not feasible for the web servers that need to be always running. .NET components are different. They can be overwritten at any time using a mechanism called Shadow Copy. It prevents the Portable Executable (PE) files like DLLs and EXEs from being locked. Whenever new versions of the PEs are released, they are automatically detected by the CLR and the changed components will be automatically loaded. They will be used to process all new requests not currently executing, while the older version still runs the currently executing requests. By bleeding out the older version, the update is completed.
12. What is DLL Hell?
DLL hell is the problem that occurs when an installation of a newer application might break or hinder other applications as newer DLLs are copied into the system and the older applications do not support or are not compatible with them. .NET overcomes this problem by supporting multiple versions of an assembly at any given time. This is also called side-by-side component versioning.
13. Explain Web Services.
Web services are programmable business logic components that provide access to functionality through the Internet. Standard protocols like HTTP can be used to access them. Web services are based on the Simple Object Access Protocol (SOAP), which is an application of XML. Web services are given the .asmx extension.
14. Explain Windows Forms.
Windows Forms is employed for developing Windows GUI applications. It is a class library that gives developers’ access to Windows Common Controls with rich functionality. It is a common GUI library for all the languages supported by the .NET Framework.
15. What is Post back?
When an action occurs (like button click), the page containing all the controls within the tag performs an HTTP POST, while having itself as the target URL. This is called Post back.
16. Explain the differences between server-side and client-side code?
Server side scripting means that all the script will be executed by the server and interpreted as needed. Client side scripting means that the script will be executed immediately in the browser such as form field validation, clock, email validation, etc. Client side scripting is usually done in VBScript or JavaScript. Since the code is included in the HTML page, anyone can see the code by viewing the page source. It also poses as a possible security hazard for the client computer.
17. Enumerate the types of Directives.
@ Page directive
@ Import directive
@ Implements directive
@ Register directive
@ Assembly directive
@ OutputCache directive
@ Reference directive
18. What is Code-Behind?
Code-Behind is a concept where the contents of a page are in one file and the server-side code is in another. This allows different people to work on the same page at the same time and also allows either part of the page to be easily redesigned, with no changes required in the other. An Inherits attribute is added to the @ Page directive to specify the location of the Code-Behind file to the ASP.NET page.
19. Describe the difference between inline and code behind.
Inline code is written along side the HTML in a page. There is no separate distinction between design code and logic code. Code-behind is code written in a separate file and referenced by the .aspx page.
20. List the ASP.NET validation controls?
RequiredFieldValidator ,RangeValidator ,CompareValidator ,RegularExpressionValidator,
CustomValidator and ValidationSummary
21. What is Data Binding?
Data binding is a way used to connect values from a collection of data (e.g. DataSet) to the controls on a web form. The values from the dataset are automatically displayed in the controls without having to write separate code to display them.
22. Describe Paging in ASP.NET?
The DataGrid control in ASP.NET enables easy paging of the data. The AllowPagingproperty of the DataGrid can be set to True to perform paging. ASP.NET automatically performs paging and provides the hyperlinks to the other pages in different styles, based on the property that has been set for PagerStyle.Mode.
23. Should user input data validation occur server-side or client-side? Why?
All user input data validation should occur on the server and minimally on the client-side, though it is a good way to reduce server load and network traffic because we can ensure that only data of the appropriate type is submitted from the form. It is totally insecure. The user can view the code used for validation and create a workaround for it. Secondly, the URL of the page that handles the data is freely visible in the original form page. This will allow unscrupulous users to send data from their own forms to your application. Client-side validation can sometimes be performed where deemed appropriate and feasible to provide a richer, more responsive experience for the user.
24. What is the difference between Server.Transfer and Response.Redirect?
Response.Redirect: This tells the browser that the requested page can be found at a new location. The browser then initiates another request to the new page loading its contents in the browser. This results in two requests by the browser.
o Server.Transfer: It transfers execution from the first page to the second page on the server. As far as the browser client is concerned, it made one request and the initial page is the one responding with content. The benefit of this approach is one less round trip to the server from the client browser. Also, any posted form variables and query string parameters are available to the second page as well.
26. What is an interface and what is an abstract class?
In an interface, all methods must be abstract (must not be defined). In an abstract class, some methods can be defined. In an interface, no accessibility modifiers are allowed, whereas it is allowed in abstract classes.
27. Session state vs. View state?
In some cases, using view state is not feasible. The alternative for view state is session state. Session state is employed under the following situations:
Large amounts of data - View state tends to increase the size of both the HTML page sent to the browser and the size of form posted back. Hence session state is used.
o Secure data - Though the view state data is encoded and may be encrypted, it is better and secure if no sensitive data is sent to the client. Thus, session state is a more secure option.
o Problems in serializing of objects into view state - View state is efficient for a small set of data. Other types like DataSet are slower and can generate a very large view state.
28. Can two different programming languages be mixed in a single ASPX file?
ASP.NET’s built-in parsers are used to remove code from ASPX files and create temporary files. Each parser understands only one language. Therefore mixing of languages in a single ASPX file is not possible.
29. Is it possible to see the code that ASP.NET generates from an ASPX file?
By enabling debugging using a statement in Web.config, the generated code can be viewed. The code is stored in a CS or VB file (usually in the\%SystemRoot%\Microsoft.NET\Framework\v1.0.nnnn\Temporary ASP.NET Files).
30. Can a custom .NET data type be used in a Web form?
This can be achieved by placing the DLL containing the custom data type in the application root's bin directory and ASP.NET will automatically load the DLL when the type is referenced.
|
| |
ABAP/4
Q: When we create a customer the information is updated in structure RF02D and the some tables like KNA1 are updated. How can we find the tables for master data transactions?
A: Go to ABAP Workbench -> Overview -> application hierarchy - SAP -> follow the customizing based tree for your application. Double click on a lowest hierarchy level to get for the correct marked development class. Here you can find all the tables, views, logical databases etc. used for a system operation.
B D C
Q: Our ABAP program is working properly in Foreground. Can Ischedule it forbackground processing on the weekend?
A: SAP standard program RSBDCSUB helps you to schedule the job. Create a variant for RSBDCSUB with the BDC session name.
Q: How can wesend amail to the user intimating him that hisreport/BDC is completed in background?
A: You can use FUNCTION RS_SEND_MAIL_FOR_SPOOLLIST
If Unix is being used, you may send a report to any internet mail with the following:
REPORT ZSNDMAIL .
DATA: COMND(200) type c.
DATA: RESULT(200) type c occurs 100 with header line.
PARAMETERS: FILE(60) type c lower case default '/sapdata/sd_outbound/testmail.dat'.
PARAMETERS: SUBJECT(60) type c lower case.
PARAMETERS: EMAIL(60) type c lower case.
INITIALIZATION.
TRANSLATE EMAIL TO LOWER CASE.
START-OF-SELECTION.
TRANSLATE EMAIL TO LOWER CASE.
CONCATENATE 'cat' FILE '| elm -s "' subject '"' email into comnd seperated by space.
CALL 'SYSTEM' ID 'COMMAND' FIELD comnd 'TAB' FIELD UNIX_RESULTS-*SYS*.
Loop at Results.
write: /1 results.
endloop
end-of-selection.
SapScript
Q: We get the total number of pages as expected by using 'SAPSCRIPT-FORMPAGES' in a duplex layout. In our case duplex case is always 'Terms & Conditions'. Wedo not want the number ofpages asin duplex printing. What is the best possible solution?
A: On the Terms & Conditions page, Change the Page counter mode to 'HOLD' to keep the page counter from incrementing when you print the Term & Conditions.
Q: Can IPrint a logo on an Invoice?
A: Save a Logo using Paintshop Pro or Corel Draw as Tiff file. Use RSTXLDMC to convert the logo to standard text in SapScript. When the program is executed, the path and file name have to be correctly specified.
Process could be like the following:
Run RSTXLDMC
Enter file name C:\MAIL\COMPLOGO.TIF
Resolution for Tiff file
Absolute X-position
Absolute Y-position
Absolute positioning
Reserved height
Shift to right
UOM = CM
Text title
Line width for text = 132
Text name ZHEX-MACRO-COMPLOGO
Text ID ST
Text language = E
Postscript scaling
Width & Height according to PS scaling
Number of Tiff gray levels (2,4,9) 2
Then Create a new window 'COMP' with attributes;
Window COMP description Company Logo
Window type CONST
Left margin 7.00 CH window width 10.00 CH
Upper margin LN window height 8.00 LN
Finally in the text element , mention
/: INCLUDE 'ZHEX-MACRO-COMPLOGO' OBJECT TEXT ID ST LANGUAGE 'E'.
Please note that if object name is not indicated as 'ZHEX...', the logo may not be printed!
You will not be able to see the logo in a test print. The same will be printed in actual printout.
If you are using two logos in the same layout, the names of the logos should be unique. Say 'ZHEX-MACRO-LOGO1' and 'ZHEX-MACRO-LOGO2'. Else all the information will be overwritten.
If the logo is not EXACTLY TIFF 6.0 , the same will not be printed.
See OSS notes 5995, 18045, 39031 for some inputs.
R F C
Q: We want tomove a SAP table to anAccess table using TABLE_EXPORT_TO_MSACCESS_RFC
Importing parameters are
DBNAME
DEST
FLG_APPEND
FLG_POPUP
LANGU
The table has three columns:
TABNAM
MANDT
SDATA
We have no Exporting parameters.
How shall we set the parameters?
A: Install the PS utilities, which are part of SAPGUI install CD. You may run report RIACCESS from SE38. Go to SALE -> Communication -> Define RFC Destination. Setup two RFC destinations PS_ACCESS_1 and PS_ACCESS_2 and will have to get them to point to wdpsastr.exe and wdpsatab.exe respectively. Then execute RIACCESS and choose PS_ACCESS_1 to generate access tables. Please note that Access only supports tables with up 255 fields.
Q: We want anRFC do the following transactions - MB1A, MB1C,>MB01 .
A: Call the RFC INBOUND_IDOC_PROCESS with IDOC_CONTROL and IDOC_DATA. The structure in the field sdata in the IDOC_DATA are e1mbxyh and e1mbxyi.
Transports
Q: In a Dev instance, we want totransport a modification to alayout set from one client to another. What is the best way?
A: use transaction SE71. Choose Utilities->Copy from Client. Layout sets need not be transported between clients , via transport requests DEVKxxxxxx.
Q: We need tokeep track of the transports that need to flow through to other systems (ie, DEV, TST, TRN, PRD etc). Is there a way do this?
A: SAPCRAFT enables you to control the CTS from DEV system. This keeps track of all transports at all stages and enables you to allocate Import, export and Authorization functions to specific user.
E D I / IDOC
Q:1 We created an EDI Vendor and created all required output conditions. Howeverno IDOC is generated when PO is printed. Why?
A: Go to Header->output for the PO. The output type shall be '6'. The status shall be '1'. If the status is '0' check the timing. If the status is '2' , go to 'GOTO->Processing Log' and the explanation for non-generation of IDOC can be seen.
Q: How can we create / upload IDOC'sfrom legacy system to SAP?
A: Third party tool Mercator may be used to convert Legacy files to Idoc format. Mercator provides an IDOC tree import facility, SAP provides the export facility. You can transfer the Idoc layouts from SAP to Mercator automatically and then map.
Q: We want toreceive an outbound EDI855 IDOC only if E2EDP20 -scheduling confirmation segmentis present. Else get an "error" status preventing triggering the EDI subsystem.
A: User exit logic has to be added in function IDOC_INPUT_ORDRSP.
# Set up a test flag and set it off when the IDOC header is read.
# Turn the flag ON when the EDP20 segment is read.
# Interrogate this flag when the next segment after EDP20 in the same IDOC comes in. If it is on ,you have an EDP20 coming in.
# Issue an error status 51 with suitable message for whichever condition you don't want the IDOC to be processed, This will stop the IDOC from posting.
Q: Where ever PO is sent to the vendor via EDI, we want anacknowledgement of the PO by vendor. Which fields are updated and what should be my procedure?
A: Execute Program: IDOC_INPUT_ORDRSP
Process code: ORDR
Message type: ORDRSP
IDOC: ORDERS01
The confirmation process allows the supplier to return an acknowledgment. Only Dates and quantities can be changed The information is stored in the PO and can be viewed via Item->Confirmation->Overview. The PO can be flagged as 'confirmation required' so that Pos without acknowledgement receipt can be monitored. Control keys and tolerances (days and quantities) have to be customized.
A L E
Q: OurIDOC remains in status 51 ( not posted) while testing ALE setup by passing DEBMAS02 Idocs. The message 'Field KNA1-BRSCH is not an input field'. This is the Industry key. What are we missing?
A: Go to IMG - menu path IMG->LogisticsGeneral-> Logistics Basic Data: Business partners->Customers-> Control->Define Account groups and field selection for customer.
Select sold-to or ship-to. Select General Data. Select control and double click. Industry key is found here. Change the option to 'Optional Entry'.
Check OSS 5599. You may have to update view V_T078D also.
Batch In-put/ Direct In-put
Q: We are calling transaction VL01 inbatch input to create deliveries using a program for delivery due list. How ever we areunable to create deliveries for transport stock orders. Why?
a: Batch-inputs can not be used to fill the "delivery due list" screen because it is not a dynpro. This is a standard SAP report. A SAP report (check with "System -> Status") may be called using SUBMIT sentence with the appropriate options . It is preferred to call a report than create a Batch-input program.
Q: What are somesample Direct input data transfer programs?
A: In MM for Material Master data - RMDATIND
FI - for Accounting Documents - RFBIBL00
PP - for Independent requirements - RM06IN00
CA - for Classification data - RCCLBI03
Handling Tables
Q: We specify thelogical database. And we want a field that is not present in any of the tables defaulted in logical database. How can we want to add thisadditional field from a different table?
A: . Presume you have a
logical database
table 1
table 2
table 3
Define the required field as additional field say fld of table 1, table 2 or table 3
and then in the code section define.
Perform get_f1d(zxxxxxxx) using f1d.
Form zxxxxxxx could be like;
Form get_f1d using f.
Select * from where 'conditions'
f = table4 - f1d.
Q: We need todownload an internal table to the Presentation Server(local workstation). Whenever we run the program, the same file has to be saved as a separatefile in sequential order. Ex: 0001.txt, 0002.txt etc. Where can we store the last file number?
A: SAP has a table TVARV for storing the variants.
A record may be created in TVARV for all the programs that require this kind of incremental records.
For Ex: the record could be 100Zmm10001 MM sequence rec where first part consists of client code and the program being run. Client code is required because TVARV does not has a field for client code. The second part is the description indicating the purpose what the record is created. This entire string may be posted in the Name field (char - 30).
The Type field ( char- 1) may be populated with P or S (Parameter or Selection)
Low field (char- 45) may be populated with '0001' when run first time and increment it by one in your program for downloading of the internal table.
Others
Q: How can we use CAD with SAP?
A: Third party tools from Eigner + Partner provide interfaces to SAP. Another third party software - Fastlook Plus from Kamel Software enables you to view all of the Autocad formats.
Q: How can I accessSAP through Internet?
A: SAP has its own Internet transaction Server (ITS) . Other products include Haht, WebObjects, NetDynamics etc. Each product has its' own architecture.
However to access the database, access paths SAP GUI or RFC Channel have to be used.
Q: How can wetransport the standard text?
A: Refer note 3355 in OSS for a complete explanation. The SAPscript objects that should be transported must be written in a transport request.
The entries are as follows:
R3TR FORM NAME (NAME = Name of the layout set)
R3TR STYL NAME (NAME = Name of the style)
R3TR TEXT OBJECT,NAME,ID,L
(OBJECT = Text object, NAME = Text name, ID = Text ID, L = Text language)
If you want to transport a number of texts, you can use report RSTXTRAN to insert the individual text keys into a correction. The transport request must be entered and released via the transport system.
Q: How to findwhat transactions a particularuser was running for a given period in the past (Eg: from 1st of a month )
A: You may use the transaction - STAT.
Q: We wantprotect/lock a field so that only selected people can change the value while others can only read. How to set the authorizations?
A: Create an authorization object for change mode. Loop at screen in the user exit and set input to 0. Check the user based on sy-uname and the authorization. Decide whether input should be 0 or 1.
Q: How tolock an user defined transaction for some time during which no user can access the same?
A: Use transaction SM01. Scroll through the transactions and check against the transaction to be locked. And after the maintenance is over, go back to SM01 and uncheck the same to unlock.
|
What is 'Software Quality Assurance'?
Software QA involves the entire software development PROCESS - monitoring
and improving the process, making sure that any agreed-upon standards and
procedures are followed, and ensuring that problems are found and
dealt with. It is oriented to 'prevention'.
What is 'Software Testing'?
Testing involves operation of a system or application under controlled
conditions and evaluating the results (eg, 'if the user
is in interface A of the application while using hardware B,
and does C, then D should happen'). The controlled conditions
should include both normal and abnormal conditions. Testing should
intentionally attempt to make things go wrong to determine if things
happen when they shouldn't or things don't happen when they should.
It is oriented to 'detection'.
(See the Bookstore section's
'Software Testing' category for a list of useful books on
Software Testing.)
- Organizations vary considerably in how they assign responsibility
for QA and testing. Sometimes they're the combined responsibility of
one group or individual. Also common are project teams that
include a mix of testers and developers who work closely together,
with overall QA processes monitored by project managers. It will
depend on what best fits an organization's size and business structure.
What are some recent major computer system failures caused by software bugs?
-
Software problems in the automated baggage sorting system of a major airport
in February 2008 prevented thousands of passengers from checking baggage
for their flights. It was reported that the breakdown occurred during a
software upgrade, despite pre-testing of the software. The system continued
to have problems in subsequent months.
-
News reports in December of 2007 indicated that significant software
problems were continuing to occur in a new ERP payroll system for a
large urban school system. It was believed that more than one third of
employees had received incorrect paychecks at various times since the
new system went live the preceding January, resulting in overpayments
of $53 million, as well as underpayments. An employees' union brought
a lawsuit against the school system, the cost of the ERP system was
expected to rise by 40%, and the non-payroll part of the ERP system was
delayed. Inadequate testing reportedly contributed to the problems.
-
In November of 2007 a regional government reportedly brought a
multi-million dollar lawsuit against a software services vendor,
claiming that the vendor 'minimized quality' in delivering
software for a large criminal justice information system and the
system did not meet requirements. The vendor also sued its
subcontractor on the project.
-
In June of 2007 news reports claimed that software flaws in a popular
online stock-picking contest could be used to gain an unfair advantage
in pursuit of the game's large cash prizes. Outside investigators
were called in and in July the contest winner was announced. Reportedly
the winner had previously been in 6th place, indicating that the
top 5 contestants may have been disqualified.
-
A software problem contributed to a rail car fire in a major underground metro
system in April of 2007 according to newspaper accounts. The software
reportedly failed to perform as expected in detecting and preventing excess
power usage in equipment on a new passenger rail car, resulting in overheating and
fire in the rail car, and evacuation and shutdown of part of the system.
-
Tens of thousands of medical devices were recalled in March of 2007 to
correct a software bug. According to news reports, the software would not
reliably indicate when available power to the device was too low.
-
A September 2006 news report indicated problems with software
utilized in a state government's primary election, resulting in
periodic unexpected rebooting of voter checkin machines, which
were separate from the electronic voting machines, and resulted
in confusion and delays at voting sites. The problem was reportedly
due to insufficient testing.
-
In August of 2006 a U.S. government student loan service
erroneously made public the personal data of as many as 21,000 borrowers
on it's web site, due to a software error. The bug was fixed and the
government department subsequently offered to arrange for free
credit monitoring services for those affected.
-
A software error reportedly resulted in overbilling of up to several
thousand dollars to each of 11,000 customers of a major telecommunications
company in June of 2006. It was reported that the software bug was fixed
within days, but that correcting the billing errors would take much longer.
-
News reports in May of 2006 described a multi-million dollar lawsuit
settlement paid by a healthcare software vendor to one of its customers.
It was reported that the customer claimed there were problems with the
software they had contracted for, including poor integration of software
modules, and problems that resulted in missing or incorrect data used by
medical personnel.
-
In early 2006 problems in a government's financial monitoring software
resulted in incorrect election candidate financial reports being made
available to the public. The government's election finance
reporting web site had to be shut down until the software was repaired.
-
Trading on a major Asian stock exchange was brought to a halt
in November of 2005, reportedly due to an error in a system
software upgrade. The problem was rectified and
trading resumed later the same day.
-
A May 2005 newspaper article reported that a major hybrid car
manufacturer had to install a software fix on 20,000 vehicles
due to problems with invalid engine warning lights and
occasional stalling. In the article, an automotive software
specialist indicated that the automobile industry spends $2 billion
to $3 billion per year fixing software problems.
-
Media reports in January of 2005 detailed severe problems with
a $170 million high-profile U.S. government IT systems project. Software
testing was one of the five major problem areas according to a
report of the commission reviewing the project. In March of 2005
it was decided to scrap the entire project.
-
In July 2004 newspapers reported that a new government
welfare management system in Canada costing several hundred million
dollars was unable to handle a simple benefits rate increase after
being put into live operation. Reportedly the original contract
allowed for only 6 weeks of acceptance testing and the system was
never tested for its ability to handle a rate increase.
-
Millions of bank accounts were impacted by errors due to installation
of inadequately tested software code in the transaction processing
system of a major North American bank, according to mid-2004 news
reports. Articles about the incident stated that it took two weeks
to fix all the resulting errors, that additional problems resulted
when the incident drew a large number of e-mail phishing attacks
against the bank's customers, and that the total cost of the incident
could exceed $100 million.
-
A bug in site management software utilized by companies
with a significant percentage of worldwide web traffic was
reported in May of 2004. The bug resulted in performance
problems for many of the sites simultaneously and required
disabling of the software until the bug was fixed.
-
According to news reports in April of 2004, a software bug was
determined to be a major contributor to the 2003 Northeast
blackout, the worst power system failure in North American
history. The failure involved loss of electrical power to
50 million customers, forced shutdown of 100 power plants,
and economic losses estimated at $6 billion. The bug was
reportedly in one utility company's vendor-supplied power
monitoring and management system, which was unable to correctly
handle and report on an unusual confluence of initially localized
events. The error was found and corrected after examining
millions of lines of code.
-
In early 2004, news reports revealed the intentional use
of a software bug as a counter-espionage tool. According to the
report, in the early 1980's one nation surreptitiously allowed a hostile
nation's espionage service to steal a version of sophisticated
industrial software that had intentionally-added flaws. This
eventually resulted in major industrial disruption in the country
that used the stolen flawed software.
-
A major U.S. retailer was reportedly hit with a large government fine
in October of 2003 due to web site errors that enabled customers to
view one anothers' online orders.
-
News stories in the fall of 2003 stated that a manufacturing company
recalled all their transportation products in order to fix a software
problem causing instability in certain circumstances. The company found
and reported the bug itself and initiated the recall procedure in which
a software upgrade fixed the problems.
-
In August of 2003 a U.S. court ruled that a lawsuit against a large
online brokerage company could proceed; the lawsuit reportedly
involved claims that the company was not fixing system problems
that sometimes resulted in failed stock trades, based on the
experiences of 4 plaintiffs during an 8-month period. A previous
lower court's ruling that "...six miscues out of more than
400 trades does not indicate negligence." was invalidated.
-
In April of 2003 it was announced that a large student loan company
in the U.S. made a software error in calculating the monthly
payments on 800,000 loans. Although borrowers were to be notified
of an increase in their required payments, the company will still
reportedly lose $8 million in interest. The error was uncovered
when borrowers began reporting inconsistencies in their bills.
-
News reports in February of 2003 revealed that the U.S. Treasury
Department mailed 50,000 Social Security checks without any beneficiary
names. A spokesperson indicated that the missing names were due
to an error in a software change. Replacement checks were
subsequently mailed out with the problem corrected, and recipients
were then able to cash their Social Security checks.
-
In March of 2002 it was reported that software bugs in Britain's
national tax system resulted in more than 100,000 erroneous tax
overcharges. The problem was partly attributed to the difficulty of
testing the integration of multiple systems.
-
A newspaper columnist reported in July 2001 that a serious flaw was
found in off-the-shelf software that had long been used in systems
for tracking certain U.S. nuclear materials. The same software had been
recently donated to another country to be used in tracking their own
nuclear materials, and it was not until scientists in that country
discovered the problem, and shared the information, that U.S.
officials became aware of the problems.
-
According to newspaper stories in mid-2001, a major systems
development contractor was fired and sued over problems with a
large retirement plan management system. According to the reports,
the client claimed that system deliveries were late, the software had
excessive defects, and it caused other systems to crash.
-
In January of 2001 newspapers reported that a major European
railroad was hit by the aftereffects of the Y2K bug. The company
found that many of their newer trains would not run due to their
inability to recognize the date '31/12/2000'; the trains were
started by altering the control system's date settings.
-
News reports in September of 2000 told of a software vendor
settling a lawsuit with a large mortgage lender; the vendor had
reportedly delivered an online mortgage processing system that
did not meet specifications, was delivered late, and didn't work.
-
In early 2000, major problems were reported with a new computer
system in a large suburban U.S. public school district with 100,000+
students; problems included 10,000 erroneous report cards and students
left stranded by failed class registration systems; the district's
CIO was fired. The school district decided to reinstate it's original
25-year old system for at least a year until the bugs were worked out
of the new system by the software vendors.
-
A review board concluded that the NASA Mars Polar Lander failed in
December 1999 due to software problems that caused improper functioning
of retro rockets utilized by the Lander as it entered the Martian atmosphere.
-
In October of 1999 the $125 million NASA Mars Climate
Orbiter spacecraft was believed to be lost in space due
to a simple data conversion error. It was determined that
spacecraft software used certain data in English units that should
have been in metric units. Among other tasks, the orbiter
was to serve as a communications relay for the Mars
Polar Lander mission, which failed for unknown reasons
in December 1999. Several investigating panels were
convened to determine the process failures that allowed
the error to go undetected.
-
Bugs in software supporting a large commercial high-speed data
network affected 70,000 business customers over a period of 8 days
in August of 1999. Among those affected was the electronic trading
system of the largest U.S. futures exchange, which was shut down
for most of a week as a result of the outages.
-
In April of 1999 a software bug caused the failure of a $1.2 billion
U.S. military satellite launch, the costliest unmanned accident in the
history of Cape Canaveral launches. The failure was the latest
in a string of launch failures, triggering a complete military
and industry review of U.S. space launch programs, including software
integration and testing processes. Congressional oversight hearings
were requested.
-
A small town in Illinois in the U.S. received an unusually large monthly
electric bill of $7 million in March of 1999. This was about 700
times larger than its normal bill. It turned out to be due to
bugs in new software that had been purchased by the local power
company to deal with Y2K software issues.
-
In early 1999 a major computer game company recalled all copies
of a popular new product due to software problems. The company
made a public apology for releasing a product before it was ready.
-
The computer system of a major online U.S. stock trading service
failed during trading hours several times over a period of days in
February of 1999 according to nationwide news reports. The problem
was reportedly due to bugs in a software upgrade intended to
speed online trade confirmations.
- In April of 1998 a major U.S. data communications network
failed for 24 hours, crippling a large part of some U.S. credit
card transaction authorization systems as well as other large U.S.
bank, retail, and government data systems. The cause was
eventually traced to a software bug.
- January 1998 news reports told of software problems at a
major U.S. telecommunications company that resulted in no charges
for long distance calls for a month for 400,000 customers. The
problem went undetected until customers called up with
questions about their bills.
- In November of 1997 the stock of a major health industry
company dropped 60% due to reports of failures in computer
billing systems, problems with a large database conversion,
and inadequate software testing. It was reported that more than
$100,000,000 in receivables had to be written off and that
multi-million dollar fines were levied on the company by
government agencies.
- A retail store chain filed suit in August of 1997
against a transaction processing system vendor (not a credit
card company) due to the software's inability to handle
credit cards with year 2000 expiration dates.
- In August of 1997 one of the leading consumer credit reporting
companies reportedly shut down their new public web site after
less than two days of operation due to software problems. The new
site allowed web site visitors instant access, for a small
fee, to their personal credit reports. However, a number of
initial users ended up viewing each others' reports instead
of their own, resulting in irate customers and nationwide
publicity. The problem was attributed to "...unexpectedly
high demand from consumers and faulty software that routed
the files to the wrong computers."
- In November of 1996, newspapers reported that software bugs caused
the 411 telephone information system of one of the U.S. RBOC's to
fail for most of a day. Most of the 2000 operators had to
search through phone books instead of using their 13,000,000-listing
database. The bugs were introduced by new software modifications
and the problem software had been installed on both the production
and backup systems. A spokesman for the software vendor reportedly
stated that 'It had nothing to do with the integrity of the
software. It was human error.'
- On June 4 1996 the first flight of the
European Space Agency's new Ariane 5 rocket failed shortly
after launching, resulting in an estimated uninsured loss
of a half billion dollars. It was reportedly due to the lack
of exception handling of a floating-point error in a
conversion from a 64-bit integer to a 16-bit signed integer.
- Software bugs caused the bank accounts of 823 customers of a major
U.S. bank to be credited with $924,844,208.32 each in May of 1996,
according to newspaper reports. The American Bankers Association
claimed it was the largest such error in banking history. A bank
spokesman said the programming errors were corrected and all
funds were recovered.
- On January 1 1984 all computers produced by one of the
leading minicomputer makers of the time reportedly failed worldwide.
The cause was claimed to be a leap year bug in a date handling function
utilized in deletion of temporary operating system files. Technicians
throughout the world worked for several days to clear up the problem.
It was also reported that the same bug affected many of the same
computers four years later.
- Software bugs in a Soviet early-warning monitoring system
nearly brought on nuclear war in 1983, according to news reports
in early 1999. The software was supposed to filter out
false missile detections caused by Soviet satellites picking up
sunlight reflections off cloud-tops, but failed to do so. Disaster was
averted when a Soviet commander, based on what he said was a '...funny
feeling in my gut', decided the apparent missile attack was a
false alarm. The filtering software code was rewritten.
Does every software project need testers?
While all projects will benefit from testing, some projects may
not require independent test staff to succeed.
Which projects may not need independent test staff? The answer
depends on the size and context of the project,
the risks, the development methodology, the skill and experience of
the developers, and other factors. For instance, if the project
is a short-term, small, low risk project, with highly
experienced programmers utilizing thorough unit testing or
test-first development, then test engineers may not be required
for the project to succeed.
In some cases an IT organization may be too small or new to have a
testing staff even if the situation calls for it. In these circumstances
it may be appropriate to instead use contractors or outsourcing, or
adjust the project management and development approach (by switching
to more senior developers and agile test-first development, for example).
Inexperienced managers sometimes gamble on the success of a project by
skipping thorough testing or having programmers do post-development
functional testing of their own work, a decidedly high risk gamble.
For non-trivial-size projects or projects with non-trivial risks, a
testing staff is usually necessary. As in any business, the use of
personnel with specialized skills enhances an organization's ability
to be successful in large, complex, or difficult tasks. It allows
for both a) deeper and stronger skills and b) the contribution of
differing perspectives. For example, programmers typically
have the perspective of 'what are the technical issues in making
this functionality work?'. A test engineer typically has the perspective
of 'what might go wrong with this functionality, and how can we
ensure it meets expectations?'. Technical people who can be highly
effective in approaching tasks from both of those perspectives are
rare, which is why, sooner or later, organizations bring in test
specialists.
Why does software have bugs?
- miscommunication or no communication - as to specifics of
what an application should or shouldn't do (the application's
requirements).
- software complexity - the complexity of current software
applications can be difficult to comprehend for anyone without
experience in modern-day software development. Multi-tier
distributed systems, applications utilizing mutliple local and remote
web services applications, data communications, enormous relational
databases, security complexities, and sheer size of applications
have all contributed to the exponential growth in
software/system complexity.
- programming errors - programmers, like anyone else, can
make mistakes.
- changing requirements (whether documented or undocumented) -
the end-user may not understand the effects of changes, or may understand
and request them anyway - redesign, rescheduling of engineers,
effects on other projects, work already completed that may
have to be redone or thrown out, hardware requirements that
may be affected, etc. If there are many minor changes or any
major changes, known and unknown dependencies among parts of the
project are likely to interact and cause problems, and the
complexity of coordinating changes may result in errors.
Enthusiasm of engineering staff may be affected. In some
fast-changing business environments, continuously modified
requirements may be a fact of life. In this case, management
must understand the resulting risks, and QA and test
engineers must adapt and plan for continuous extensive
testing to keep the inevitable bugs from running out of
control - see
'What can be done if requirements are changing continuously?'
in the LFAQ. Also see information about
'agile' approaches such as XP,
in Part 2 of the FAQ.
- time pressures - scheduling of software projects is difficult
at best, often requiring a lot of guesswork. When deadlines
loom and the crunch comes, mistakes will be made.
- egos - people prefer to say things like:
'no problem'
'piece of cake'
'I can whip that out in a few hours'
'it should be easy to update that old code'
instead of:
'that adds a lot of complexity and we could end up
making a lot of mistakes'
'we have no idea if we can do that; we'll wing it'
'I can't estimate how long it will take, until I
take a close look at it'
'we can't figure out what that old spaghetti code
did in the first place'
If there are too many unrealistic 'no problem's', the
result is bugs.
- poorly documented code - it's tough to maintain and modify code
that is badly written or poorly documented; the result is bugs. In
many organizations management provides no incentive for programmers
to document their code or write clear, understandable, maintainable code.
In fact, it's usually the opposite: they get points mostly for quickly
turning out code, and there's job security if nobody else can understand
it ('if it was hard to write, it should be hard to read').
- software development tools - visual tools, class libraries, compilers,
scripting tools, etc. often introduce their own bugs or are poorly
documented, resulting in added bugs.
How can new Software QA processes be introduced in an existing organization?
- A lot depends on the size of the organization and the risks involved.
For large organizations with high-risk (in terms of lives or property)
projects, serious management buy-in is required and a formalized
QA process is necessary.
- Where the risk is lower, management and organizational buy-in
and QA implementation may be a slower, step-at-a-time
process. QA processes should be balanced with productivity
so as to keep bureaucracy from getting out of hand.
- For small groups or projects, a more ad-hoc process may be
appropriate, depending on the type of customers and projects. A
lot will depend on team leads or managers, feedback to developers,
and ensuring adequate communications among customers, managers,
developers, and testers.
- The most value for effort will often be in (a) requirements
management processes, with a goal of clear, complete, testable
requirement specifications embodied in requirements or design
documentation, or in 'agile'-type environments extensive continuous
coordination with end-users, (b) design inspections and code
inspections, and (c) post-mortems/retrospectives.
-
Other possibilities include incremental self-managed team approaches
such as 'Kaizen' methods of continuous process improvement,
the Deming-Shewhart Plan-Do-Check-Act cycle, and others.
Also see 'How can QA processes be implemented without reducing
productivity?' in the LFAQ section.
What is verification? validation?
Verification typically involves reviews and meetings to evaluate
documents, plans, code, requirements, and specifications. This
can be done with checklists, issues lists, walkthroughs, and
inspection meetings. Validation typically involves actual
testing and takes place after verifications are completed.
The term 'IV & V' refers to Independent Verification and
Validation.
What is a 'walkthrough'?
A 'walkthrough' is an informal meeting for evaluation or
informational purposes. Little or no preparation is usually
required.
What's an 'inspection'?
An inspection is more formalized than a 'walkthrough', typically
with 3-8 people including a moderator, reader, and a recorder to
take notes. The subject of the inspection is typically a document
such as a requirements spec or a test plan, and the purpose is to
find problems and see what's missing, not to fix anything. Attendees
should prepare for this type of meeting by reading thru the document;
most problems will be found during this preparation. The result of the
inspection meeting should be a written report. Thorough preparation for
inspections is difficult, painstaking work, but is one of the most cost
effective methods of ensuring quality. Employees who are most skilled
at inspections are like the 'eldest brother' in the parable in
'Why is it often hard for organizations
to get serious about quality assurance?'.
Their skill may have low visibility but they are extremely valuable
to any software development organization, since bug prevention is
far more cost-effective than bug detection.
What kinds of testing should be considered?
- Black box testing - not based on any knowledge of internal design
or code. Tests are based on requirements and functionality.
- White box testing - based on knowledge of the internal logic
of an application's code. Tests are based on coverage of code
statements, branches, paths, conditions.
- unit testing - the most 'micro' scale of testing; to test
particular functions or code modules. Typically done by the
programmer and not by testers, as it requires detailed knowledge
of the internal program design and code. Not always easily done
unless the application has a well-designed architecture with tight
code; may require developing test driver modules or test harnesses.
- incremental integration testing - continuous testing of an
application as new functionality is added; requires that various
aspects of an application's functionality be independent enough
to work separately before all parts of the program are completed,
or that test drivers be developed as needed; done by programmers
or by testers.
- integration testing - testing of combined parts of an application
to determine if they function together correctly. The 'parts'
can be code modules, individual applications, client and server
applications on a network, etc. This type of testing is especially
relevant to client/server and distributed systems.
- functional testing - black-box type testing geared to functional
requirements of an application; this type of testing should be done by
testers. This doesn't mean that the programmers shouldn't check that
their code works before releasing it (which of course applies to any
stage of testing.)
- system testing - black-box type testing that is based on overall
requirements specifications; covers all combined parts of a system.
- end-to-end testing - similar to system testing; the 'macro' end of
the test scale; involves testing of a complete application environment
in a situation that mimics real-world use, such as interacting with
a database, using network communications, or interacting
with other hardware, applications, or systems if appropriate.
- sanity testing or smoke testing - typically an initial testing effort
to determine if a new software version is performing well enough to
accept it for a major testing effort. For example, if the new software
is crashing systems every 5 minutes, bogging down systems to a crawl,
or corrupting databases, the software may not be in a 'sane' enough
condition to warrant further testing in its current state.
- regression testing - re-testing after fixes or modifications of the
software or its environment. It can be difficult to determine how
much re-testing is needed, especially near the end of the
development cycle. Automated testing tools can be especially
useful for this type of testing.
- acceptance testing - final testing based on specifications of
the end-user or customer, or based on use by end-users/customers
over some limited period of time.
- load testing - testing an application under heavy loads, such as
testing of a web site under a range of loads to determine
at what point the system's response time degrades or fails.
- stress testing - term often used interchangeably with 'load'
and 'performance' testing. Also used to describe such tests as
system functional testing while under unusually heavy loads,
heavy repetition of certain actions or inputs, input of
large numerical values, large complex queries to a database system, etc.
- performance testing - term often used interchangeably with
'stress' and 'load' testing. Ideally 'performance' testing
(and any other 'type' of testing) is defined in requirements
documentation or QA or Test Plans.
- usability testing - testing for 'user-friendliness'. Clearly this is
subjective, and will depend on the targeted end-user or customer. User
interviews, surveys, video recording of user sessions, and other
techniques can be used. Programmers and testers are usually not
appropriate as usability testers.
- install/uninstall testing - testing of full, partial, or
upgrade install/uninstall processes.
- recovery testing - testing how well a system recovers from crashes,
hardware failures, or other catastrophic problems.
- failover testing - typically used interchangeably with 'recovery testing'
- security testing - testing how well the system protects against
unauthorized internal or external access, willful damage, etc; may
require sophisticated testing techniques.
- compatability testing - testing how well software performs in
a particular hardware/software/operating system/network/etc.
environment.
- exploratory testing - often taken to mean a creative, informal
software test that is not based on formal test plans or test cases;
testers may be learning the software as they test it.
- ad-hoc testing - similar to exploratory testing, but often
taken to mean that the testers have significant understanding
of the software before testing it.
- context-driven testing - testing driven by an understanding of
the environment, culture, and intended use of software. For example,
the testing approach for life-critical medical equipment software would
be completely different than that for a low-cost computer game.
- user acceptance testing - determining if software is satisfactory
to an end-user or customer.
- comparison testing - comparing software weaknesses and strengths
to competing products.
- alpha testing - testing of an application when development is
nearing completion; minor design changes may still be made as a
result of such testing. Typically done by end-users or others, not
by programmers or testers.
- beta testing - testing when development and testing are
essentially completed and final bugs and problems need to be
found before final release. Typically done by end-users or
others, not by programmers or testers.
- mutation testing - a method for determining if a set of test
data or test cases is useful, by deliberately introducing
various code changes ('bugs') and retesting with the
original test data/cases to determine if the 'bugs' are
detected. Proper implementation requires large
computational resources.
(
What are 5 common problems in the software development process?
- poor requirements - if requirements are unclear, incomplete,
too general, and not testable, there will be problems.
- unrealistic schedule - if too much work is crammed in too little
time, problems are inevitable.
- inadequate testing - no one will know whether or not the program is
any good until the customer complains or systems crash.
- featuritis - requests to pile on new features after development
is underway; extremely common.
- miscommunication - if developers don't know what's needed or customer's
have erroneous expectations, problems can be expected.
What are 5 common solutions to software development problems?
- solid requirements - clear, complete, detailed, cohesive, attainable,
testable requirements that are agreed to by all players. In 'agile'-type
environments, continuous close coordination with customers/end-users
is necessary to ensure that changing/emerging requirements are understood.
- realistic schedules - allow adequate time for planning, design,
testing, bug fixing, re-testing, changes, and documentation; personnel
should be able to complete the project without burning out.
- adequate testing - start testing early on, re-test after fixes or
changes, plan for adequate time for testing and bug-fixing.
'Early' testing could include static code analysis/testing,
test-first development, unit testing by developers, built-in
testing and diagnostic capabilities, automated post-build testing, etc.
- stick to initial requirements where feasible - be prepared to
defend against excessive changes and additions once development has
begun, and be prepared to explain consequences. If changes are
necessary, they should be adequately reflected in related schedule
changes. If possible, work closely with customers/end-users to
manage expectations. In 'agile'-type environments, initial requirements
may be expected to change significantly, requiring that true agile
processes be in place.
- communication - require walkthroughs and inspections when
appropriate; make extensive use of group communication tools -
groupware, wiki's, bug-tracking tools and change
management tools, intranet capabilities, etc.; ensure that
information/documentation is available and up-to-date - preferably
electronic, not paper; promote teamwork and cooperation; use
protoypes and/or continuous communication with end-users if possible
to clarify expectations.
What is software 'quality'?
Quality software is reasonably bug-free, delivered on time
and within budget, meets requirements and/or expectations,
and is maintainable.
However, quality is obviously a subjective term. It
will depend on who the 'customer' is and their overall
influence in the scheme of things. A wide-angle view of
the 'customers' of a software development project might include
end-users, customer acceptance testers, customer contract
officers, customer management, the development organization's
management/accountants/testers/salespeople, future software
maintenance engineers, stockholders, magazine columnists, etc.
Each type of 'customer' will have their own slant on 'quality' -
the accounting department might define quality in terms of profits
while an end-user might define quality as user-friendly and
bug-free.
What is 'good code'?
'Good code' is code that works, is reasonably bug free, and is readable and
maintainable. Some organizations have coding 'standards' that
all developers are supposed to adhere to, but everyone has different ideas
about what's best, or what is too many or too few rules. There are
also various theories and metrics, such as McCabe Complexity metrics.
It should be kept in mind that excessive use of standards and rules
can stifle productivity and creativity. 'Peer reviews', 'buddy checks'
pair programming, code analysis tools, etc. can be used to check for
problems and enforce standards.
For example, in C/C++ coding, here are some typical ideas to consider
in setting rules/standards; these may or may not apply to
a particular situation:
- minimize or eliminate use of global variables.
- use descriptive function and method names - use both upper
and lower case, avoid abbreviations, use as many characters
as necessary to be adequately descriptive (use of more than
20 characters is not out of line); be consistent in naming conventions.
- use descriptive variable names - use both upper and lower case,
avoid abbreviations, use as many characters as necessary to be
adequately descriptive (use of more than 20 characters is not
out of line); be consistent in naming conventions.
- function and method sizes should be minimized; less than
100 lines of code is good, less than 50 lines is preferable.
- function descriptions should be clearly spelled out in comments
preceding a function's code.
- organize code for readability.
- use whitespace generously - vertically and horizontally
- each line of code should contain 70 characters max.
- one code statement per line.
- coding style should be consistent throught a program (eg, use of
brackets, indentations, naming conventions, etc.)
- in adding comments, err on the side of too many rather than
too few comments; a common rule of thumb is that there should
be at least as many lines of comments (including header blocks)
as lines of code.
- no matter how small, an application should include documentaion
of the overall program function and flow (even a few paragraphs
is better than nothing); or if possible a separate flow chart and
detailed program documentation.
- make extensive use of error handling procedures and status and error
logging.
- for C++, to minimize complexity and increase maintainability, avoid
too many levels of inheritance in class heirarchies (relative to
the size and complexity of the application).
Minimize use of multiple inheritance, and minimize use of operator
overloading (note that the Java programming language eliminates
multiple inheritance and operator overloading.)
- for C++, keep class methods small, less than 50 lines of code
per method is preferable.
- for C++, make liberal use of exception handlers
What is 'good design'?
'Design' could refer to many things, but often refers to
'functional design' or 'internal design'. Good internal
design is indicated by software code whose overall
structure is clear, understandable, easily modifiable, and
maintainable; is robust with sufficient error-handling and
status logging capability; and works correctly when implemented.
Good functional design is indicated by an application whose
functionality can be traced back to customer and end-user
requirements. (See further discussion of functional and internal
design in
'What's the big deal about requirements?'
in FAQ #2.) For programs that have a user interface, it's often a
good idea to assume that the end user will have little computer
knowledge and may not read a user manual or even the on-line
help; some common rules-of-thumb include:
- the program should act in a way that least surprises the user
- it should always be evident to the user what can be done next
and how to exit
- the program shouldn't let the users do something stupid without
warning them.
What is SEI? CMM? CMMI? ISO? IEEE? ANSI? Will it help?
- SEI = 'Software Engineering Institute' at Carnegie-Mellon University;
initiated by the U.S. Defense Department to help improve software
development processes.
- CMM = 'Capability Maturity Model', now called the CMMI ('Capability
Maturity Model Integration'), developed by the SEI. It's a model
of 5 levels of process 'maturity' that determine effectiveness
in delivering quality software. It is geared to large organizations
such as large U.S. Defense Department contractors. However, many of
the QA processes involved are appropriate to any organization, and
if reasonably applied can be helpful. Organizations can receive
CMMI ratings by undergoing assessments by qualified auditors.
Level 1 - characterized by chaos, periodic panics, and heroic
efforts required by individuals to successfully
complete projects. Few if any processes in place;
successes may not be repeatable.
Level 2 - software project tracking, requirements management,
realistic planning, and configuration management
processes are in place; successful practices can
be repeated.
Level 3 - standard software development and maintenance processes
are integrated throughout an organization; a Software
Engineering Process Group is is in place to oversee
software processes, and training programs are used to
ensure understanding and compliance.
Level 4 - metrics are used to track productivity, processes,
and products. Project performance is predictable,
and quality is consistently high.
Level 5 - the focus is on continouous process improvement. The
impact of new processes and technologies can be
predicted and effectively implemented when required.
Perspective on CMM ratings: During 1997-2001, 1018 organizations
were assessed. Of those, 27% were rated at Level 1, 39% at 2,
23% at 3, 6% at 4, and 5% at 5. (For ratings during the period
1992-96, 62% were at Level 1, 23% at 2, 13% at 3, 2% at 4, and
0.4% at 5.) The median size of organizations was 100 software
engineering/maintenance personnel; 32% of organizations were
U.S. federal contractors or agencies. For those rated at
Level 1, the most problematical key process area was in
Software Quality Assurance.
- ISO = 'International Organisation for Standardization' -
The ISO 9001:2000 standard (which replaces the previous standard
of 1994) concerns quality systems that are assessed
by outside auditors, and it applies to many kinds of production
and manufacturing organizations, not just software. It covers
documentation, design, development, production, testing, installation,
servicing, and other processes. The full set of standards consists of:
(a)Q9001-2000 - Quality Management Systems: Requirements;
(b)Q9000-2000 - Quality Management Systems: Fundamentals and
Vocabulary;
(c)Q9004-2000 - Quality Management Systems: Guidelines for
Performance Improvements.
To be ISO 9001 certified, a third-party auditor assesses
an organization, and certification is typically good
for about 3 years, after which a complete reassessment
is required. Note that ISO certification does not necessarily
indicate quality products - it indicates only that documented
processes are followed. Also see
http://www.iso.org/ for the
latest information. In the U.S. the standards can be purchased
via the ASQ web site at
http://www.asq.org/quality-press/
ISO 9126 defines six high level quality characteristics that can be used in software
evaluation. It includes functionality, reliability, usability, efficiency,
maintainability, and portability.
- IEEE = 'Institute of Electrical and Electronics Engineers' - among
other things, creates standards such as 'IEEE Standard for Software
Test Documentation' (IEEE/ANSI Standard 829), 'IEEE Standard
of Software Unit Testing (IEEE/ANSI Standard 1008), 'IEEE Standard
for Software Quality Assurance Plans' (IEEE/ANSI Standard 730),
and others.
- ANSI = 'American National Standards Institute', the primary industrial
standards body in the U.S.; publishes some software-related standards
in conjunction with the IEEE and ASQ (American Society for Quality).
- Other software development/IT management process assessment
methods besides CMMI and ISO 9000 include SPICE, Trillium, TickIT,
Bootstrap, ITIL, MOF, and CobiT.
- See the 'Other Resources' section
for further information available on the web.
What is the 'software life cycle'?
The life cycle begins when an application is first conceived
and ends when it is no longer in use. It includes aspects such as
initial concept, requirements analysis, functional design,
internal design, documentation planning, test planning, coding,
document preparation, integration, testing, maintenance,
updates, retesting, phase-out, and other aspects.
|
| |
MAINFRAME - COBOL INTERVIEW QUESTIONS
- Name the divisions in a COBOL program.
IDENTIFICATION DIVISION, ENVIRONMENT DIVISION, DATA DIVISION, PROCEDURE
DIVISION.
- What are the different data
types available in COBOL?
Alpha-numeric (X), alphabetic (A) and numeric (9).
- What does the INITIALIZE verb do? –
Alphabetic, Alphanumeric fields & alphanumeric edited items are set to
SPACES.
Numeric, Numeric edited items set to ZERO.
FILLER , OCCURS DEPENDING ON items left untouched.
- What is 77 level used for ?
Elementary level item. Cannot be subdivisions of other items (cannot be
qualified), nor can they be subdivided themselves.
- What is 88 level used for ?
For condition names.
- What is level 66 used for ?
For RENAMES clause.
- What does the IS NUMERIC clause establish ?
IS NUMERIC can be used on alphanumeric items, signed numeric & packed
decimal items and usigned numeric & packed decimal items. IS NUMERIC
returns TRUE if the item only consists of 0-9. However, if the item being
tested is a signed item, then it may contain 0-9, + and - .
- How do you define a table/array in COBOL?
01 ARRAYS.
05 ARRAY1 PIC X(9) OCCURS 10 TIMES.
05 ARRAY2 PIC X(6) OCCURS 20 TIMES INDEXED BY WS-INDEX.
- Can the OCCURS clause be at the 01 level?
No.
- What is the difference between index and subscript?
Subscript refers to the array occurrence while index is the displacement
(in no of bytes) from the beginning of the array. An index can only be
modified using PERFORM, SEARCH & SET.
Need to have index for a table in order to use SEARCH, SEARCH ALL.
- What is the difference between
SEARCH and SEARCH ALL?
SEARCH - is a serial search.
SEARCH ALL - is a binary search & the table must be sorted (
ASCENDING/DESCENDING KEY clause to be used & data loaded in this order)
before using SEARCH ALL.
- What should be the sorting
order for SEARCH ALL?
It can be either ASCENDING or DESCENDING. ASCENDING is default. If you want
the search to be done on an array sorted in descending order, then while
defining the array, you should give DESCENDING KEY clause. (You must load the
table in the specified order).
- What is binary search?
Search on a sorted array. Compare the item to be searched with the item at
the center. If it matches, fine else repeat the process with the left half or
the right half depending on where the item lies.
- My program has an array defined to have 10 items. Due to a bug, I find
that even if the program access the 11th item in this array, the program does
not abend. What is wrong with it?
Must use Compiler option SSRANGE if You want array bounds checking.Deafault
is NOSSRANGE.
How do you sort in a COBOL program? Give sort file definition, sort
statement syntax and meaning.
-
Syntax:
SORT file-1 ON ASCENDING/DESCENDING KEY key....
USING file-2
GIVING file-3.
USING can be substituted by INPUT PROCEDURE IS para-1 THRU para-2
GIVING can be substituted by OUTPUT PROCEDURE IS para-1 THRU para-2.
file-1 is the sort workfile and must be described using SD entry in FILE
SECTION.
file-2 is the input file for the SORT
and must be described using an FD entry in FILE SECTION and SELECT clause in FILE
CONTROL.
file-3 is the outfile from the SORT and must be described using an FD entry
in FILE SECTION and SELECT clause in FILE CONTROL.
file-1, file-2 & file-3 should not be opened explicitly.
INPUT PROCEDURE is executed before the sort and records must be RELEASEd to
the sort work file from the input procedure.
OUTPUT PROCEDURE is executed after all records have been sorted. Records
from the sort work file must be RETURNed one at a time to the output
procedure.
- How do you define a sort file in JCL that runs the COBOL program?
Use the SORTWK01, SORTWK02,..... dd names in the step. Number of sort
datasets depends on the volume of data being sorted, but a minimum of 3 is
required.
- What are the two ways of doing
sorting in a COBOL program? Give the formats.
See question 16.
- Give the format of USING and
GIVING in SORT statement. What are the restrictions with it?
See question 16. Restrictions - Cannot massage records, canot select
records to be sorted.
- What is the difference between performing a SECTION and a PARAGRAPH?
Performing a SECTION will cause all the paragraphs that are part of the
section, to be performed.
Performing a PARAGRAPH will cause only that paragraph to be
performed.
- What is the use of EVALUATE
statement?
Evaluate is like a case statement and can be used to replace nested Ifs.
The difference between EVALUATE and case is that no 'break' is required for
EVALUATE i.e. control comes out of the EVALUATE as soon as one match is
made.
VSAM
1. What are the different types of VSAM files available?
ESDS: Entry Sequence Data Set
KSDS: Key Sequence Data Set
RRDS: Relative Data Set
2. What is IDCAMS ?
IDCAMS is the Access Method Services program. You run the IDCAMS program and
supply AMS commands thru SYSIN. (examples of AMS commands are DELETE, DEFINE,
REPRO etc..).
3. Can AMS commands be run from the TSO prompt ?
Yes
4. Syntax of AMS modal commands ?
Note: these can be used only under IDCAMS and not from the TSO prompt.
IF LASTCC(or MAXCC) >(or <,= etc..) value -
THEN -
DO -
command set (such as DELETE,
DEFINE etc..)
ELSE -
DO -
command set
LASTCC - Condition code from the last function(such as delete) executed
MAXCC - Max condition code that was returned by any of the prev functions
SET is also a valid AMS command.
SET LASTCC (or MAXCC) = value
The maximum condition code is 16. A cond code of 4 indicates a warning. A
cond code of 8 is usually encountered on a DELETE of a dataset that is not
present.
5. Under IDCAMS , multiple functions
can be executed, each of which returns a cond code. What will be the condition code
returned to the operating system ?
The maximum condition code
generated is returned as the condition code of the IDCAMS step.
6. What is Control Interval, Control Area ?
Control Interval is analogous to a physical block for QSAM files. It is the
unit of i/o. Must be between 512 bytes to 32 k. Usually either 2K or 4K. A
larger control interval increases performance for sequential processing while
the reverse is true for random access. Under CICS when a record is locked, the
entire CI gets locked.
Control area is a group of control intervals. CA is used during allocation.
CA size is calculated based on the allocation type (cyl, tracks or records) and
can be max of 1 cylinder
7. What is FREESPACE ?
Coded in the DEFINE as FREESPACE(ci ca) where ci is the percentage of each
control interval to be left free for insertions, ca is the percentage of control
intervals in each control area to be left empty.
8. How do you decide on optimum values for CI, FREESPACE etc..?
CI size should be based on record length, type of processing. Usually CI is
4K. If record length is larger(>1K), chose 6K or 8K.
FREESPACE should be large if more number of insertions are envisaged. Usual
values are (20 20) when heavy updates are expected. CI size can be
calculated.
9. Would you specify FREESPACE for an ESDS?
No. Because you cannot insert records in an ESDS, also when you rewrite a
record, it must be of the same length. Thus putting any value for freespace does
not make any sense.
10. What is SHAREOPTS ?
SHAREOPTS is a parameter in the DEFINE and specifies how an object can be
shared among users. It is coded as SHAREOPTS(a b), where a is the cross region
share option ie how two or more jobs on a single system can share the file,
while b is the cross system share option ie how two or more jobs on different
MVSes can share the file. Usual value is (2 3).
|
| |
Data Warehousing Interview Questions
1) What do you know about Datawarehousing ?
Data warehousing is used for reporting and analysis of the data. It is primarily used to analyze data. Some of the additional uses of it are extraction and retrieval of data, manage, load and manipulate data. It has various tools which can transform, load, extract and manage the data.
2) State some of the benefits of dataware housing?
These are some of the benefits of dataware housing they are: -
1) Regardless of the data source it provides common data model this feature makes analysis of data much easier.
2) Inconsistency is identified during the loading process.
3) In case there is a crash of the database, database programmer can feel comfortable because it is stored in the dataware housing.
4) It is very efficient and will not slow down the operational system.
3) What are the different interconnected layers of a dataware house?
There are four different interconnected layers they are: -
• Operational database layer
• Informational access layer
• Data access layer
• Meta data layer.
4) Explain about the top design?
In a top design model data ware house is designed in a normalized enterprise model. This is chiefly used for business intelligence and management capabilities. Data used for business purpose and management can be met through a dataware house. It is used to generate dimensional views and is known to be good and stable against business changes.
5) Explain about the time variant feature of Dataware housing?
Dataware house detects and tracks all the changes according to time. This allows a database developer to detect the changes across time which helps him to keep a log.
6) Explain about the non-volatile feature of dataware house?
Data once written and saved in dataware house is static and it can never be deleted and over written once confirmed. It will be static and read-only. This can be used for future reporting and it allows good security feature.
7) Explain some disadvantages of dataware house?
These are some of the disadvantages of dataware house: -
1) It represents a very large project with a very broad scope which is a big disadvantage.
2) Upfront costs are very huge and the duration of the project from the start to the end user is significant.
3) It is inflexible and unresponsive to the departmental needs.
8) Explain about hybrid design model?
Due to the various risks and disadvantages presented by top down and bottom down models it has become imperative that Hybrid methodologies be used. This is used for fast turn around time and enterprise wide data consistency. This uses features and benefits from top down and bottom down models.
9) Explain about the bottom up design?
Bottom up design provides the advantage of a quick turnaround. As soon as the first data marts are created business values can be returned. Some of the disadvantages caused are due to multiple versions and false truth operations. Conforming dimensions and tight management can mitigate these risks.
10) State some of the disadvantages of data ware houses?
Some of the disadvantages are as follows: -
1) Dataware house can be costly due to high maintenance of the database. It is usually not static.
2) There is always a risk of it delivering outdated results which makes it less productive.
3) A fine line exists between dataware house and operational systems.
11) What do you think about the future of dataware housing?
Dataware housing will be used by organizations to analyze their huge pool of data. With the development of various dataware house appliances performance of dataware housing applications can be improved. There would be many more apps working in accordance with the Gartner Group report which makes it much user friendly and reliable.
12) What are the general stages of use of dataware house?
These are the general stages of use: -
1) Offline operational database
2) Offline dataware house
3) Real time dataware house
4) Integrated dataware house.
These are some of the questions which might be asked they are: -
1) Explain the hierarchy of dataware house?
2) State differences between reusable transformation and Mapplet?
3) Explain about IQD file and Cognos script editor?
4) State two major differences between a dataware house and operational dataware house?
There exist two major differences they are: -
1) It integrates information from a pre existing source database
2) It is used for analysis usually for OLAP where huge amounts of data occur frequently.
5) Explain about the integrated dataware house stage?
At this stage dataware house gets updated every time a transaction occurs. The transactions performed during this time are passed back to the operational systems which records the transactions.
What are types of Facts?
Categories: Data WareHousing Interview Questions
What are non-additive facts in detail?
Categories: Data WareHousing Interview Questions
What is the difference between view and materialized view?
Categories: Data WareHousing Interview Questions
Why should you put your data warehouse on a different system than your OLTP system?
Categories: Data WareHousing Interview Questions
What are conformed dimensions?
Categories: Data WareHousing Interview Questions
What are Data Marts?
Categories: Data WareHousing Interview Questions
What is ETL?
Categories: Data WareHousing Interview Questions
What does level of Granularity of a fact table signify?
Categories: Data WareHousing Interview Questions
What is the Difference between OLTP and OLAP?
Categories: Data WareHousing Interview Questions
What are non-additive facts?
Categories: Data WareHousing Interview Questions
What are slowly changing dimensions?
Categories: Data WareHousing Interview Questions
Why are OLTP database designs not generally a good idea for a Data Warehouse?
Categories: Data WareHousing Interview Questions
What are Semi-additive and factless facts and in which scenario will you use such kinds of fact tables?
Categories: Data WareHousing Interview Questions
|
| |
Interview questions for Oracle database administrator
- Differentiate between TRUNCATE and DELETE
- What is the maximum buffer size that can be specified using the DBMS_OUTPUT.ENABLE function?
- Can you use a commit statement within a database trigger?
- What is an UTL_FILE.What are different procedures and functions associated with it?
- Difference between database triggers and form triggers?
- What is OCI. What are its uses?
- What are ORACLE PRECOMPILERS?
- What is syntax for dropping a procedure and a function? Are these operations possible?
- Can a function take OUT parameters. If not why?
- Can the default values be assigned to actual parameters?
- What is difference between a formal and an actual parameter?
- What are different modes of parameters used in functions and procedures?
- Difference between procedure and function.
- Can cursor variables be stored in PL/SQL tables.If yes how. If not why?
- How do you pass cursor variables in PL/SQL?
- How do you open and close a cursor variable.Why it is required?
- What should be the return type for a cursor variable.Can we use a scalar data type as return type?
- What is use of a cursor variable? How it is defined?
- What WHERE CURRENT OF clause does in a cursor?
- Difference between NO DATA FOUND and %NOTFOUND
- What is a cursor for loop?
- What are cursor attributes?
- Difference between an implicit & an explicit cursor.
- What is a cursor?
- What is the purpose of a cluster?
- How do you find the numbert of rows in a Table ?
- Display the number value in Words?
- What is a pseudo column. Give some examples?
- How you will avoid your query from using indexes?
- What is a OUTER JOIN?
- Which is more faster - IN or EXISTS?
- When do you use WHERE clause and when do you use HAVING clause?
- There is a % sign in one field of a column. What will be the query to find it?
- What is difference between SUBSTR and INSTR?
- Which datatype is used for storing graphics and images?
- What is difference between SQL and SQL*PLUS?
- What is difference between UNIQUE and PRIMARY KEY constraints?
- What is difference between Rename and Alias?
- What are various joins used while writing SUBQUERIES?
Describe the nature of the relationship between Oracle and D&B?
How specifically will D&B data enhance the Oracle Applications?
How specifically will D&B data be accessed from within the Oracle Applications?
What types of D&B information will be available within Oracle Applications?
What are the benefits to customers in using D&B for Oracle Applications?
What are the technical prerequisites for using D&B for Oracle Applications?
Who will provide technical support of the D&B services?
Describe the nature of the relationship between Oracle and D&B?
D&B and Oracle have formed a strategic alliance to offer a solution that combines the specific strengths of both parties,
D&B's global data content and Oracle Financials. The joint offering, D&B for Oracle Applications, seamlessly integrates D&B
business information into Oracle Financials, enabling users to store up-to-date identification, demographic, risk/financial,
and socioeconomic information on their vendors and customers. D&B information, which may be updated via batch and online access,
is used for both strategic and tactical analyses and decision support.
How specifically will D&B data enhance the Oracle Applications?
D&B for Oracle Applications is a comprehensive solution that includes D&B's Data Rationalization Services and online access
to D&B's global information base. These services provide Oracle customers with the ability to cleanse and standardize existing
customer and vendor identification information; identify and eliminate redundant records; validate the existence and status
of newly acquired customers and vendors; and obtain value-added demographic, risk, financial and socio-economic data to maximize
ongoing decision support.
How specifically will D&B data be accessed from within the Oracle Applications?
Currently, users with authorized access to Oracle's A/P and A/R modules will be able to access D&B's information base via
the Internet.
What types of D&B information will be available within Oracle Applications?
Business identification, demographic data, socioeconomic data, linkage, financial statement, risk and payment data will be
offered through various data packages and full text reports.
What are the benefits to customers in using D&B for Oracle Applications?
- Increase and maintain the integrity of their customer and vendor information
- Increase efficiency and accuracy in setting up new customers and vendors
- Control information costs through shared access to D&B information
- Maximize the company's purchasing power through accurate identification of global vendor relationships
- Proactively manage high risk customer and vendor relationships
- Streamline database management through identification and elimination of duplicate records
- Optimize marketing efforts through increased understanding of customer demographic and geographic profiles
What are the technical prerequisites for using D&B for Oracle Applications?
Technical prerequisites for installation of D&B for Oracle Applications are consistent with current Oracle Financials hardware
and software requirements. The software also requires Oracle Applications Server version 4.0 and the Oracle Financials Accounts
Receivable, Accounts Payable, or Purchasing modules.
Who will provide technical support of the D&B services?
D&B will provide support for issues relating to data content and access to our server. Oracle will provide technical support
for all issues related to the applications module.
|
Here are some SQL Server DBA/Developer
interview questions I faced myself personally and/or
heard from people. I will try to answer these questions
briefly here, but be advised that these answers may not
be complete and it will be better for you to go through
text books, books online and other resources on the net.
Before you go for the interview, be prepared to explain
the database design of one of your latest projects. Don't
be surprised if the interviewer asks you to draw ER
diagrams.
| What is normalization? Explain
different levels of normalization? |
Check out the article Q100139 from
Microsoft knowledge base and of course, there's much more
information available in the net. It'll be a good idea to
get a hold of any RDBMS fundamentals text book,
especially the one by C. J. Date. Most of the times, it
will be okay if you can explain till third normal form.
| What is denormalization and when
would you go for it? |
As the name indicates, denormalization is
the reverse process of normalization. It's the controlled
introduction of redundancy in to the database design. It
helps improve the query performance as the number of
joins could be reduced.
| How do you implement one-to-one,
one-to-many and many-to-many relationships while
designing tables? |
One-to-One relationship can be
implemented as a single table and rarely as two tables
with primary and foreign key relationships.
One-to-Many relationships are implemented by splitting
the data into two tables with primary key and foreign key
relationships.
Many-to-Many relationships are implemented using a
junction table with the keys from both the tables forming
the composite primary key of the junction table.
| What's the difference between a
primary key and a unique key? |
Both
primary key and unique enforce uniqueness of the column
on which they are defined. But by default primary key
creates a clustered index on the column, where are unique
creates a nonclustered index by default. Another major
difference is that, primary key doesn't allow NULLs, but
unique key allows one NULL only.
| What are user defined datatypes
and when you should go for them? |
User
defined datatypes let you extend the base SQL Server
datatypes by providing a descriptive name, and format to
the database. Take for example, in your database, there
is a column called Flight_Num which appears in many
tables. In all these tables it should be varchar(8). In
this case you could create a user defined datatype called
Flight_num_type of varchar(8) and use it across all your
tables.
See sp_addtype, sp_droptype in books online.
| What is bit datatype and what's
the information that can be stored inside a bit
column? |
Bit
datatype is used to store boolean information like 1 or 0
(true or false). Untill SQL Server 6.5 bit datatype could
hold either a 1 or 0 and there was no support for NULL.
But from SQL Server 7.0 onwards, bit datatype can
represent a third state, which is NULL.
| Define candidate key, alternate
key, composite key. |
A
candidate key is one that can identify each row of a
table uniquely. Generally a candidate key becomes the
primary key of the table. If the table has more than one
candidate key, one of them will become the primary key,
and the rest are called alternate keys.
A key formed by combining at least two or more columns is
called composite key.
| What are defaults? Is there a
column to which a default can't be bound? |
A default
is a value that will be used by a column, if no value is
supplied to that column while inserting data. IDENTITY columns and timestamp columns
can't have defaults bound to them. See CREATE DEFUALT in
books online.
| What is a transaction and what
are ACID properties? |
A transaction is a logical unit of work
in which, all the steps must be performed or none. ACID
stands for Atomicity, Consistency, Isolation,
Durability. These are the properties of a transaction.
For more information and explanation of these properties,
see SQL Server books online or any RDBMS fundamentals
text book.
| Explain different isolation
levels |
An isolation level determines the degree
of isolation of data between concurrent transactions. The
default SQL Server isolation level is Read Committed.
Here are the other isolation levels (in the ascending
order of isolation): Read Uncommitted, Read Committed,
Repeatable Read, Serializable. See SQL Server books
online for an explanation of the isolation levels. Be
sure to read about SET TRANSACTION ISOLATION LEVEL, which
lets you customize the isolation level at the connection
level.
CREATE INDEX myIndex ON
myTable(myColumn)
What type of Index will get created after
executing the above statement? |
Non-clustered index. Important thing to
note: By default a clustered index gets created on the
primary key, unless specified otherwise.
| What's the maximum size of a row? |
8060 bytes. Don't be surprised with
questions like 'what is the maximum number of columns per
table'. Check out SQL Server books online for the page
titled: "Maximum Capacity Specifications".
| Explain Active/Active and
Active/Passive cluster configurations |
Hopefully you have experience setting up
cluster servers. But if you don't, at least be familiar
with the way clustering works and the two clusterning
configurations Active/Active and Active/Passive. SQL
Server books online has enough information on this topic
and there is a good white paper available on Microsoft
site.
| Explain the architecture of SQL
Server |
This is a very important question and you
better be able to answer it if consider yourself a DBA.
SQL Server books online is the best place to read about
SQL Server architecture. Read up the chapter dedicated to
SQL Server Architecture.
Lock
escalation is the process of converting a lot of low
level locks (like row locks, page locks) into higher
level locks (like table locks). Every lock is a memory
structure too many locks would mean, more memory being
occupied by locks. To prevent this from happening, SQL
Server escalates the many fine-grain locks to fewer
coarse-grain locks. Lock escalation threshold was
definable in SQL Server 6.5, but from SQL Server 7.0
onwards it's dynamically managed by SQL Server.
| What's the difference between
DELETE TABLE and TRUNCATE TABLE commands? |
DELETE
TABLE is a logged operation, so the deletion of each row
gets logged in the transaction log, which makes it slow.
TRUNCATE TABLE also deletes all the rows in a table, but
it won't log the deletion of each row, instead it logs
the deallocation of the data pages of the table, which
makes it faster. Of course, TRUNCATE TABLE can be rolled
back.
| Explain the storage models of
OLAP |
Check out MOLAP, ROLAP and HOLAP in SQL
Server books online for more infomation.
| What are the new features
introduced in SQL Server 2000 (or the latest
release of SQL Server at the time of your
interview)? What changed between the previous
version of SQL Server and the current version? |
This
question is generally asked to see how current is your
knowledge. Generally there is a section in the beginning
of the books online titled "What's New", which
has all such information. Of course, reading just that is
not enough, you should have tried those things to better
answer the questions. Also check out the section titled
"Backward Compatibility" in books online which
talks about the changes that have taken place in the new
version.
| What are constraints? Explain
different types of constraints. |
Constraints
enable the RDBMS enforce the integrity of the database
automatically, without needing you to create triggers,
rule or defaults.
Types of constraints: NOT NULL, CHECK, UNIQUE, PRIMARY
KEY, FOREIGN KEY
For an explanation of these constraints see books online
for the pages titled: "Constraints" and
"CREATE TABLE", "ALTER TABLE"
| Whar is an index? What are the
types of indexes? How many clustered indexes can
be created on a table? I create a separate index
on each column of a table. what are the
advantages and disadvantages of this approach? |
Indexes in
SQL Server are similar to the indexes in books. They help
SQL Server retrieve the data quicker.
Indexes are of two types. Clustered indexes and
non-clustered indexes. When you craete a clustered index
on a table, all the rows in the table are stored in the
order of the clustered index key. So, there can be only
one clustered index per table. Non-clustered indexes have
their own storage separate from the table data storage.
Non-clustered indexes are stored as B-tree structures (so
do clustered indexes), with the leaf level nodes having
the index key and it's row locater. The row located could
be the RID or the Clustered index key, depending up on
the absence or presence of clustered index on the table.
If you create an index on each column of a table, it
improves the query performance, as the query optimizer
can choose from all the existing indexes to come up with
an efficient execution plan. At the same t ime, data
modification operations (such as INSERT, UPDATE, DELETE)
will become slow, as every time data changes in the
table, all the indexes need to be updated. Another
disadvantage is that, indexes need disk space, the more
indexes you have, more disk space is used.
| What is RAID and what are
different types of RAID configurations? |
RAID stands for Redundant Array of
Inexpensive Disks, used to provide fault tolerance to
database servers. There are six RAID levels 0 through 5
offering different levels of performance, fault
tolerance. MSDN has some information about RAID levels
and for detailed information, check out the RAID advisory
board's homepage
| What are the steps you will take
to improve performance of a poor performing
query? |
This is a very open ended question and
there could be a lot of reasons behind the poor
performance of a query. But some general issues that you
could talk about would be: No indexes, table scans,
missing or out of date statistics, blocking, excess
recompilations of stored procedures, procedures and
triggers without SET NOCOUNT ON, poorly written query
with unnecessarily complicated joins, too much
normalization, excess usage of cursors and temporary
tables.
Some of the tools/ways that help you troubleshooting
performance problems are: SET SHOWPLAN_ALL ON, SET
SHOWPLAN_TEXT ON, SET STATISTICS IO ON, SQL Server
Profiler, Windows NT /2000 Performance monitor, Graphical
execution plan in Query Analyzer.
Download the white paper on performance tuning SQL Server
from Microsoft web site. Don't forget to check out sql-server-performance.com
| What are the steps you will take,
if you are tasked with securing an SQL Server? |
Again this is another open ended
question. Here are some things you could talk about:
Preferring NT authentication, using server, databse and
application roles to control access to the data, securing
the physical database files using NTFS permissions, using
an unguessable SA password, restricting physical access
to the SQL Server, renaming the Administrator account on
the SQL Server computer, disabling the Guest account,
enabling auditing, using multiprotocol encryption,
setting up SSL, setting up firewalls, isolating SQL
Server from the web server etc.
Read the white paper on SQL Server security from
Microsoft website. Also check out My SQL Server security best practices
| What is a deadlock and what is a
live lock? How will you go about resolving
deadlocks? |
Deadlock is a situation when two
processes, each having a lock on one piece of data,
attempt to acquire a lock on the other's piece. Each
process would wait indefinitely for the other to
release the lock, unless one of the user processes is
terminated. SQL Server detects deadlocks and terminates
one user's process.
A livelock is one, where a request for an exclusive
lock is repeatedly denied because a series of overlapping
shared locks keeps interfering. SQL Server detects the
situation after four denials and refuses further shared
locks. A livelock also occurs when read transactions
monopolize a table or page, forcing a write transaction
to wait indefinitely.
Check out SET DEADLOCK_PRIORITY and "Minimizing
Deadlocks" in SQL Server books online. Also
check out the article Q169960 from Microsoft knowledge
base.
| What is blocking and how would
you troubleshoot it? |
Blocking
happens when one connection from an application holds a
lock and a second connection requires a conflicting lock
type. This forces the second connection to wait, blocked
on the first.
Read up the following topics in SQL Server books online:
Understanding and avoiding blocking, Coding efficient
transactions.
| Explain CREATE DATABASE syntax |
Many of us
are used to craeting databases from the Enterprise
Manager or by just issuing the command: CREATE DATABAE
MyDB. But what if you have to create a database with two
filegroups, one on drive C and the other on drive D with
log on drive E with an initial size of 600 MB and with a
growth factor of 15%? That's why being a DBA you should
be familiar with the CREATE DATABASE syntax. Check out
SQL Server books online for more information.
| How to restart SQL Server in
single user mode? How to start SQL Server in
minimal configuration mode? |
SQL Server
can be started from command line, using the SQLSERVR.EXE.
This EXE has some very important parameters with which a
DBA should be familiar with. -m is used for starting SQL
Server in single user mode and -f is used to start the
SQL Server in minimal confuguration mode. Check out SQL
Server books online for more parameters and their
explanations.
| As a part of your job, what are
the DBCC commands that you commonly use for
database maintenance? |
DBCC
CHECKDB, DBCC CHECKTABLE, DBCC CHECKCATALOG, DBCC
CHECKALLOC, DBCC SHOWCONTIG, DBCC SHRINKDATABASE, DBCC
SHRINKFILE etc. But there are a whole load of DBCC
commands which are very useful for DBAs. Check out SQL
Server books online for more information.
| What are statistics, under what
circumstances they go out of date, how do you
update them? |
Statistics
determine the selectivity of the indexes. If an indexed
column has unique values then the selectivity of that
index is more, as opposed to an index with non-unique
values. Query optimizer uses these indexes in determining
whether to choose an index or not while executing a
query.
Some situations under which you should update statistics:
1) If there is significant change in the key values in
the index
2) If a large amount of data in an indexed column has
been added, changed, or removed (that is, if the
distribution of key values has changed), or the table has
been truncated using the TRUNCATE TABLE statement and
then repopulated
3) Database is upgraded from a previous version
Look up SQL Server books online for the following
commands: UPDATE STATISTICS, STATS_DATE, DBCC
SHOW_STATISTICS, CREATE STATISTICS, DROP STATISTICS,
sp_autostats, sp_createstats, sp_updatestats
| What are the different ways of
moving data/databases between servers and
databases in SQL Server? |
There are
lots of options available, you have to choose your option
depending upon your requirements. Some of the options you
have are: BACKUP/RESTORE, dettaching and attaching
databases, replication, DTS, BCP, logshipping,
INSERT...SELECT, SELECT...INTO, creating INSERT scripts
to generate data.
| Explian different types of
BACKUPs avaialabe in SQL Server? Given a
particular scenario, how would you go about
choosing a backup plan? |
Types of
backups you can create in SQL Sever 7.0+ are Full
database backup, differential database backup,
transaction log backup, filegroup backup. Check out the
BACKUP and RESTORE commands in SQL Server books online.
Be prepared to write the commands in your interview.
Books online also has information on detailed
backup/restore architecture and when one should go for a
particular kind of backup.
| What is database replicaion? What
are the different types of replication you can
set up in SQL Server? |
Replication
is the process of copying/moving data between databases
on the same or different servers. SQL Server supports the
following types of replication scenarios:
- Snapshot
replication
- Transactional
replication (with immediate updating subscribers,
with queued updating subscribers)
- Merge replication
See SQL Server books
online for indepth coverage on replication. Be prepared
to explain how different replication agents function,
what are the main system tables used in replication etc.
| How to determine the service pack
currently installed on SQL Server? |
The global variable @@Version stores the
build number of the sqlservr.exe, which is used to
determine the service pack installed. To know more about
this process visit SQL Server
service packs and versions.
| What are cursors? Explain
different types of cursors. What are the
disadvantages of cursors? How can you avoid
cursors? |
Cursors
allow row-by-row prcessing of the resultsets.
Types of cursors: Static, Dynamic, Forward-only,
Keyset-driven. See books online for more information.
Disadvantages of cursors: Each time you fetch a row from
the cursor, it results in a network roundtrip, where as a
normal SELECT query makes only one rowundtrip, however
large the resultset is. Cursors are also costly because
they require more resources and temporary storage
(results in more IO operations). Furthere, there are
restrictions on the SELECT statements that can be used
with some types of cursors.
Most of the times, set based operations can be used
instead of cursors. Here is an example:
If you have to give a flat hike to your employees using
the following criteria:
Salary between 30000 and 40000 -- 5000 hike
Salary between 40000 and 55000 -- 7000 hike
Salary between 55000 and 65000 -- 9000 hike
In this situation many developers tend to use a cursor,
determine each employee's salary and update his salary
according to the above formula. But the same can be
achieved by multiple update statements or can be combined
in a single UPDATE statement as shown below:
UPDATE
tbl_emp SET salary =
CASE WHEN salary BETWEEN 30000 AND 40000 THEN salary +
5000
WHEN salary BETWEEN 40000 AND 55000 THEN salary + 7000
WHEN salary BETWEEN 55000 AND 65000 THEN salary + 10000
END
Another situation
in which developers tend to use cursors: You need to call
a stored procedure when a column in a particular row
meets certain condition. You don't have to use cursors
for this. This can be achieved using WHILE loop, as long
as there is a unique key to identify each row. For
examples of using WHILE loop for row by row processing,
check out the 'My code library' section of my site or search for WHILE.
| Write down the general syntax for
a SELECT statements covering all the options. |
Here's the
basic syntax: (Also checkout SELECT in books online for
advanced syntax).
SELECT select_list
[INTO new_table_]
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]
| What is a join and explain
different types of joins. |
Joins are
used in queries to explain how different tables are
related. Joins also let you select data from a table
depending upon data from another table.
Types of joins: INNER JOINs, OUTER JOINs, CROSS JOINs.
OUTER JOINs are further classified as LEFT OUTER JOINS,
RIGHT OUTER JOINS and FULL OUTER JOINS.
For more information see pages from books online titled:
"Join Fundamentals" and "Using
Joins".
| Can you have a nested
transaction? |
Yes, very
much. Check out BEGIN TRAN, COMMIT, ROLLBACK, SAVE TRAN
and @@TRANCOUNT
| What is an extended stored
procedure? Can you instantiate a COM object by
using T-SQL? |
An
extended stored procedure is a function within a DLL
(written in a programming language like C, C++ using Open
Data Services (ODS) API) that can be called from T-SQL,
just the way we call normal stored procedures using the
EXEC statement. See books online to learn how to create
extended stored procedures and how to add them to SQL
Server.
Yes, you can instantiate a COM (written in languages like
VB, VC++) object from T-SQL by using sp_OACreate stored
procedure. Also see books online for sp_OAMethod,
sp_OAGetProperty, sp_OASetProperty, sp_OADestroy. For an
example of creating a COM object in VB and calling it
from T-SQL,
| What is the system function to
get the current user's user id? |
USER_ID().
Also check out other system functions like USER_NAME(),
SYSTEM_USER, SESSION_USER, CURRENT_USER, USER,
SUSER_SID(), HOST_NAME().
| What are triggers? How many
triggers you can have on a table? How to invoke a
trigger on demand? |
Triggers
are special kind of stored procedures that get executed
automatically when an INSERT, UPDATE or DELETE operation
takes place on a table.
In SQL Server 6.5 you could define only 3 triggers per
table, one for INSERT, one for UPDATE and one for DELETE.
From SQL Server 7.0 onwards, this restriction is gone,
and you could create multiple triggers per each action.
But in 7.0 there's no way to control the order in which
the triggers fire. In SQL Server 2000 you could specify
which trigger fires first or fires last using
sp_settriggerorder
Triggers can't be invoked on demand. They get triggered
only when an associated action (INSERT, UPDATE, DELETE)
happens on the table on which they are defined.
Triggers are generally used to implement business rules,
auditing. Triggers can also be used to extend the
referential integrity checks, but wherever possible, use
constraints for this purpose, instead of triggers, as
constraints are much faster.
Till SQL Server 7.0, triggers fire only after the data
modification operation happens. So in a way, they are
called post triggers. But in SQL Server 2000 you could
create pre triggers also. Search SQL Server 2000 books
online for INSTEAD OF triggers.
Also check out books online for 'inserted table',
'deleted table' and COLUMNS_UPDATED()
| There is a trigger defined for
INSERT operations on a table, in an OLTP system.
The trigger is written to instantiate a COM
object and pass the newly insterted rows to it
for some custom processing. What do you think of
this implementation? Can this be implemented
better? |
Instantiating
COM objects is a time consuming process and since you are
doing it from within a trigger, it slows down the data
insertion process. Same is the case with sending emails
from triggers. This scenario can be better implemented by
logging all the necessary data into a separate table, and
have a job which periodically checks this table and does
the needful.
| What is a self join? Explain it
with an example. |
Self join
is just like any other join, except that two instances of
the same table will be joined in the query. Here is an
example: Employees table which contains rows for normal
employees as well as managers. So, to find out the
managers of all the employees, you need a self join.
CREATE TABLE emp
(
empid int,
mgrid int,
empname char(10)
)
INSERT emp SELECT 1,2,'Vyas'
INSERT emp SELECT 2,3,'Mohan'
INSERT emp SELECT 3,NULL,'Shobha'
INSERT emp SELECT 4,2,'Shridhar'
INSERT emp SELECT 5,2,'Sourabh'
SELECT t1.empname [Employee], t2.empname [Manager]
FROM emp t1, emp t2
WHERE t1.mgrid = t2.empid
Here's an advanced query using a LEFT OUTER JOIN
that even returns the employees without managers (super bosses)
SELECT t1.empname [Employee], COALESCE(t2.empname, 'No manager') [Manager]
FROM emp t1
LEFT OUTER JOIN
emp t2
ON
t1.mgrid = t2.empid
|
| |
1) General questions.
2) Relatively basic questions, likely to be asked by beginners.
3) Intermediate questions.
- 3.1) How do I find the creation time of a file?
- 3.2) How do I use "rsh" without having the rsh hang around until the remote command has completed?
- 3.3) How do I truncate a file?
- 3.4) Why doesn't find's "{}" symbol do what I want?
- 3.5) How do I set the permissions on a symbolic link?
- 3.6) How do I "undelete" a file?
- 3.7) How can a process detect if it's running in the background?
- 3.8) Why doesn't redirecting a loop work as intended? (Bourne shell)
- 3.9) How do I run 'passwd', 'ftp', 'telnet', 'tip' and other interactive programs from a shell script or in the background?
- 3.10) How do I find the process ID of a program with a particular name from inside a shell script or C program?
- 3.11) How do I check the exit status of a remote command executed via "rsh" ?
- 3.12) Is it possible to pass shell variable settings into an awk program?
- 3.13) How do I get rid of zombie processes that persevere?
- 3.14) How do I get lines from a pipe as they are written instead of only in larger blocks?
4) Advanced questions, likely to be asked by people who thought they already knew all of the answers.
- 4.1) How do I read characters from a terminal without requiring the user to hit RETURN?
- 4.2) How do I check to see if there are characters to be read without actually reading?
- 4.3) How do I find the name of an open file?
- 4.4) How can an executing program determine its own pathname?
- 4.5) How do I use popen() to open a process for reading AND writing?
- 4.6) How do I sleep() in a C program for less than one second?
- 4.7) How can I get setuid shell scripts to work?
- 4.8) How can I find out which user or process has a file open or is using a particular file system (so that I can unmount it?)
- 4.9) How do I keep track of people who are fingering me?
- 4.10) Is it possible to reconnect a process to a terminal after it has been disconnected, e.g. after starting a program in the background and logging out?
- 4.11) Is it possible to "spy" on a terminal, displaying the output that's appearing on it on another terminal?
5) Questions pertaining to the various shells, and the differences.
- 5.1) Can shells be classified into categories?
- 5.2) How do I "include" one shell script from within another shell script?
- 5.3) Do all shells have aliases? Is there something else that can be used?
- 5.4) How are shell variables assigned?
- 5.5) How can I tell if I am running an interactive shell?
- 5.6) What "dot" files do the various shells use?
- 5.7) I would like to know more about the differences between the various shells. Is this information available some place?
6) An overview of Unix variants.
- 6.1) Disclaimer, introduction and acknowledgements.
- 6.2) A very brief look at Unix history.
- 6.3) Main Unix flavors.
- 6.4) Unix Standards.
- 6.5) Identifying your Unix flavor.
- 6.6) Brief notes on some well-known (commercial/PD) Unices.
- 6.7) Real-time Unices.
- 6.8) Unix glossary.
7) An comparison of configuration management systems (RCS, SCCS).
- 7.1) RCS vs SCCS: Introduction
- 7.2) RCS vs SCCS: How do the interfaces compare?
- 7.3) RCS vs SCCS: What's in a Revision File?
- 7.4) RCS vs SCCS: What are the keywords?
- 7.5) What's an RCS symbolic name?
- 7.6) RCS vs SCCS: How do they compare for performance?
- 7.7) RCS vs SCCS: Version Identification.
- 7.8) RCS vs SCCS: How do they handle problems?
7.9) RCS vs SCCS: How do they interact with make(1)?
7.10) RCS vs SCCS: Conversion.
7.11) RCS vs SCCS: Support
7.12) RCS vs SCCS: Command Comparison
7.13) RCS vs SCCS: Acknowledgements
7.14) Can I get more information on configuration management systems?
|
| |
Linux network administrator questions
A pretty funny story - someone was offered a test of basic Linux questions for a junior network administrator position, and figured out that the best way to impress the future employer with good answers is to post the list on UbuntuForums. Good idea, right? That’s where all the Linux experts hang out. Unfortunately, that’s where the employer hung out as well:
It didn’t seem to me that I was asking too much for people to use mailing lists, forums, IRC whatever to compile the answers themselves. I actually expected to see some questions show up on forums but I didn’t expect someone to paste the entire thing and expect the forum users to do all the work that would qualify you for an interview. I think at this point you could save us all some time and not turn the answers back in, I already have the information I need on your answers.
Anyway, the list has been made public, so enjoy:
- Give an example of set of shell commands that will give you the number of files in a directory
- How do you tell what process has a TCP port open in Linux
- On a Red Hat Linux Variant how do you control whether a service starts when the system boots
- How do you tell the amount of free disk space left on a volume
- Give an example of a set of shell commands to tell how many times “bob” has logged on to the system this month
- Give an example of a recursively copying a directory from one location to another.
- How do you modify the IP and Net mask of a system running a Red Hat Variant of Linux
Linux command line Q&A
- You need to see the last fifteen lines of the files dog, cat and horse. What command should you use?
tail -15 dog cat horse The tail utility displays the end of a file. The -15 tells tail to display the last fifteen lines of each specified file.
- Who owns the data dictionary?
The SYS user owns the data dictionary. The SYS and SYSTEM users are created when the database is created.
- How do you list the files in an UNIX directory while also showing hidden files?
- How do you execute a UNIX command in the background?
- What UNIX command will control the default file permissions when files are created?
- Explain the read, write, and execute permissions on a UNIX directory.
- What is the difference between a soft link and a hard link?
- Give the command to display space usage on the UNIX file system.
- Explain iostat, vmstat and netstat.
- How would you change all occurrences of a value using VI?
- Give two UNIX kernel parameters that effect an Oracle install
- Briefly, how do you install Oracle software on UNIX.
This is an aggregated list of questions discussed for hiring an IT guy for your organization at SpiceWorks community forum. Check out their discussion, and description of what question are good and which ones are not that good.
- What port does telnet use?
- What is SMTP?
- How would you troubleshoot a printer?
- How does traceroute work?
- Walk me through everything that happens in the network from the moment you punch in www.google.com in the address bar to when the browser displays the page?
- Can you work this weekend?
- Why was it that you left the last job that you were at?
- What do you think your top 3 strengths are?
- What is most important to you in a job?
- Major difference between FAT and NTFS on a local machine?
- How many passwords by default are remembered in an active directory?
- What is a C name record (in DNS)?
- What is a LM host file used for?
- Can you name the FSMO roles in active directory?
- What tolls would you use to gage the effect of group policy before using any tools?
- Explain Active Directory sites and services and linked cost routing?
- When would you use circular logging and exchange?
- Exhange related question - as an echange admin if someone asked you how to determine if mail was delivered or not which tool would you use?
- Can you explain how you configurated SMS.
- Rate yourself in 3 different areas (1-5, 5 is expert)
- Explain the difference between a static library and a dynamic library? - Static library is linked into the executable, while a dynamic library (or shared object) is loaded while the executable has started.
- How do you create a static library? - If you have a collection of object (.o) files, you can do it by running ar command. Generally a static library has a .a extension, and you can link it into an executable by providing -l libraryname to gcc.
- Where should the developed libraries be installed on the system? - GNU recommends /usr/local/bin for binaries and /usr/local/lib for libraries.
- What’s LD_LIBRARY_PATH? - It’s an environment variable that lists all the directories which should be searches for libraries before the standard directories are searched.
- How do you create a shared library? - Create the object file with -fPIC for position-independent code, then run gcc with -shared option.
- How do you install a shared library? - Run ldconfig in the standard directory that it’s installed in.
- What does ldd do? - It shows a list of installed shared libraries.
- How do you dynamically load a library in your app? - Use dlopen()
- What does nm command do? - It reports the list of symbols in a given library.
|
| |
PHP interview questions
Feel free to post the answers and discuss the questions in the comments. Mizanur Rahman also posted some detailed answers on his blog.
- What are the differences between Get and post methods in form submitting, give the case where we can use get and we can use post methods?
- Who is the father of PHP and explain the changes in PHP versions?
- How can we submit a form without a submit button?
- In how many ways we can retrieve the date in the result set of mysql using PHP?
- What is the difference between mysql_fetch_object and mysql_fetch_array?
- What is the difference between $message and $$message?
- How can we extract string ‘techinterviews.com ‘ from a string ‘http://www.techinterviews.com’ using regular expression of PHP?
- How can we create a database using PHP and mysql?
- What are the differences between require and include, include_once?
- Can we use include (”techinterviews.php”) two times in a PHP page “makeit.PHP”?
- What are the different tables present in mysql, which type of table is generated when we are creating a table in the following syntax: create table employee(eno int(2),ename varchar(10)) ?
- Functions in IMAP, POP3 AND LDAP?
- How can I execute a PHP script using command line?
- Suppose your Zend engine supports the mode <? ?> Then how can u configure your PHP Zend engine to support <?PHP ?> mode ?
- Shopping cart online validation i.e. how can we configure Paypal, etc.?
- What is meant by nl2br()?
- Draw the architecture of Zend engine?
- What are the current versions of apache, PHP, and mysql?
- What are the reasons for selecting lamp (linux, apache, mysql, PHP) instead of combination of other software programmes, servers and operating systems?
- How can we encrypt and decrypt a data present in a mysql table using mysql?
- How can we encrypt the username and password using PHP?
- What are the features and advantages of object-oriented programming?
- What are the differences between procedure-oriented languages and object-oriented languages?
- What is the use of friend function?
- What are the differences between public, private, protected, static, transient, final and volatile?
- What are the different types of errors in PHP?
- What is the functionality of the function strstr and stristr?
- What are the differences between PHP 3 and PHP 4 and PHP 5?
- How can we convert asp pages to PHP pages?
- What is the functionality of the function htmlentities?
- How can we get second of the current time using date function?
- How can we convert the time zones using PHP?
- What is meant by urlencode and urldocode?
- What is the difference between the functions unlink and unset?
- How can we register the variables into a session?
- How can we get the properties (size, type, width, height) of an image using PHP image functions?
- How can we get the browser properties using PHP?
- What is the maximum size of a file that can be uploaded using PHP and how can we change this?
- How can we increase the execution time of a PHP script?
- How can we take a backup of a mysql table and how can we restore it. ?
- How can we optimize or increase the speed of a mysql select query?
- How many ways can we get the value of current session id?
- How can we destroy the session, how can we unset the variable of a session?
- How can we destroy the cookie?
- How many ways we can pass the variable through the navigation between the pages?
- What is the difference between ereg_replace() and eregi_replace()?
- What are the different functions in sorting an array?
- How can we know the count/number of elements of an array?
- What is the PHP predefined variable that tells the What types of images that PHP supports?
- How can I know that a variable is a number or not using a JavaScript?
- List out some tools through which we can draw E-R diagrams for mysql.
- How can I retrieve values from one database server and store them in other database server using PHP?
- List out the predefined classes in PHP?
- How can I make a script that can be bilanguage (supports English, German)?
- What are the difference between abstract class and interface?
- How can we send mail using JavaScript?
|
| |
Network engineer/architect interview questions
- Explain how traceroute, ping, and tcpdump work and what they are used for?
- Describe a case where you have used these tools to troubleshoot.
- What is the last major networking problem you troubleshot and solved on your own in the last year?
- What LAN analyzer tools are you familiar with and describe how you use them to troubleshoot and on what media and network types.
- Explain the contents of a routing table (default route, next hop, etc.)
- What routing protocols have you configured?
- Describe the commands to set up a route.
- What routing problems have you troubleshot?
- How do you display a routing table on a Cisco? On a host?
- How do you use a routing table and for what?
- What is a route flap?
- What is a metric?
- When do you use BGP, IGRP, OSPF, Static Routes?
- What do you see as current networking security issues (e.g. NFS mounting, spoofing, one time passwords, etc.)?
- Describe a routing filter and what it does.
- Describe an access list and what it does.
- What is a network management system?
- Describe how SNMP works.
- Describe the working environment you are currently in, e.g. frequent interruptions, frequent priority shifting, team or individual.
- What do you use to write documentation? Editor? Mail reader?
- What platform (s) do you currently work on at your desk?
- How do you manage multiple concurrent high level projects?
- Describe a recent short term stressful situation and how you managed it.
- How do you manage a long term demanding stressful work environment?
- Have you worked in an assignment based environment, e.g. work request/trouble ticket system, and if so, describe that environment.
- Describe what network statistics or measurement tools you are familiar with and how you have used them.
- Describe what a VPN is and how it works.
- Describe how VoIP works.
- Describe methods of QoS.
- How does ToS bit work?
- What is MTU?
- How does TCP handshake work?
- How does SSL handshake work?
- What are the different phases in VPN establishment?
- How does DH (deffie helman) work?
- What is TCP window sizing?
- What is the difference between passive FTP and active FTP?
- What is the difference between socket and session?
- How does network management station work?
How does TCP handshake work? Transmission Control Protocol/Internet Protocol. There are 3 steps.
1. Local device sends sequence number and maximum segment size.
2. Destination device responds by sending its sequence number and maximum segment size back to local device.
3. Local device acknowledges receipt of the sequence number and segment size information.
2. How does SSL handshake work? Secure Sockets Layer. There are 4 steps.
1. Browser checks the certificate to make sure that the site you are connecting to is the real site and not someone intercepting.
2. Determine encryption types that the browser and web site server can both use to understand each other.
3. Browser and Server send each other unique codes to use when scrambling (or encrypting) the information that will be sent.
4. The browser and Server start talking using the encryption, the web browser shows the encrypting icon, and web pages are processed secured.
3. What is the difference between passive FTP and active FTP?
FTP is an unusual protocol in that it uses two ports, one for commands and the other for data. (This is one of the reasons it is superior to HTTP for transferring large files.) Active FTP was invented first. The client initiates a connection on the server’s command port. The server then initiates a connection with the client from its data port. In Passive FTP, the client initiates both connections with the server, which remains “passive”.
Active FTP may cause problems if your client is behind a firewall. From the firewall’s point of view, the FTP server that is trying to initiate a connection with your client looks like an intruder and is usually blocked. This is why many users have difficulty using FTP to download files from behind a firewall.
Passive FTP solves this problem, but creates other problems, notably where FTP server security is concerned. The server must listen on a large number of ports. This requires the firewall to let a lot of unqualified traffic through. Most firewall administrators do not like this.
As a rule, you do not need to be concerned about passive and active FTP unless you administer an FTP server or a firewall. If you experience difficulty using your FTP client from behind a firewall, this is likely the reason. Perhaps you should discuss the matter with your firewall administrator.
4. What is the difference between socket and session?
1. An SSL session is a mechanism through which connections can be established by re-using previously negotiated handshakes.
2. A socket is one endpoint of a two-way communication link between two programs running on the network. A socket is bound to a port number so that the TCP layer can identify the application that data is destined to be sent.
5. How does network management station work? Network management stations execute management applications which monitor and control network elements. Network elements are devices such as hosts, gateways, terminal servers, and the like, which have management agents responsible for performing the network management functions requested by the network management stations. The Simple Network Management Protocol (SNMP is used to communicate management information between the network management stations and the agents in the network elements. There are a few network management features that may be used to provide network monitoring for this advisory.
1. Device Availability Monitoring
2. SNMP MIB object monitoring
3. Cisco Service Assurance Agent (Cisco SAA)
4. RMON Alarm and Events
5. Event-MIB
6. CiscoWorks RME Network Show Commands and CLI scripting
6. What are the different phases in VPN establishment? Successful VPN establishment consists of two levels of SA’s known as phases. Phase 1 authentication establishes session keys. Using the Xauth feature, the client waits for a “username/password” challenge after the IKE Phase 1 SA has been established. When the end user responds to the challenge, the response is forwarded to the IPsec peers for an additional level of authentication completing Phase 2.
1. Phase 1 of a 2 phase VPN tunnel establishment process. Phase 1 negotiates the security parameter agreement.
2. Phase 2 of 2 phase VPN tunnel establishment process. Phase 2 uses the agreed parameters from Phase 1 to bring the tunnel up.
7. How does DH (deffie helman) work? Diffie-Hellman key agreement was invented in 1976 during a collaboration between Whitfield Diffie and Martin Hellman and was the first practical method for establishing a shared secret over an unprotected communications channel. Based on Ralph Merkle’s public key cryptosystem. Public key cryptography is a form of cryptography which generally allows users to communicate securely without having prior access to a shared secret key, by using a pair of cryptographic keys, designated as public key and private key, which are related mathematically.
8. What is TCP window sizing? The window size is the maximum number of bytes of data that can be transmitted in one segment. Increasing the window size for a TCP-based file transfer would increase throughput until the slowest link in the path saturates. It would be preferable to have a window size appropriate to the size of the link. There would be less buffering, the ACKs would return more quickly and more of the bandwidth would be used. Ideally you are looking for a Window Size >= Bandwidth * RTT.
9. What is MTU? Maximum Transmission Unit. The greatest amount of data or “packet” size that can be transferred in one physical frame on a network. This packet also contains the header and trailer information, which are like addresses for each packet that are required by the routers on the network.
|
|
|
|