Académique Documents
Professionnel Documents
Culture Documents
# Question
14 Explain Abstraction
15 What is a class?
16 What is an object?
17 What is Encapsulation?
18 What is Polymorphism?
19 What is Inheritance?
21 Define a constructor?
List different complexity classes of an algorithm. Give one example for each
49 What is SDLC?
Interpreters and compilers are very similar in structure. The main difference is that an
interpreter directly executes the instructions in the source programming language 1
while a compiler translates those instructions into efficient machine code
Syntax is about the structure or the grammar of the language. It answers the
question: how do I construct a valid sentence? All languages, even English and other 1
human (aka "natural") languages have grammars, that is, rules that define whether or
not the sentence is properly constructed.
method for finding successively better approximations to the roots (or zeroes) of a 1
real-valued function. It is one example of a root-finding algorithm.
Actual Parameters: The values/variables passed while calling a function are called
actual parameters.
1
Formal Parameters: ... The value(s) of the actual parameters are copied to formal
parameters when the call to that function is made
A namespace is a set of symbols that are used to organize objects of various kinds, so 1
that these objects may be referred to by name
Is a convention used with many programming languages that sets the scope (range of
functionality) of a variable so that it may only be called (referenced) from within the 1
block of code in which it is defined. The scope is determined when the code is
compiled.
is a collection of test cases that are intended to be used to test a software program to 1
show that it has some specified set of behaviours.
“Overt” means “done or shown openly” while “covert” means “not displayed or 1
openly acknowledged.
Through the process of abstraction, a programmer hides all but the relevant data 1
about an object in order to reduce complexity and increase efficiency.
An object is an instance of a class. It has its own state, behavior, and identity. 1
Manipulators are the functions which can be used in conjunction with the insertion 1
(<<) and extraction (>>) operators on an object. Examples are endl and setw.
A constructor is a method used to initialize the state of an object, and it gets invoked
at the time of object creation. Rules forconstructor are:
1
Constructor Name should be same as class name.
A constructor must have no return type.
Operator overloading is a function where different operators are applied and depends
on the arguments. Operator,-,* can be used to pass through the function, and it has 1
their own precedence to execute
The token is recognized by a compiler, and it cannot be broken down into component
elements. Keywords, identifiers, constants, string literals and operators are examples
of tokens.
1
Even punctuation characters are also considered as tokens – Brackets, Commas,
Braces and Parentheses.
There are three various types of constructors, and they are as follows:
Dynamic or Run time polymorphism is also known as method overriding in which call
to an overridden function is resolved during run time, not at the compile time. It 1
means having two or more methods with the same name, same signature but with
different implementation.
The base class is the most generalized class, and it is said to be a root class.
A Sub class is a class that inherits from one or more base classes. 1
The superclass is the parent class from which another class inherits.
Order of growth in algorithm means how the time for computation increases when 1
you increase the input size.
Constant Complexity
Logarithmic Complexity
Linear Complexity 12
Log-Linear Complexity
Polynomial Complexity
Exponential Complexity
O(N*N) 1
O(nLogn) 1
Test Environment is the combination of hardware and software on which Test Team
1
performs testing.
Test coverage helps in measuring the amount of testing performed by a set of tests.
Test coverage can be done on both functional and non-functional activities. It assists 1
testers to create tests that cover areas which are missing.
Code coverage is different from Test coverage. Code coverage is about unit testing
practices that must target all areas of the code at least once. It is usually done by 1
developers or unit testers.
Testing takes place from top to bottom. High-level modules are tested first and then
low-level modules and finally integrating the low-level modules to a high level to 1
ensure the system is working as intended. Stubs are used as a temporary module if a
module is not ready for integration testing.
In simple words, how well the system performs is non-functionality testing. Non-
functional testing refers to various aspects of the software such as performance, load, 1
stress, scalability, security, compatibility etc., Main focus is to improve the user
experience on how fast the system responds to a request.
Bug/Defect severity can be defined as the impact of the bug on customer’s business.
It can be Critical, Major or Minor. In simple words, how much effect will be there on 1
the system because of a particular defec
Defect priority can be defined as how soon the defect should be fixed. It gives the
order in which a defect should be resolved. Developers decide which defect they 1
should take up next based on the priority. It can be High, Medium or Low. Most of the
times the priority status is set based on the customer requirement.
Software Development Life Cycle (SDLC) aims to produce a high-quality system that
meets or exceeds customer expectations, works effectively and efficiently in the 1
current and planned information technology infrastructure, and is inexpensive to
maintain and cost-effective to enhance.
The relationship between test cases and requirements is shown with the help of a 1
document. This document is known as a traceability matrix.
Unit/component/program/module testing
Integration testing 1
System testing
Acceptance testing
Code Walk Through is Cthe informal analysis of the program source code to find 1
defects and verify coding techniques
A test harness is configuring a set of tools and test data to test an application in
various conditions, and it involves monitoring the output with expected output for 1
correctness.
The selection sort algorithm sorts an array by repeatedly finding the minimum
element (considering ascending order) from unsorted part and putting it at the
beginning. The algorithm maintains two subarrays in a given array.
Merge Sort is a Divide and Conquer algorithm. It divides input array in two halves,
calls itself for the two halves and then merges the two sorted halves. The merge()
function is used for merging two halves. The merge(arr, l, m, r) is key process that 1
assumes that arr[l..m] and arr[m+1..r] are sorted and merges the two sorted sub-
arrays into one
Marks
earned
0
0
1
1
0
0
0
1
1
0
0
0
0
2
1
Decomposition, Abstractions, Functions
Recursion
Testing, Debugging, Exceptions, Assertions
Object Oriented Programming
Program Efficiency
Searching and Sorting