Interview questions Flashcards

1
Q

What is Software Engineering?

A

Software Engineering is a process of developing a software product in a well-defined systematic approach. In other words, developing a software by using scientific principles, methods, and procedures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the need to learn Software Engineering Concepts?

A

Imagine a person, who is good at building a wall may not be good at constructing a house. In a similar way, a person who can write programs does not have the knowledge to develop and implement the software in a well-defined systematic approach. Hence, there is a need for programmers to adhere to software engineering concepts such as requirements gathering, planning, development, testing, and documentation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is SDLC OR Software Development Life Cycle?

A

SDLC defines a set of guidelines to develop a software product. SDLC has different phases namely: Gathering Requirements, Analysis, Planning, Development, Testing, Implementation, Maintenance, and Documentation. The order of the phases mentioned in SDLC may vary depending upon the model chosen to implement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the different types of models available in SDLC?

A

Many models have been proposed, to carry out the software implementation efficiently. Some of them include the Waterfall Model, Agile Model, Spiral Model, Iterative Model, V-Model etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain the role of a Software Project Manager?

A

This is the common software Engineering Interview Questions asked in an interview. Project Manager is responsible for driving the software project in a systematic approach. Some of the key roles & responsibilities of a software project manager include project planning, tracking the progress of the project, risk management, resource management, execution of development activities, delivering the project under cost, time and quality constraints.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a Software Project Scope?

A

A scope is utilized to outline the activities performed to design, develop and deliver a software product. In other words, scope contains information on what project is intended to deliver and what it does not intend to. The scope also outlines information on what software product developed contains and what it does not contain.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Software Project Estimation?

A

Project Estimation is a process utilized to calculate the development costs such as effort, time and resources required to deliver a project. Project Estimations are derived through past project experiences or with the help of consulting experts or with the help of standard predefined business formulas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Explain Functional Points?

A

Baselines are put forth by the project managers to track the overall project delivery. Baselines are usually placed to track the overall tasks listed under a phase or stage. Baselines help project managers to track and monitor the overall execution of a project.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Software Configuration Management?

A

Software Configuration Management helps users to track the overall changes made in a software product delivery. Updates or changes made to the software are tracked in terms of development and requirements gathering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Change Control?

A

Change control tracks the changes made in a software to ensure consistency and updates are incorporated as per the enterprise standards.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mention few project management tools?

A

Many project management tools are utilized as per the enterprise standards some of them include: Gantt Charts, PERT Charts, Milestone Checklists, Histograms, MS project, Status reports etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a Software requirement?

A

Requirements play a key role in providing a detailed description of the software product being developed. Software requirements help the developers and other support teams associated with project delivery, to understand the proposed target system and their expectations on it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Explain the Feasibility Study?

A

Feasibility Study is performed to assess the beneficial and practical attributes of a software development Thorough analysis is performed by an organization with the help of feasibility study to understand the economic, operational and technical aspects involved in a software project delivery.
•Economic: Economic study involves costs related to resource management, training costs, tools utilized and project estimation costs
•Technical: Technical study helps the business to analyze the technical aspects involved in software delivery such as machines, operating systems, knowledge, and skills of resource allocated, tools utilized and training.
•Operational: Operational study help business to study the change management and issues involved depending on the project needs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are functional and non- functional requirements?

A

Functional requirements are utilized to specify the functional features as per the business requirements. For Example, adding a payment option to buy content from a website. Whereas Non- functional requirements provide insights into security, performance, user interface, interoperability costs etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are Software Metrics?

A

Metrics are utilized to guide the software product delivery as per the business standards. Metrics can also be used to measure few features of software product delivery. Metrics are divided into requirement metrics, product metrics, performance metrics, and process metrics.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Modularization?

A

Modularization divides the software system tasks in multiple modules. These modules are independent to other modules and tasks invoked in each module are executed independently.

17
Q

Explain Concurrency and how is it achieved during the software product delivery?

A

Concurrency is a process of executing multiple events or tasks simultaneously. Concurrency can be achieved with the help of modules, events, and tasks associated with the software project delivery.

18
Q

What is Cohesion?

A

Cohesion is utilized to measure the intra-dependability among various attributes defined in a module.

19
Q

What is coupling?

A

Coupling is utilized to measure the inter-dependability of various elements defined in a module.

20
Q

Mention a few software analysis & Design tools?

A

Some of the key software analysis & design tools are Data flow Diagrams (DFD), Structured Charts, Data Dictionary, UML (Unified Modeling Languages) diagrams, ER (Entity Relationship) Diagrams etc.

21
Q

What is DFD Level 0?

A

DFD (Data Flow Diagrams) Level 0 depict the entire data flow along with all abstract details within a software information system. This type of DFD is also known as Context level DFD.

22
Q

What is Data Dictionary?

A

A data dictionary is also known as metadata. Data Dictionary is utilized to capture the information related to naming conventions of objects and files utilized in the software project.

23
Q

What is black box testing and white box testing?

A

Black Box Testing: Black box testing is performed to validate the outputs along with valid inputs given. But, it does not test the implementation part of the program.

White Box Testing: White Box testing is performed to validate the inputs, outputs and program implementation involved in its execution.

24
Q

What are the various types of software maintenance?

A

Maintenance types are corrective, adaptive, perfective and preventive.

Corrective: This type of maintenance is used to remove the errors spotted by business users.

Adaptive: This maintenance activity is performed to check the changes made in the hardware and software environment.

Perfective: This type of maintenance is used to implement changes in existing or new user requirements

Preventive: This maintenance activity is performed to avoid any issues in future implementations.

25
Q

Explain CASE tools?

A

CASE (Computer Aided Software Engineering tools) are utilized to implement, support, and accelerate various SDLC activities involved in a software project.