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:
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.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.
A. There are several SDLC models available such as Waterfall Model, Iterative Model, Spiral
model, V-model and Big-bang Model etc.
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 -
A. Software project management is process of managing all activities like time, cost and quality
management involved in software development.
A. A software project manager is a person who undertakes the responsibility of carrying out the
software project.
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.
A. Function points are the various features provided by the software product. It is considered as a
unit of measurement for software size.
A. There are many estimation techniques available.The most widely used are -
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.
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.
A. We can measure project execution by means of Activity Monitoring, Status Reports and
Milestone Checklists.
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.
Operational - Can the organization adjust smoothly to the changes done as per the
demand of project ? Is the problem worth solving ?
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. Functional requirements are functional features and specifications expected by users from the
proposed software product.
A. Software Metrics provide measures for various aspects of software process and software
product. They are divided into –
Q.What is modularization?
Example
While you initiate print command and printing starts, you can open a new application.
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. 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.
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.
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 the difference between function oriented and object oriented design?
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.
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.
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.
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.
Software Testing
Who conducts this test on software Software Developer
Employee
A. Quality Assurance monitors to check if proper process is followed while software developing
the software.
Corrective
Adaptive
tackling the changes in the hardware and software environment where the software works
Perfective maintenance
Preventive maintenance
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.
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 :-)