0% found this document useful (0 votes)
2 views7 pages

Software Engineering Interview Questions-converted

This document provides a comprehensive list of software engineering interview questions and answers, covering fundamental concepts such as computer software, software engineering, software development life cycle (SDLC), project management, and requirements gathering. It also discusses various methodologies, estimation techniques, testing types, and maintenance strategies in software development. The content is aimed at preparing candidates for software engineering interviews by familiarizing them with key topics and terminology in the field.

Uploaded by

Mrunmai Magade
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views7 pages

Software Engineering Interview Questions-converted

This document provides a comprehensive list of software engineering interview questions and answers, covering fundamental concepts such as computer software, software engineering, software development life cycle (SDLC), project management, and requirements gathering. It also discusses various methodologies, estimation techniques, testing types, and maintenance strategies in software development. The content is aimed at preparing candidates for software engineering interviews by familiarizing them with key topics and terminology in the field.

Uploaded by

Mrunmai Magade
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software Engineering Interview Questions

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:
[Link] 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.
[Link] 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.
[Link] is software engineering?
A. Software engineering is an engineering branch associated with software system
development.
[Link] 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.
[Link] is software process or Software Development Life Cycle (SDLC)?
[Link] 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.
[Link] 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.
[Link] 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.
[Link] 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 ?
[Link] is software project management?
A. Software project management is process of managing all activities like time, cost
and quality management involved in software development.
[Link] is software project manager?
A. A software project manager is a person who undertakes the responsibility of
carrying out the software project.
[Link] 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.
[Link] 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.
[Link] 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.
[Link] 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
[Link] 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.
[Link] are software project estimation techniques available?
A. There are many estimation techniques [Link] most widely used are -

• Decomposition technique (Counting Lines of Code and Function Points)


• Empirical technique (Putnam and COCOMO).
[Link] 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.
[Link] 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.
[Link] 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.
[Link] can you measure project execution?
A. We can measure project execution by means of Activity Monitoring, Status Reports
and Milestone Checklists.
[Link] 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.
[Link] 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.
[Link] 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 ?
[Link] 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.
[Link] 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.
[Link] are functional requirements?
A. Functional requirements are functional features and specifications expected by
users from the proposed software product.
[Link] 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.
[Link] is software measure?
A. Software Measures can be understood as a process of quantifying and symbolizing
various attributes and aspects of software.
[Link] 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.
[Link] 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.
[Link] 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.
[Link] is cohesion?
A. Cohesion is a measure that defines the degree of intra-dependability among the
elements of the module.
[Link] is coupling?
A. Coupling is a measure that defines the level of inter-dependability among modules
of a program.
[Link] 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.
[Link] 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.
[Link] 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.
[Link] 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.
[Link] 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.
[Link] 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).
[Link] 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.
[Link] 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.
[Link] the formula to calculate Cyclomatic complexity of a program?
A. Cyclomatic complexity uses graph theory’s formula: V(G) = e – n + 2
[Link] 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.
[Link] 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.
[Link] 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


No Yes
essential

Knowledge of Software Implementation essential No Yes

Who conducts this test on software Software Testing Software Developer


Employee

Requirements Design and structure


baseline reference for tester
specifications details

[Link] 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.
[Link] 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
[Link] 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.
[Link] 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.

You might also like