Software Engineering Interview Questions

Software Engineering Interview Questions

Dear readers, these Software Engineering Interview Questions have been designed especially to get you acquainted with the nature of questions you may encounter during your interview for the subject of Software Engineering. As per my experience, good interviewers hardly planned to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer:

Q.What is computer software?
A. Computer software is a complete package, which includes software program, its documentation and user guide on how to use the software.

Q.Can you differentiate computer software and computer program?
A. A computer program is piece of programming code which performs a well defined task where as software includes programming code, its documentation and user guide.

Q.What is software engineering?
A. Software engineering is an engineering branch associated with software system development.

Q.When you know programming, what is the need to learn software engineering concepts?
A. A person who knows how to build a wall may not be good at building an entire house. Likewise, a person who can write programs may not have knowledge of other concepts of Software Engineering. The software engineering concepts guide programmers on how to assess requirements of end user, design the algorithms before actual coding starts, create programs by coding, testing the code and its
documentation.

Q.What is software process or Software Development Life Cycle (SDLC)?
A.Software Development Life Cycle, or software process is the systematic development of software by following every stage in the development process namely, Requirement Gathering, System Analysis, Design, Coding, Testing, Maintenance and Documentation in that order.

Q.What are SDLC models available?
A. There are several SDLC models available such as Waterfall Model, Iterative Model, Spiral model, V-model and Big-bang Model etc.

Q.What are various phases of SDLC?
A. The generic phases of SDLC are: Requirement Gathering, System Analysis and Design, Coding, Testing and implementation. The phases depend upon the model we choose to develop software.

Q.Which SDLC model is the best?
A. SDLC Models are adopted as per requirements of development process. It may very software-to-software to ensuring which model is suitable.
We can select the best SDLC model if following answers are satisfied -
Is SDLC suitable for selected technology to implement the software ?
Is SDLC appropriate for client’s requirements and priorities ?
Is SDLC model suitable for size and complexity of the software ?
Is the SDLC model suitable for type of projects and engineering we do ?
Is the SDLC appropriate for the geographically co-located or dispersed developers ?

Q.What is software project management?
A. Software project management is process of managing all activities like time, cost and quality management involved in software development.

Q.Who is software project manager?
A. A software project manager is a person who undertakes the responsibility of carrying out the software project.

Q.What does software project manager do?
A. Software project manager is engaged with software management activities. He is responsible for project planning, monitoring the progress, communication among stakeholders, managing risks and resources, smooth execution of development and delivering the project within time, cost and quality contraints.

Q.What is software scope?
A. Software scope is a well-defined boundary, which encompasses all the activities that are done to develop and deliver the software product. The software scope clearly defines all functionalities and artifacts to be delivered as a part of the software. The scope identifies what the product will do and what it will not do, what the end product will contain and what it will not contain.

Q.What is project estimation?
A. It is a process to estimate various aspects of software product in order to calculate the cost of development in terms of efforts, time and resources. This estimation can be derived from past experience, by consulting experts or by using pre-defined formulas.

Q.How can we derive the size of software product?
A. Size of software product can be calculated using either of two methods -
Counting the lines of delivered code
Counting delivered function points

Q.What are function points?
A. Function points are the various features provided by the software product. It is considered as a unit of measurement for software size.

Q.What are software project estimation techniques available?
A. There are many estimation techniques available.The most widely used are -
Decomposition technique (Counting Lines of Code and Function Points)
Empirical technique (Putnam and COCOMO).

Q.What is baseline?
A. Baseline is a measurement that defines completeness of a phase. After all activities associated with a particular phase are accomplished, the phase is complete and acts as a baseline for next phase.

Q.What is Software configuration management?
A. Software Configuration management is a process of tracking and controlling the changes in software in terms of the requirements, design, functions and development of the product.

Q.What is change control?
A. Change control is function of configuration management, which ensures that all changes made to software system are consistent and made as per organizational rules and regulations.

Q.How can you measure project execution?
A. We can measure project execution by means of Activity Monitoring, Status Reports and Milestone Checklists.

Q.Mention some project management tools.
A. There are various project management tools used as per the requirements of software project and organization policies. They include Gantt Chart, PERT Chart, Resource Histogram, Critical Path Analysis, Status Reports, Milestone Checklists etc.

Q.What are software requirements?
A. Software requirements are functional description of proposed software system. Requirements are assumed to be the description of target system, its functionalities and features. Requirements convey the expectations of users from the system.

Q.What is feasibility study?
A. It is a measure to assess how practical and beneficial the software project development will be for an organization. The software analyzer conducts a thorough study to understand economic, technical and operational feasibility of the project.
Economic - Resource transportation, cost for training, cost of additional utilities and tools and overall estimation of costs and benefits of the project.
Technical - Is it possible to develop this system ? Assessing suitability of machine(s) and operating system(s) on which software will execute, existing developers’ knowledge and skills, training, utilities or tools for project.
Operational - Can the organization adjust smoothly to the changes done as per
the demand of project ? Is the problem worth solving ?

Q.How can you gather requirements?
A. Requirements can be gathered from users via interviews, surveys, task analysis, brainstorming, domain analysis, prototyping, studying existing usable version of software, and by observation.

Q.What is SRS?
A. SRS or Software Requirement Specification is a document produced at the time of requirement gathering process. It can be also seen as a process of refining requirements and documenting them.

Q.What are functional requirements?
A. Functional requirements are functional features and specifications expected by users from the proposed software product.

Q.What are non-functional requirements?
A. Non-functional requirements are implicit and are related to security, performance, look and feel of user interface, interoperability, cost etc.

Q.What is software measure?
A. Software Measures can be understood as a process of quantifying and symbolizing various attributes and aspects of software.

Q.What is software metric?
A. Software Metrics provide measures for various aspects of software process and software product. They are divided into –
Requirement metrics : Length requirements, completeness
Product metrics :Lines of Code, Object oriented metrics, design and test metrics
Process metrics: Evaluate and track budget, schedule, human resource.

Q.What is modularization?
A. Modularization is a technique to divide a software system into multiple discreet
modules, which are expected to carry out task(s) independently.
Q.What is concurrency and how it is achieved in software?
A. Concurrency is the tendency of events or actions to happen simultaneously. In software, when two or more processes execute simultaneously, they are called concurrent processes.
Example
While you initiate print command and printing starts, you can open a new application.
Concurrency, is implemented by splitting the software into multiple independent units of execution namely processes and threads, and executing them in parallel.

Q.What is cohesion?
A. Cohesion is a measure that defines the degree of intra-dependability among the elements of the module.

Q.What is coupling?
A. Coupling is a measure that defines the level of inter-dependability among modules
of a program.

Q.Mentions some software analysis & design tools?
A. These can be: DFDs (Data Flow Diagrams), Structured Charts, Structured English, Data Dictionary, HIPO (Hierarchical Input Process Output) diagrams, ER (Entity Relationship) Diagrams and Decision tables.

Q.What is level-0 DFD?
A. Highest abstraction level DFD is known as Level 0 DFD also called a context level DFD, which depicts the entire information system as one diagram concealing all the underlying details.

Q.What is the difference between structured English and Pseudo Code?
A. Structured English is native English language used to write the structure of a program module by using programming language keywords, whereas, Pseudo Code is more close to programming language and uses native English language words or sentences to write parts of code.

Q.What is data dictionary?
A. Data dictionary is referred to as meta-data. Meaning, it is a repository of data about data. Data dictionary is used to organize the names and their references used in system such as objects and files along with their naming conventions.

Q.What is structured design?
A. Structured design is a conceptualization of problem into several well-organized elements of solution. It is concern with the solution design and based on ‘divide and conquer’ strategy.

Q.What is the difference between function oriented and object oriented design?
A. Function-oriented design is comprised of many smaller sub-systems known as functions. Each function is capable of performing significant task in the system. Object oriented design works around the real world objects (entities), their classes (categories) and methods operating on objects (functions).

Q.Briefly define top-down and bottom-up design model.
A. Top-down model starts with generalized view of system and decomposes it to more specific ones, whereas bottom-up model starts with most specific and basic components first and keeps composing the components to get higher level of abstraction.

Q.What is the basis of Halstead’s complexity measure?
A. Halstead’s complexity measure depends up on the actual implementation of the program and it considers tokens used in the program as basis of measure.

Q.Mention the formula to calculate Cyclomatic complexity of a program?
A. Cyclomatic complexity uses graph theory’s formula: V(G) = e – n + 2

Q.What is functional programming?
A. Functional programming is style of programming language, which uses the concepts of mathematical function. It provides means of computation as mathematical functions, which produces results irrespective of program state.

Q.Differentiate validation and verification?
A. Validation checks if the product is made as per user requirements whereas verification checks if proper steps are followed to develop the product. Validation confirms the right product and verification confirms if the product is built in a right way.

Q.What is black-box and white-box testing?
A. Black-box testing checks if the desired outputs are produced when valid input values
are given. It does not verify the actual implementation of the program.
White-box testing not only checks for desired and valid output when valid input is
provided but also it checks if the code is implemented correctly.
Criteria Black Box Testing White Box
Testing
Knowledge of software program, design
and structure essential
No Yes
Knowledge of Software Implementation
essential
No Yes
Who conducts this test on software Software Testing
Employee
Software
Developer
baseline reference for tester Requirements
specifications
Design and
structure details

Q.Quality assurance vs. Quality Control?
A. Quality Assurance monitors to check if proper process is followed while software
developing the software. Quality Control deals with maintaining the quality of software product.

Q.What are various types of software maintenance?
A. Maintenance types are: corrective, adaptive, perfective and preventive.
Corrective Removing errors spotted by users Adaptive tackling the changes in the hardware and software environment where the software works Perfective maintenance implementing changes in existing or new requirements of user Preventive maintenance taking appropriate measures to avoid future problems

Q.What is software re-engineering?
A. Software re-engineering is process to upgrade the technology on which the software is built without changing the functionality of the software. This is done in order to keep the software tuned with the latest technology.

Q.What are CASE tools?
A. CASE stands for Computer Aided Software Engineering. CASE tools are set of automated software application programs, which are used to support, accelerate and smoothen the SDLC activities.

What is Next?
Further, you can go through your past assignments you have done with the subject and
make sure you are able to speak confidently on them. If you are fresher then interviewer
does not expect you will answer very complex questions, rather you have to make your
basics concepts very strong.
Second it really doesn't matter much if you could not answer few questions but it
matters that whatever you answered, you must have answered with confidence. So just
feel confident during your interview. We at tutorialspoint wish you best luck to have a
good interviewer and all the very best for your future endeavor. Cheers :-)

Software Development Life Cycle Questions|sdlc interview questions

Software Development Life Cycle Questions

These are some of the most commonly asked sdlc interview questions along with answers.
These are just short and quick answers to your software development life cycle questions.

1. What are the Disadvantages of Prototype Model?
Ans. Implementing the prototype model for creating the software has its disadvantages. Since it is being built out of concept, most of the models presented in early stage are not complete. They lack flaws that the developer still needs to work on them again and again. The Integration cannot be very difficult for prototype models. Hence this often happens when the other programs are already stable.

2. What is the difference between an Iterative model and the Waterfall model?
Ans. Waterfall Model is a flow based model, in which we pass every phase once, and can not go back to that phase again. Its most eminent drawback is that if there is any change in requirements, we cannot make any changes to the requirement section. Iterative Model is somewhat similar to waterfall model but herein we can always come back to previous phases, and make the changes accordingly.

3. Explain spiral model?
Ans. Spiral model is one of the different models implemented under Software Development life cycle. It is very easy to understand by both the developer and customer and react to the risk at each elementary level.It uses reduction of the mechanism. It is divided into number of framework.

4. What are the advantages of Prototype Model?
Ans. Creating software using the prototype model has its benefits. One of the key advantages prototype model software has is its time frame of the development period. Everyone works on the same module and at the same time, hence reducing work hours in creating the software. This work can be faster and more efficient if developers could collaborate more regarding the status of specific functions and thereby develop the necessary adjustments in timeline for the integration.

5. How many types of Prototype models are there?
Ans. There are four types of Prototype Models:
I. The PatchUp Prototype
II. Nonoperational Prototype
III. FirstofaSeries Prototype
IV. Selected Features Prototype

6. What are the different phases in SDLC?
Ans. There are 5 phases in Software Development Life Cycle:
1. Requirement & analysis
2. Design
3. Coding
4. Testing
5. Maintenance

7. Explain the Difference between SDLC and STLC?
Ans. SDLC is a software development life Cycle model which is utilized for project management and involves processes from the feasibility Analysis to maintenance of the completed application. STLC is Software testing Life cycle and SDLC work closely together and are almost inseparable under some of the activities. However the stages are very different under sdlc and stlc.

8. What is SDLC.net?
Ans. When a person is utilizes the Dot Net library or Framework to create an application application,the process is termed SDLC.Net.

9. What are functional requirements?
Ans. Functional requirement is a document which contains what a certain system has to do to achieve a certain specific objective.This task is carried out during the preliminary stage of SDLC.

10. What are Nonfunctional requirements?
Ans. Without Nonfunctional, a software will never function or will have vital missing information in its output. Response time, security, reliability, accuracy, capacity and availability are examples of Non functional requirement for a software development process. Non functional requirements decides how the Program or the software will function in future.

11. What is Software Life Cycle?
Ans. Software life cycle comprise the total life of the software developed right from the time of initial
development to the time it is scrapped out or terminated. This includes the development phases, revisions and upgrades and if necessary adding it up with another software project as well.

12. Is it mandatory to implement SDLC methods while developing any type of software project?
Ans. This is a tricky question and must be tackled smartly. Yes you can sure implement SDLC approaches for every type of software you want to develop. But it is not a cost effective solution for smaller projects. For every kind of software development needs different approach and solution and must not be considered to be developed under mandatory SDLC guidelines.

13. Are SDLC and STLC two different aspects of software development process?
Ans. No they are not different aspects of the development process. Rather they are closely related to each other and it is totally impossible for them to individually exist. If there is no software development process there cannot be a software testing phase and no software development process can be completed without testing the developed software.

14. Waterfall model is not suitable for?
Ans. Some of the suitable situations for using a Waterfall model are –
1. The software Project is limited to the development of a mainframe-based/ transaction-oriented
batch system.
2. The Complete Project is very large, costly and too much complicated.
3. The project objectives and solutions are clear.
4. There is no time frame pressure for quick project deployment.
5. The Project has stable and definite requirement which need not change in the future.
6. The project group (including project leader) is not very experienced.

15. What are some possible problems with waterfall model?
Ans. Some of the most common problems one might face while working with waterfall model are –

  • Waterfall model is not suitable for multiple module projects.
  • It does not support the feasibility of considering requirement specifications.
  • It requires too much time to complete each stage.
  • There can be a few bugs at the end which cannot be rectified as well.

16. What is the difference between Incremental model and Spiral model?
Ans. There is not much difference between these two sdlc models. Sdlc spiral Model includes the iterative nature of the prototyping model and the linear nature of the waterfall model. This approach is ideal for developing software that is revealed in various versions.

17. What is advanced sdlc waterfall methodology?
Ans. Any software development model that follows the basic linear flow of the waterfall model but has been modified to complete specific project types are called advanced sdlc methodology. Such models do not have name or either can be standardized to allow software developer to use them around other sdlc projects. Some sdlc interviewer however might claim Agile to be one of such models but it is not entirely true.

18. Give some practical real life examples of Spiral Model
Ans. The most popular real life examples for sdlc Spiral model are Microsoft Windows operating System, Visual Studio Manager, Adobe Photoshop, WordPress CMS and many more.

19. Why is Agile so popular?
Agile methodology is way too advanced and complex than the simple Waterfall model. The feasibility of agile to reshape the entire development structure to suit the most effective outcome is what makes Agile the number 1 choice of developers today.

20. Can I build a software project without sdlc models?
Ans. Of course. There is no hard and fast requirements for a developer to implement any sdlc model for developing a software project. The ability to simplify project into modules and ascertain correct progression for completion is the only reason for which sdlc models and methodology was designed in the first place. You can sure work without them but the challenges will be more and there won’t be any specific process to organize your work as a whole.

Mphasis Written Exam Questions

Mphasis Written Exam Questions


1. How is linked list implemented
Ans. By referential structures
2. What is meant by functional dependency

3. What is a semaphore
Ans. A method synchronization of multiple processes
4. What is the precedence order from high to low ,of the symbols ( ) ++ /
Ans.( ) , ++, /
5. Preorder of A*(B+C)/D-G
Ans.*+ABC/-DG
6. B-tree (failure nodes at same level)
7. Dense index (index record appears for every search -key in file)
8. What is the efficiency of merge sort
Ans. O(n log n)
9. program on swapping ( 10,5 )was given (candidate cannot recollect)
10. Which of the following sorting algorithem has average sorting behavior -- Bubble sort, merge sort,
heap sort, exchange sort
Ans. Heap sort
11. In binary search tree which traversal is used for getting ascending order values--Inorder ,post
order,preorder
Ans. Inorder
12. What are device drivers used for
Ans. To provide software for enabling the hardware
13. Irrevalent to unix command ( getty)
14. What is fork command in unix
Ans. System call used to create process
15. What is make command in Unix
Ans. Used for creation of more than one file
16. In unix .profile contains
Ans. Start up program
17. In unix echo is used for ( answer C)
18. M men agree to purchase a gift for Rs. D. If three men drop out how much more will each have to
contribute towards the purchase of the gift/
A. D/(M-3)
B. MD/3
C. M/(D-3)
D. 3D/(M2-3M)
Ans. D
19. A company contracts to paint 3 houses. Mr.Brown can paint a house in 6 days while Mr.Black would
take 8 days and Mr.Blue 12 days. After 8 days Mr.Brown goes on vacation and Mr. Black begins to work
for a period of 6 days. How many days will it take Mr.Blue to complete the contract?
A. 7
B. 8
C. 11
D. 12
Ans.C
20. 2 hours after a freight train leaves Delhi a passenger train leaves the same station traveling in the same
direction at an average speed of 16 km/hr. After traveling 4 hrs the passenger train overtakes the freight
train. The average speed of the freight train was?
A. 30
B. 40
C.58
D. 60
Ans. B
21. If 9x-3y=12 and 3x-5y=7 then 6x-2y = ?
A.-5
B. 4
C. 2
D. 8
Ans. D
22. The office staff of XYZ corporation presently consists of three bookkeepers--A, B, C and 5 secretaries
D, E, F, G, H. The management is planning to open a new office in another city using 2 bookkeepers and
3 secretaries of the present staff . To do so they plan to separate certain individuals who don't function
well together. The following guidelines were established to set up the new office
I. Bookkeepers A and C are constantly finding fault with one another and should not be sent together to
the new office as a team
II. C and E function well alone but not as a team , they should be seperated
III. D and G have not been on speaking terms and shouldn't go together
IV Since D and F have been competing for promotion they shouldn't be a team
23. If A is to be moved as one of the bookeepers,which of the following cannot be a possible working
unit.
A.ABDEH
B.ABDGH
C.ABEFH
D.ABEGH
Ans.B
24. If C and F are moved to the new office, how many combinations are possible
A.1
B.2
C.3
D.4
Ans.A
25. If C is sent to the new office,which member of the staff cannot go with C
A.B
B.D
C.F
D.G
Ans.B
26. Under the guidelines developed, which of the following must go to the new office
A.B
B.D
C.E
D.G
Ans.A
27. If D goes to the new office, which of the following is/are true
I.C cannot go
II.A cannot go
III.H must also go
A.I only
B.II only
C.I and II only
D.I and III only
Ans.D

MphasiS Placement Apptitude Questions


1.In a class composed of x girls and y boys what part of the class is composed of girls
A.y/(x + y)
B.x/xy
C.x/(x + y)
D.y/xy
Ans. C
2.What is the maximum number of half-pint bottles of cream that can be filled with a 4-gallon can of
cream(2 pt.=1 qt. and 4 qt.=1 gal)
A.16
B.24
C.30
D.64
Ans. D
3.If the operation,^ is defined by the equation x ^ y = 2x + y,what is the value of a in 2 ^ a = a ^ 3
A.0
B.1
C.-1
D.4
Ans. B
4.A coffee shop blends 2 kinds of coffee, putting in 2 parts of a 33p. a gm. grade to 1 part of a 24p. a
gm.If the mixture is changed to 1 part of the 33p. a gm. to 2 parts of the less expensive grade, how much
will the shop save in blending 100 gms.
A.Rs.90
B.Rs.1.00
C.Rs.3.00
D.Rs.8.00
Ans.C
5.There are 200 questions on a 3 hr examination. Among these questions are 50 mathematics problems.
It is suggested that twice as much time be spent on each Maths problem as for each other question. How
many minutes should be spent on mathematics problems
A.36
B.72
C.60
D.100
Ans.B
6.In a group of 15,7 have studied Latin, 8 have studied Greek, and 3 have not studied either. How many
of these studied both Latin and Greek
A.0
B.3
C.4
D.5
Ans.B
7.If 13 = 13w/(1-w) ,then (2w)2 =
A.1/4
B.1/2
C.1
D.2
Ans.C
8. If a and b are positive integers and (a-b)/3.5 = 4/7, then
(A) b < a
(B) b > a
(C) b = a
(D) b >= a
Ans. A
9. In June a baseball team that played 60 games had won 30% of its game played. After a phenomenal
winning streak this team raised its average to 50% .How many games must the team have won in a row to
attain this average?
A. 12
B. 20
C. 24
D. 30
Ans. C
10. M men agree to purchase a gift for Rs. D. If three men drop out how much more will each have to
contribute towards the purchase of the gift/
A. D/(M-3)
B. MD/3
C. M/(D-3)
D. 3D/(M2-3M)
Ans. D
11. A company contracts to paint 3 houses. Mr. Brown can paint a house in 6 days while Mr. Black
would take 8 days and Mr. Blue 12 days. After 8 days Mr. Brown goes on vacation and Mr. Black begins
to work for a period of 6 days. How many days will it take Mr. Blue to complete the contract?
A. 7
B. 8
C. 11
D. 12
Ans. C
12. 2 hours after a freight train leaves Delhi a passenger train leaves the same station traveling in the
same direction at an average speed of 16 km/hr. After traveling 4 hrs the passenger train overtakes the
freight train. The average speed of the freight train was?
A. 30
B. 40
C.58
D. 60
Ans. B
13. If 9x-3y=12 and 3x-5y=7 then 6x-2y = ?
A.-5
B. 4
C. 2
D. 8
Ans. D