Practice | GeeksforGeeks | A computer science portal for geeks

Popular Company Tags

Amazon
Microsoft
Oracle
Samsung
Adobe
Synopsys
Infosys
Cisco
Wipro
Ola-Cabs
Morgan-Stanley
Goldman-Sachs
show more


Amazon
Microsoft
Oracle
Samsung
Adobe
Synopsys
Infosys
Cisco
Wipro
Ola-Cabs
Morgan-Stanley
Goldman-Sachs


Popular Topic Tags

Maths
Array
Dynamic-Programming
Greedy-Algorithm
Hashing
Tree
Bit-Algorithm
Matrix
Backtracking
Operating System
Linked-List
Graph
show more


Maths
Array
Dynamic-Programming
Greedy-Algorithm
Hashing
Tree
Bit-Algorithm
Matrix
Backtracking
Operating System
Linked-List
Graph

Home
Aman Chauhan 1
Subjective Answers

Home
Aman Chauhan 1
Subjective Answers
A formalized set of software calls and routines that can be referenced by an application program in order to access supporting system or network services.
 
Verifying a product is accessible to the people having disabilities (deaf, blind, mentally disabled etc.).
A set of activities conducted with the intent of finding errors in software.
There are two tasks with specially distinguished process IDs: swapper or sched has process ID 0 and is responsible for paging, and is actually part of the kernel rather than a normal user-mode process. Process ID 1 is usually the init process primarily responsible for starting and shutting down the system.
Job scheduling is the process of allocating system resources to many different tasks by an operating system (OS). The system handles prioritized job queues that are awaiting CPU time and it should determine which job to be taken from which queue and the amount of time to be allocated for the job.
A scheduler may aim at one of many goals, for example, maximizing throughput (the total amount of work completed per time unit), minimizing response time (time from work becoming enabled until the first point it begins execution on resources), or minimizing latency (the time between work becoming enabled and its subsequent completion),maximizing fairness (equal CPU time to each process, or more generally appropriate times according to the priority and workload of each process). In practice, these goals often conflict
In computing, a web application or web app is a client–server software application in which the client (or user interface) runs in a web browser. Common web applications include webmail, online retail sales, online auctions, wikis, instant messaging services and many other functions.
Security testing is a process intended to reveal flaws in the security mechanisms of an information system that protect data and maintain functionality as intended.
Creating a REST API sesssion is similar to logging in to using a web browser. The only difference is that a web browser (in the typical sense) is never used. Instead, you need an application capable of sending and receiving HTTP requests—a REST client. REST clients are different than web browsers, although some REST clients are built on-top of web browsers like Chromium because they share interchangeable parts.
Event Viewer is a component of Microsoft's Windows NT line of operating systems that lets administrators and users view the event logs on a local or remote machine. In Windows Vista, Microsoft overhauled the event system.
Database tests are typically a three-step process:

Setup the test. You need to put your database into a known state before running tests against it. ...
Run the test. Using a database regression testing tool, run your database tests just like you would run your application tests.
Check the results.

Setup the test. You need to put your database into a known state before running tests against it. ...
Run the test. Using a database regression testing tool, run your database tests just like you would run your application tests.
Check the results.
Each request from client to server must contain all of the information necessary to understand the request, and cannot take advantage of any stored context on the server. Session state is therefore kept entirely on the client.
The prefixes of right sentential forms that can appear on the stack of a shift-reduce parser are called viable prefixes. By definition, a viable prefix is a prefix of a right sentential form that does not continue past the right end of the rightmost handle of that sentential form.
In computer science, an operator precedence parser is a bottom-up parser that interprets an operator-precedence grammar. ... Edger Dijkstra's shunting yard algorithm is commonly used to implement operator precedence parsers.
A “handle” of a string is a substring that matches the RHS of a production and whose reduction to the non-terminal (on the LHS of the production) represents one step along the reverse of a rightmost derivation toward reducing to the start symbol.
Early Binding and Late binding. The compiler performs a process called binding when an object is assigned to an object variable. The early binding (static binding) refers to compile time binding and late binding (dynamic binding) refers to runtime binding.
RecyclerView was created as a ListView improvement, so yes, you can create an attached list with ListView control, but using RecyclerView is easier as it:


Reuses cells while scrolling up/down - this is possible with implementing View Holder in the listView adapter, but it was an optional thing, while in the RecycleView it's the default way of writing adapter.


Decouples list from its container - so you can put list items easily at run time in the different containers (linearLayout, gridLayout) with setting LayoutManager.



Reuses cells while scrolling up/down - this is possible with implementing View Holder in the listView adapter, but it was an optional thing, while in the RecycleView it's the default way of writing adapter.

Reuses cells while scrolling up/down - this is possible with implementing View Holder in the listView adapter, but it was an optional thing, while in the RecycleView it's the default way of writing adapter.

Decouples list from its container - so you can put list items easily at run time in the different containers (linearLayout, gridLayout) with setting LayoutManager.

Decouples list from its container - so you can put list items easily at run time in the different containers (linearLayout, gridLayout) with setting LayoutManager.
singleTask :- A new task will always be created and a new instance will be pushed to the task as the root. However, if any activity instance exists in any tasks, the system routes the intent to that activity instance through the onNewIntent() method call. In this mode, activity instances can be pushed to the same task. This mode is useful for activities that act as the entry points.
single Top:- Same as singleTask, except that the no activities instance can be pushed into the same task of the single Top. Accordingly, the activity with launch mode is always in a single activity instance task. This is a very specialized mode and should only be used in applications that are implemented entirely as one activity.
Bin contains all tools such as javac, appletviewer, awt tool, etc., whereas lib contains API and all packages.
 
Unicode is used for internal representation of characters and strings and it uses 16 bits to represent each other.
Pragma is used inside the servlets in the header with a certain value. The value is of no-cache that tells that a servlets is acting as a proxy and it has to forward request. Pragma directives allow the compiler to use machine and operating system features while keeping the overall functionality with the Java language. These are different for different compilers.
The purpose of finalization is to give an unreachable object the opportunity to perform any cleanup processing before the object is garbage collected. For example, closing a opened file, closing a opened database Connection.
Checked exception are those which the Java compiler forces you to catch. e.g. IOException are checked Exceptions.
 
It is very difficult to remember a set of numbers(IP address) to connect to the Internet. The Domain Naming Service(DNS) is used to overcome this problem. It maps one particular IP address to a string of characters. For example, www. mascom. com implies com is the domain name reserved for US commercial sites, moscom is the name of the company and www is the name of the specific computer, which is mascom’s server.
A Translation lookaside buffer (TLB) is a memory cache that is used to reduce the time taken to access a user memory location. It is a part of the chip's memory-management unit (MMU). The TLB stores the recent translations of virtual memory to physical memory and can be called an address-translation cache.
NSLOOKUP is a program to query Internet domain name servers (DNS). NSLOOKUP or Reverse DNS (rDNS) is a method of resolving an IP address into a domain name, just as the domain name system (DNS) resolves domain names into associated IP addresses.
The Domain Name System (aka DNS) is used to resolve human-readable hostnames like www.Dyn.com into machine-readable IP addresses like 204.13.248.115. DNS also provides other information about domain names, such as mail services.
The hash function is used to index the original value or key and then used later each time the data associated with the value or key is to be retrieved. Thus, hashing is always a one-way operation. There's no need to "reverse engineer" the hash function by analyzing the hashed values.
Text files contain data that can easily be understood by humans. It includes letters, numbers and other characters. On the other hand, binary files contain 1s and 0s that only computers can interpret. 
 
Dynamic data structure provides a means for storing data more efficiently into memory. Using dynamic memory allocation, your program will access memory spaces as needed. This is in contrast to static data structure, wherein the programmer has to indicate a fix number of memory space to be used in the program.
It is used to convert any letter to its upper case mode. Toupper() function prototype is declared in . Note that this function will only convert a single character, and not an entire string.
It is the process of transferring data to an alternative output source other than the display screen. Output redirection allows a program to have its output saved to a file. For example, if you have a program named COMPUTE, typing this on the command line as COMPUTE >DATA can accept input from the user, perform certain computations, then have the output redirected to a file named DATA, instead of showing it on the screen.
Reserved words are words that are part of the standard C language library. This means that reserved words have special meaning and therefore cannot be used for purposes other than what it is originally intended for. Examples of reserved words are int, void, and return.
 
It is referred to as a terminating null character, and is used primarily to show the end of a string value.
Spaghetti programming refers to codes that tend to get tangled and overlapped throughout the program. This unstructured approach to coding is usually attributed to lack of experience on the part of the programmer. Spaghetti programming makes a program complex and analyzing the codes difficult, and so must be avoided as much as possible.
Merging is the sorting algorithm which combines two or more sorted sequences into a single sorted sequence. It is a divide and conquer algorithm, an O(n log n) comparison-based sorting algorithm. Most implementations produce a stable sort, meaning that the implementation preserves the input order of equal elements in the sorted output.
It is an algorithm that considers systematically all possible outcomes for each decision. Examples of backtracking algorithms are the eight queens problem or generating permutations of a given sequence.
If software misses some feature or function from what is there in requirement it is called as defect.
The Socket is a Combination of Ip address and Port Number (in pairs)
Session is a Logical Connectivity between the source and destination .
The inverted page table scheme uses a page table that contains an entry for each physical frame, not for each logical page. This ensures that the table occupies a fixed fraction of memory. The size is proportional to physical memory, not the virtual address space.
The Heterogeneous Services data dictionary views, whose names all begin with the HS_ prefix, can be divided into the following categories:

General views

General views

Views used for the transaction service

Views used for the transaction service

Views used for the SQL service .

Views used for the SQL service .
A Subquery or Inner query or a Nested query is a query within another SQL query and embedded within the WHERE clause. A subquery is used to return data that will be used in the main query as a condition to further restrict the data to be retrieved.
exec is a functionality of an operating system that runs an executable file in the context of an already existing process, replacing the previous executable. This act is also referred to as an overlay. It is especially important in Unix-like systems, although exists elsewhere. 
for detail :http://www.geeksforgeeks.org/exec-family-of-functions-in-c/
System call fork() is used to create processes. It takes no arguments and returns a process ID. The purpose of fork() is to create a new process, which becomes the child process of the caller. After a new child process is created, both processes will execute the next instruction following the fork() system call. Therefore, we have to distinguish the parent from the child. This can be done by testing the returned value of fork().
 Demand paging (as opposed to anticipatory paging) is a method of virtual memory management. It follows that a process begins execution with none of its pages in physical memory, and many page faults will occur until most of a process's working set of pages is located in physical memory.
Address registers - contain main memory addresses of data and instructions or they contain a portion of the address that is used in the calculation of the complete addresses.
Data registers - can be assigned to a variety of functions by the programmer.
They can be used with any machine instruction that performs operations on data.
Paging is solution to external fragmentation problem which is to permit the logical address space of a process to be non contiguous, thus allowing a process to be allocating physical memory wherever the latter is available.
1NF is the First Normal Form. It is the simplest type of normalization that you can implement in a database. The main objectives of 1NF are to:
Remove duplicate columns from the same table
Create separate tables for each group of related data and identify each row with a unique column
Extension: Extension is the number of tuples present in a table at any instance. This is time dependent.
Intension: Intension is a constant value that gives the name, structure of table and the constraints laid on it.
Relational Calculus is a Non-procedural Query Language which uses mathematical predicate calculus instead of algebra.
Interface is a blueprint of a class that have static constants and abstract methods.It can be used to achieve fully abstraction and multiple inheritance.
The classloader is a subsystem of JVM that is used to load classes and interfaces.There are many types of classloaders e.g. Bootstrap classloader, Extension classloader, System classloader, Plugin classloader etc.
Synchronized block is used to lock an object for any shared resource.
Scope of synchronized block is smaller than the method.
The shutdown hook is basically a thread i.e. invoked implicitly before JVM shuts down. So we can use it perform clean up resource.
The thread executing this method, obtains one lock at a time. First, copies the state of the given person object into local variables using one lock. It then, uses these variables to transfer the state to the current object using another lock. This approach mitigated deadlocks by removing lock overlapping.
A thread pool is a software design pattern for achieving concurrency of execution in a computer program. Often also called a replicated workers or worker-crew model, a thread pool maintains multiple threads waiting for tasks to be allocated for concurrent execution by the supervising program.
Static methods cannot be overridden because method overriding only occurs in the context of dynamic (i.e. runtime) lookup of methods. Static methods (by their name) are looked up statically (i.e. at compile-time). Method overriding happens in the type of subtype polymorphism that exists in languages like Java and C++.
for detail refers:http://www.geeksforgeeks.org/can-we-overload-or-override-static-methods-in-java/ 
 
 
 
 
 
 
 
 
 
 
 
 
Fail-Fast iterators, returned by most of the collection types, doesn’t tolerate any structural modifications to a collection while iterating over it. (Structural modifications means add, remove or updating an element in the collection) They throw ConcurrentModificationException if a collection is structurally modified while iteration is going on the collection. 
In systems design, a fail-fast system is one which immediately reports at its interface any condition that is likely to indicate a failure. Fail-fast systems are usually designed to stop normal operation rather than attempt to continue a possibly flawed process. Such designs often check the system's state at several points in an operation, so any failures can be detected early. A fail-fast module passes the responsibility for handling errors, but not detecting them, to the next-highest level of the system.
A connection pool is a cache of database connections maintained so that the connections can be reused when future requests to the database are required. Connection pools are used to enhance the performance of executing commands on a database.
The Void class is an uninstantiable placeholder class to hold a reference to the Class object representing the primitive Java type void.
 
Performance testing focused on ensuring the application under test gracefully handles increases in work load.
A standard of measurement. Software metrics are the statistics describing the structure or content of a program. A metric should be a real objective measurement of something such as number of bugs per lines of code.
A device, computer program, or system that accepts the same inputs and produces the same outputs as a given system.
 
DNS uses UDP for communication between servers. It is a better choice than TCP because of the improved speed a connectionless protocol offers. Of course, transmission reliability suffers with UDP.
 
In concurrent programming, a monitor is a synchronization construct that allows threads to have both mutual exclusion and the ability to wait (block) for a certain condition to become true. Monitors also have a mechanism for signaling other threads that their condition has been met.
for detail :http://www.geeksforgeeks.org/monitors/
Stock market prediction is the act of trying to determine the future value of a company stock or other financial instrument traded on an exchange. The successful prediction of a stock's future price could yield significant profit. The efficient-market hypothesis suggests that stock prices reflect all currently available information and any price changes that are not based on newly revealed information thus are inherently unpredictable. Others disagree and those with this viewpoint possess myriad methods and technologies which purportedly allow them to gain future price information.
SQL NOT NULL Constraint. By default, a column can hold NULL values. The NOTNULL constraint enforces a column to NOT accept NULL values. This enforces a field to always contain a value, which means that you cannot insert a new record, or update a record without adding a value to this field.
A unique key is a set of one or more than one fields/columns of a table that uniquely identify a record in a database table. The unique key and primary key both provide a guarantee for uniqueness for a column or a set of columns. There is an automatically defined unique key constraint within a primary key constraint.
This is a primary file organization technique that provides very fast access to records on certain search conditions.
The description of a data base is called the database schema , which is specified during database design and is not expected to change frequently . A displayed schema is called schema diagram .We call each object in the schema as schema construct.
 
This is another recursion procedure which is the number of times the procedure is called recursively in the process of enlarging a given argument or arguments. Usually this quantity is not obvious except in the case of extremely simple recursive functions, such as FACTORIAL (N), for which the depth is N.
a semaphore is a variable or abstract data type used to control access to a common resource by multiple processes in a concurrent system such as a multiprogramming operating system.
Semaphores are widely used to control access to files and shared memory. The three basic functionalities associated with semaphores are set, check and wait until it clears to set it again. |

Semaphores are used to address benchmark synchronization problems.
 
In system programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. An interrupt alerts the processor to a high-priority condition requiring the interruption of the current code the processor is executing.
A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all memory references passed through itself, primarily performing the translation of virtual memory addresses to physical addresses.
Thread safety is a computer programming concept applicable to multi-threaded code.Thread-safe code only manipulates shared data structures in a manner that ensures that all threads behave properly and fulfil their design specifications without unintended interaction.
A function is reentrant if it can be invoked while already in the process of executing. That is, a function is reentrant if it can be interrupted in the middle of execution (for example, by a signal or interrupt) and invoked again before the interrupted execution completes.
A function pointer is a variable that stores the address of a function that can later be called through that function pointer. This is useful because functions encapsulate behavior.
for detail:http://www.geeksforgeeks.org/function-pointer-in-c/
In computer science, a smart pointer is an abstract data type that simulates a pointer while providing added features, such as automatic memory management or bounds checking. Such features are intended to reduce bugs caused by the misuse ofpointers, while retaining efficiency.
Lambda Expressions. 
Automatic Type Deduction and decltype. 
Uniform Initialization Syntax. 
Deleted and Defaulted Functions. 
nullptr. 
Delegating Constructors. 
Rvalue References. 
C++11 Standard Library. etc
A bitset stores bits (elements with only two possible values: 0 or 1, true or false).The class emulates an array of bool elements, but optimized for space allocation: generally, each element occupies only one bit (which, on most systems, is eight times less than the smallest elemental type: char ).
Mutual Exclusion: There is s resource that cannot be shared.
Hold and Wait: A process is holding at least one resource and waiting for another resource which is with some other process.
No Preemption: The operating system is not allowed to take a resource back from a process until process gives it back.
Circular Wait:  A set of processes are waiting for each other in circular form.
The set of dispatchable processes is in a safe state if there exists at least one temporal order in which all processes can be run to completion without resulting in a deadlock.
Dynamic Ram stores the data in the form of Capacitance, and Static RAM stores the data in Voltages.

 Array is static in size while ArrayList is dynamic
Primitive Data Type: ArrayList cannot contain primitive data types while Array can contain both primitive objects as well as data types
Length: Length of ArrayList is defined by size() method while that of Array has variable length .
Length of the ArrayList is provided by the size() method while Each array object has the length variable which returns the length of the array.

 Array is static in size while ArrayList is dynamic
Primitive Data Type: ArrayList cannot contain primitive data types while Array can contain both primitive objects as well as data types
Length: Length of ArrayList is defined by size() method while that of Array has variable length .
Length of the ArrayList is provided by the size() method while Each array object has the length variable which returns the length of the array.
The ArrayList class extends Abstract List and implements the List interface. ArrayList supports dynamic arrays that can grow as needed. Standard Java arrays are of a fixed length. After arrays are created, they cannot grow or shrink, which means that you must know in advance how many elements an array will hold.
Hashmaps and hashtables are data structures (like arrays and lists), that use hashing to store data. In a hashtable, a hash is produced (either from a provided key, or from the object itself) that determines where in the table the object is stored.
for detail :http://www.geeksforgeeks.org/hashmap-treemap-java/
 


Type safe languages (like C++) have the advantage that many errors are found at compile time (as opposed to run-time). That means using Qt.grey (note the e) would fail to compile because the type is not defined.


Better performance and less memory. Behind the scenes Qt.gray is a number, and number operations are much faster than strings.



Type safe languages (like C++) have the advantage that many errors are found at compile time (as opposed to run-time). That means using Qt.grey (note the e) would fail to compile because the type is not defined.

Type safe languages (like C++) have the advantage that many errors are found at compile time (as opposed to run-time). That means using Qt.grey (note the e) would fail to compile because the type is not defined.

Better performance and less memory. Behind the scenes Qt.gray is a number, and number operations are much faster than strings.

Better performance and less memory. Behind the scenes Qt.gray is a number, and number operations are much faster than strings.
A data type, in programming, is a classification that specifies which type of value a variable has and what type of mathematical, relational or logical operations can be applied to it without causing an error. A string, for example, is a data type that is used to classify text and an integer is a data type used to classify whole numbers.
Reduce the redundancy.
A large amount added bendable database design.
Better overall database association.
Data uniformity inside the database.
External sorting is a term for a class of sorting algorithms that can handle massive amounts of data.External sorting is required when the data being sorted do not fit into the main memory of a computing device (usually RAM) and instead they must reside in the slower external memory (usually a hard drive).
Image map facilitates you link many different web pages using a single image. You can define shapes in images that you want to make part of an image mapping.
Semantic HTML is a coding style. It is the use of HTML markup to reinforce the semantics or meaning of the content. For example: In semantic HTML <b> </b> tag is not used for bold statement as well as <i> </i> tag is used for italic. Instead of these we use <strong></strong> and <em></em> tags.
For indexes to improve the performance of selections, the index expression must match the selection condition exactly. For example, if you have created an index whose expression is last_name, the following Select statement uses the index:
SELECT * FROM emp WHERE last_name = 'Smith'
As long as your query is "covered" by a leading edge of an index, it will be efficient. Database indexes are typically implemented as B-Trees and the structure of the B-Tree dictates that the search must be done in a certain order, which is why the order of fields in the composite index matters.
A secondary index is a data structure that contains a subset of attributes from a table, along with an alternate key to support Query operations. You can retrieve data from the index using a Query , in much the same way as you use Query with a table.
A primary index is an index on a set of fields that includes the unique primary key for the field and is guaranteed not to contain duplicates. Also Called a Clustered index.
eg. Employee ID .
Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit characteristics and features from more than one parent object or parent class.
Proactive behavior aims at identification and exploitation of opportunities and in taking preemptory action against potential problems and threats, whereas reactive behavior focuses on fighting a fire or solving a problem after it occurs.

 
Different phases are
1.) Analysis phase,
2.) Redo Phase,
3.) Undo phase.
This data model is based on real world that consists of basic objects called entities and of relationship among these objects. Entities are described in a database by a set of attributes.
The are three levels of abstraction:

Physical level: The lowest level of abstraction describes how data are stored.
Logical level: The next higher level of abstraction, describes what data are stored in database and what relationship among those data.
View level: The highest level of abstraction describes only part of entire database.

Physical level: The lowest level of abstraction describes how data are stored.
Logical level: The next higher level of abstraction, describes what data are stored in database and what relationship among those data.
View level: The highest level of abstraction describes only part of entire database.

Redundancy is controlled.
Unauthorised access is restricted.
Providing multiple user interfaces.
Enforcing integrity constraints.
Providing backup and recovery.

Redundancy is controlled.
Unauthorised access is restricted.
Providing multiple user interfaces.
Enforcing integrity constraints.
Providing backup and recovery.
Assume that a relation R with set of functional dependencies F. If R is decomposed into relations R1 and R2, then this decomposition is said to be lossless decomposition (or lossless-join decomposition) if and only if at least one of the following functional dependencies holds in the closure of set of functional dependencies F+;
R1 ∩ R2 → R1
R1 ∩ R2 → R2
R1 ∩ R2 should be a determinant that determines all the attributes of one of relations R1 and R2.
for detail :http://www.geeksforgeeks.org/lossless-join-and-dependency-preserving-decomposition/
"The decompositio of relation R into R1 and R2 is lossy when the join of R1 and R2 does not yield the same relation as in R."
 One of the disadvantages of decomposition into two or more relational schemes (or tables) is that some information is lost during retrieval of original relation or table.
First normal form enforces these criteria:
Eliminate repeating groups in individual tables.
Create a separate table for each set of related data.
Identify each set of related data with a primary key .
WhatsApp or most of the other messaging apps rarely work on a peer to peer basis. So it wouldn't open a connection (from your device) to each of your friends' devices. WhatsApp will use that connection to send them your messages. If their app is "offline" then they might choose to send them a push notification instead.
Loose coupling is an approach to interconnecting the components in a system or network so that those components, also called elements, depend on each other to the least extent practicable. Coupling refers to the degree of direct knowledge that one element has of another.
The Travelling Salesman Problem (often called TSP) is a classic algorithmic problem in the field of computer science. It is focused on optimization. In this context better solution often means a solution that is cheaper. TSP is a mathematical problem.
 the travelling salesperson problem, asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city .
Solution of a travelling salesman problem: the black line shows the shortest possible loop that connects every red dot .

Abstraction .

Abstraction .

Encapsulation .

Encapsulation .

Polymorphism .

Polymorphism .

Inheritance .

Inheritance .
Data hiding is a software development technique specifically used in object-oriented programming (OOP) to hide internal object details (data members). Data hiding ensures exclusive data access to class members and protects object integrity by preventing unintended or intended changes.
 Search: ArrayList search operation is pretty fast compared to the LinkedList search operation. get(int index) in ArrayList gives the performance of O(1) while LinkedList performance is O(n).

The time complexity comparison is as follows: 


The time complexity comparison is as follows: 

ArrayList class can act as a list only because it implements List only.LinkedList class can act as a list and queue both because it implements List and Deque interfaces.

ArrayList class can act as a list only because it implements List only.LinkedList class can act as a list and queue both because it implements List and Deque interfaces.

ArrayList is better for storing and accessing data.LinkedList is better for manipulating data.

ArrayList is better for storing and accessing data.LinkedList is better for manipulating data.
Responsive web design (RWD) is an approach to web design aimed at allowing desktop webpages to be viewed in response to the size of the screen or web browser one is viewing with.
The web server locates and then sends the information to the web browser, which displays the results. When web browsers contact servers, they're asking to be sent pages built with Hypertext Markup Language (HTML). Browsers interpret those pages and display them on your computer.
A server is a computer program that provides services to other computer programs (and their users) in the same or other computers. Servers are used to manage network resources. For example, a user may setup a server to control access to a network, send/receive e-mail, manage print jobs, or host a website.
A client is a computer that retrieves information from or uses resources provided by the server or main computer. Many corporate networks are comprised of a client computer at each of the employees' desks. 
​A web application is a computer program that utilizes web browsers and web technology to perform tasks over the Internet.
Interfaces are contracts between two disparate pieces of code. The exchange can be between software, computer hardware, peripheral devices, humans and combinations of these. Some computer hardware devices, such as a touchscreen, can both send and receive data through the interface.
Ternery search tree requires O(log(n)+k) comparisons where n is number of strings and k is the length of the string to be searched and binary search tree requires log(n) comparisons.
for detail :http://www.geeksforgeeks.org/binary-search-preferred-ternary-search/
select top 1 * from
(
    select top 3 * from
    (
     select distinct  emp_sal from employee order by asc emp_sal
    ) d orderby desc emp_sal
)
Creation of Sockets:
socket() 
| 
bind() 
| 
recvfrom() 
| 
(wait for a sendto request from some client) 
| 
(process the sendto request) 
| 
sendto (in reply to the request from the client...for example, send an HTML file)
Sockets are commonly used for client/server interaction. Typical system configuration places the server on one machine, with the clients on other machines. The clients connect to the server, exchange information, and then disconnect .
A server may create several concurrently established TCP sockets with the same local port number and local IP address, each mapped to its own server-child process, serving its own client process. 
The longest increasing subsequence problem is to find a subsequence of a given sequence in which the subsequence's elements are in sorted order, lowest to highest, and in which the subsequence is as long as possible.
An undirected graph is tree if it has following properties.
1) There is no cycle.
2) The graph is connected.
For an undirected graph we can either use BFS or DFS to detect above two properties.
for detail :http://www.geeksforgeeks.org/check-given-graph-tree/
Process State :
To measure the demand paging, the effective access time for a demand –paged
memory is calculated by:
Effective access time = (1 – p) x ma + p x page fault time
Where p: The probability of page fault, 0 < p < 1;
 

 
To improve both the utilization of the CPU and the speed of its response to users.
A jigsaw puzzle is a tiling puzzle that requires the assembly of often oddly shaped interlocking and tessellating pieces. Each piece usually has a small part of a picture on it; when complete, a jigsaw puzzle produces a complete picture. In some cases more advanced types have appeared on the market, such as spherical jigsaws and puzzles showing optical illusions.
During recent years, a range of jigsaw puzzle accessories including boards, cases, frames and roll-up mats has become available that are designed to assist jigsaw puzzle enthusiasts.
print 1, 2, 3, 4, 5, 6, 7.
for more detail refers :http://www.geeksforgeeks.org/level-order-traversal-in-spiral-form/
 The worst case complexity looks like O(nLogn), upper bound of time complexity is O(n). 
Max heap is a specialized full binary tree in which every parent node contains greater or equal value than its child nodes. And last leaf node can be alone .
Example :
A Binary Heap is either Min Heap or Max Heap. In a Min Binary Heap, the key at root must be minimum among all keys present in Binary Heap. The same property must be recursively true for all nodes in Binary Tree. Max Binary Heap is similar to Min Heap.
Examples of Min Heap:
            10                      10
         /      \               /       \  
       20        100          15         30  
      /                      /  \        /  \
    30                     40    50    100   40
C follows the procedural programming. Java is platform independent language
Java is an Interpreted language while C is a compiled language
C uses the top-down approach while JAVA uses the bottom-up approach.
Java is a high-level language and C is a low-level language.
Another minor difference regarding boolean is that in C, stands for false and all the other numbers are considered true. Whereas in Java, they are represented literally by ‘true’ and ‘false'.
C uses the top-down {sharp & smooth} approach while JAVA uses the bottom-up {on the rocks} approach.
Exception Handling in JAVA And the errors & crashes in C.
 JAVA supports Method Overloading while C does not support overloading at all.
Database Normalization, or simply normalization, is the process of organizing the columns (attributes) and tables(relations) of a relational database to reduce data redundancy and improve data integrity.
data normalization rules tend to increase the duplication of data, it does not introduce data redundancy, which is unnecessary duplication.
Normalization can also be thought of as a trade-off between data redundancy and performance. Normalizing a relation reduces data redundancy but introduces the need for joins when all of the data is required by an application such as a report query.
To find out if your computer is running a 32-bit or 64-bit version of Windows in Windows 7 or Windows Vista, do the following:
1. Open System by clicking the Start button , right-clicking Computer, and then clicking Properties.
2. Under System, you can view the system type.
A socket is one endpoint of a two-way communication link between two programs running on the network. A socket is bound to a port number so that the TCP layer can identify the application that data is destined to be sent to. An endpoint is a combination of an IP address and a port number.
Process Synchronization means sharing system resources by processes in a such a way that, Concurrent access to shared data is handled thereby minimizing the chance of inconsistent data. Maintaining data consistency demands mechanisms to ensure synchronized execution of cooperating processes.
for detail refers :http://www.geeksforgeeks.org/process-synchronization-set-1/
A directory is a file system cataloging structure which contains references to other computer files, and possibly other directories. On many computers, directories are known as folders, or drawers to provide some relevancy to a workbench or the traditional office file cabinet.
Files are organized by storing related files in the same directory. In a hierarchical file system (that is, one in which files and directories are organized in a manner that resembles a tree), a directory contained inside another directory is called a sub directory.
 file system or file system is used to control how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. By separating the data into pieces and giving each piece a name, the information is easily isolated and identified. Taking its name from the way paper-based information systems are named, each group of data is called a "file". 
File systems can be used on numerous different types of storage devices that use different kinds of media. The most common storage device in use today is a hard disk drive. Other kinds of media that are used include flash memory,magnetic tapes, and optical discs
Insertion sort is faster for small n because Quick Sort has extra overhead from the recursive function calls.
Insertion sort is also more stable than Quick sort and requires less memory.
Best case of insertion sort is O(n).Best case of quick sort is O(nlogn).
 
Examples:
                      20
                    /    \
                  8       22
                /   \      \
              5      3      25
                    / \      
                  10    14


For the above tree the output should be 5, 10, 3, 14, 25.
for detail refers :http://www.geeksforgeeks.org/bottom-view-binary-tree/
An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of new emails .A service is a component that runs in the background to perform long-running operations or to perform work for remote processes.
Activity is a GUI and service is non-gui thread which can run in the background .

An activity represents a single screen with a user interface.
A service is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface.

An activity represents a single screen with a user interface.
A service is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface.
 
By registering autoloaders, PHP is given a last chance to load the class or interface before it fails with an error. Tip. Although the __autoload() function can also be used forautoloading classes and interfaces, it's preferred to use the spl_autoload_register() function.
PHP provides a number of 'magic' methods that allow you to do some pretty neat tricks in object oriented programming. These methods, identified by a two underscore prefix (__), function as interceptors that are automatically called when certain conditions are met.
Singleton class means you can create only one object for the given class. You can create a singleton class by making its constructor as private, so that you can restrict the creation of the object. Provide a static method to get instance of the object, wherein you can handle the object creation inside the class only.
We close a resource inside the try block. However this is not a good practice, because if an exception is thrown before our close statement is reached, then it will not be executed and resources might thus leak. We could add the close statement in the catch block, which leads to code duplication. If we have several catch blocks, this means we have to add the close statement there. Whenever we need to add a new catch block, we must also remember to put the close statement there.
Arithmetic Exception.
ArrayIndexOutOfBoundException .
ClassNotFoundException .
FileNotFoundException .
InterruptedException .
RuntimeException .
StringIndexOutOfBoundsException . etc
for detail :http://www.geeksforgeeks.org/types-of-exception-in-java-with-examples/
An exception is an unwanted or unexpected event, which occurs during the execution of a program i.e at run time, that disrupts the normal flow of the program’s instructions.
for detail :http://www.geeksforgeeks.org/exceptions-in-java/
Multithreading is a type of execution model that allows multiple threads to exist within the context of a process such that they execute independently but share their process resources.This approach differs from multiprocessing, as with multithreading the processes and threads share the resources of a single or multiple cores: the computing units, the CPU caches, and the translation lookaside buffer (TLB).
For example, a multithreaded operating system may run several background tasks, such as logging file changes, indexing data, and managing windows at the same time. 
Dynamic-link library (or DLL) is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems. These libraries usually have the file extension DLL, OCX (for libraries containing ActiveX controls), or DRV(for legacy system drivers).
For example, several different programs might all call upon the very useful.dll file (I made that up, of course) to find the free space on a hard drive, locate a file in a particular directory, and print a test page to the default printer.
When the CPU gets to that instruction, and executes the int3 , this causes the CPU to generate a debug exception. The OS receives this interrupt, realizes the process is being debugged, and notifies the debugger process that the breakpoint was hit.
Any class type (whether declared with class-key class or struct) may be declared as derived from one or more base classes which, in turn, may be derived from their own base classes, forming an inheritance hierarchy.
Syntax:
struct Base {
    int a, b, c;
};
// every object of type Derived includes Base as a subobject
struct Derived : Base {
    int b;
};
// every object of type Derived2 includes Derived and Base as subobjects
struct Derived2 : Derived {
    int c;
};
 
The best way to think about space complexity of recursive functions is (# of stack frames)*(space per stack frame). In your case, you have n stack frames f(n), f(n-1), f(n-2), ..., f(1) and O(1) space per stack frame (to store the argument n).
but there are fibonnaci(n) recursive calls so Space Complexity O(n).
/*  a[] is the array, p is starting index, that is 0, 
and r is the last index of array.  */

void quicksort(int a[], int p, int r)    
{
  if(p < r)
  {
    int q;
    q = partition(a, p, r);
    quicksort(a, p, q);
    quicksort(a, q+1, r);
  }
}

int partition(int a[], int p, int r)
{
  int i, j, pivot, temp;
  pivot = a[p];
  i = p;
  j = r;
  while(1)
  {
   while(a[i] < pivot && a[i] != pivot)
   i++;
   while(a[j] > pivot && a[j] != pivot)
   j--;
   if(i < j)
   {
    temp = a[i];
    a[i] = a[j];
    a[j] = temp;
   }
   else
   {
    return j;
   }
  }
}
for detail refer :http://www.geeksforgeeks.org/quick-sort/
INSERTION-SORT (A)
1  for j <- 2 to length[A]
2       do key <- A[j]
3         Insert A[j] into the sorted sequence A[1 . . j - 1].
4        i <- j - 1
5        while i > 0 and A[i] > key
6           do A[i + 1] <- A[i]
7              i <- i - 1
8        A[i + 1] <- key
for detail refers :http://www.geeksforgeeks.org/insertion-sort/
a heap is a specialized tree-based data structure that satisfies the heap property: if P is a parent node of C, then the key (the value) of node P is ordered with respect to the key of node C with the same ordering applying across the heap. A heap can be classified further as either a "max heap" or a "min heap".
for detail refers :http://www.geeksforgeeks.org/binary-heap/
 perform a simple inorder traversal and keep the previous value of the node. If the current node is smaller than the previous node then it is not a binary search tree. You use constant additional space (for the previous value) apart from the recursion stack.
for detail refers :http://www.geeksforgeeks.org/a-program-to-check-if-a-binary-tree-is-bst-or-not/
In database management an aggregate function is a function where the values of multiple rows are grouped together as input on certain criteria to form a single value of more significant meaning or measurement such as a set, a bag or a list.
Common aggregate functions include :
Average() (i.e., arithmetic mean)
Count()
Maximum() etc.
for detail refers :http://www.geeksforgeeks.org/database-management-system-aggregate-functions/
The keyword  struct is used to define a structure while keyword union is used to define a union.  
In Structure, the address of each member will be in ascending order This   indicates that memory for each member will start at different offset values while in unions the address is same for all the members of a union. This indicates   that every member begins at the same offset value.     
A structure or a union can be passed by value to functions and returned by value by functions. The argument must have the same type as the function parameter. A structure or union is passed by value just like a scalar variable as a corresponding parameter.
  In case of structure, each member have their own memory space but In union, one block is used by all the member of the union.
for detail refers:http://www.geeksforgeeks.org/difference-structure-union-c/
A structure is a user defined data type in C/C++. A structure creates a data type that can be used to group items of possibly different types into a single type.
How to create a structure?
‘struct’ keyword is used to create a structure. Following is an example.
struct addrress
{
   char name[50];
   char street[100];
   char city[50];
   char state[20]
   int pin;
};
for detail :http://www.geeksforgeeks.org/structures-c/
Demultiplex (DEMUX) is the reverse of the multiplex (MUX) process – combining multiple unrelated analog or digital signal streams into one signal over a single shared medium, such as a single conductor of copper wire or fiber optic cable.
Multiplexing (sometimes contracted to muxing) is a method by which multiple analog or digital signals are combined into one signal over a shared medium.
Multiplexing is done by using a device called multiplexer (MUX) that combines n input lines to generate one output line i.e. (many to one). Therefore multiplexer (MUX) has several inputs and one output.
 
Networking company almost all data structures are being used, some of them are followings

Stack
Queue
List
Tree ( AVL, BST, n-ary)
Graph ( MST, dijkstra algorithm etc )
Trie ( prefix tree: Route lookup)

Stack
Queue
List
Tree ( AVL, BST, n-ary)
Graph ( MST, dijkstra algorithm etc )
Trie ( prefix tree: Route lookup)
Constants provide some level of guarantee that code can't change the underlying value. This is not of much importance for a smaller project, but matters on a larger project with multiple components written by multiple authors.
Constants are also inherently static - you can declare the constant and its value in a header file, and not have to worry about defining it exactly one place.
The void pointer, also known as the generic pointer, is a special type of pointer that can be pointed at objects of any data type! A void pointer is declared like a normal 
pointer, using the void keyword as the pointer's type:
 void *ptr; // ptr is a void pointer.
for detail refers:http://www.geeksforgeeks.org/void-pointer-c/
an automatic variable is a local variable which is allocated and deal located automatically when program flow enters and leaves the variable's scope. The scope is the lexical context, particularly the function or block in which available is defined.
for detail refers:http://www.geeksforgeeks.org/storage-classes-in-c/
 a "default constructor" refers to a nullary constructor that is automatically generated by the compiler if no constructors have been defined for the class. The default constructor implicitly calls the superclass's nullary constructor, then executes an empty body.
for detail  refers :http://www.geeksforgeeks.org/c-internals-default-constructors-set-1/
DELETE :Command is used to remove rows from a table. A WHERE clause can be used to only remove some rows. If no WHERE condition is specified, all rows will be removed. 
DROP :Drop command will delete the entire row also the structure.But truncate will delete the contents only not the structure, so no need to give specifications for another table creation.
TRUNCATE :TRUNCATE command is DDL command. It removes all the information of the table. Regarding performance if you have to delete all the rows of a table you should perform TRUNCATE command with DROP STORAGE option.
 
Suppose a pointer (say ptr) is pointing to a memory of 10 int on heap allocated usingmalloc as below.
int * ptr = (int*)malloc(10*sizeof(int));
You want to increase the size of memory pointed to by ptr from 10 to 20, without loosing the contents of already allocated memory. In this case you can call the realloc function. Signature of realloc is:
void *realloc(void *ptr, size_t size);
malloc() allocates memory block of given size (in bytes) and returns a pointer to the beginning of the block.
void * malloc( size_t size );
 
malloc() doesn’t initialize the allocated memory.
calloc() allocates the memory and also initializes the allocates memory to zero.
void * calloc( size_t num, size_t size );
calloc() takes two arguments: 1) number of blocks to be allocated 2) size of each block.
We can achieve same functionality as calloc() by using malloc() followed by memset(),
ptr = malloc(size);
memset(ptr, 0, size);
he Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower and sometimes pluralized) is a mathematical game or puzzle. It consists of three rods and a number of disks of different sizes, which can slide onto any rod.
The objective of the puzzle is to move the entire stack to another rod, obeying the following simple rules:

Only one disk can be moved at a time.
Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack i.e. a disk can only be moved if it is the uppermost disk on a stack.
No disk may be placed on top of a smaller disk.

Only one disk can be moved at a time.
Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack i.e. a disk can only be moved if it is the uppermost disk on a stack.
No disk may be placed on top of a smaller disk.
With 3 disks, the puzzle can be solved in 7 moves. The minimal number of moves required to solve a Tower of Hanoi puzzle is 2^n − 1, where n is the number of disks.
for detail refers :http://www.geeksforgeeks.org/iterative-tower-of-hanoi/
Function to insert node in the beginning of the List,
struct Node *addBegin(struct Node *last, int data)
{
  if (last == NULL)
     return addToEmpty(last, data);
 
  // Creating a node dynamically.
  struct Node *temp
        = (struct Node *)malloc(sizeof(struct Node));
   
  // Assigning the data.
  temp -> data = data;
 
  // Adjusting the links.
  temp -> next = last -> next;
  last -> next = temp;
   
  return last;
}
for detail refers :http://www.geeksforgeeks.org/circular-singly-linked-list-insertion/
Encapsulation is defined as the wrapping up of data under a single unit. It is the mechanism that binds together code and the data it manipulates.Other way to think about encapsulation is, it is a protective shield that prevents the data from being accessed by the code outside this shield.
for detail refers :http://www.geeksforgeeks.org/encapsulation-in-java/
Static binding is being used for overloaded methods and dynamic binding is being used for overridden/overriding methods.
Method overloading is used to increase the readability of the program.
	Method overriding is used to provide the specific implementation of the method that is already provided by its super class.
Argument list should be different while doing method overloading. Argument list should be same in method Overriding.
In Method Overloading, methods have same name different signatures but in the same class.In Method Overriding, methods have same name and same signature but in the different class.
It may or may not need inheritance in Method Overloading.It always requires inheritance in Method Overriding.
 A memory leak is a type of resource leak that occurs when a computer program incorrectly manages memory allocations in such a way that memory which is no longer needed is not released. In object-oriented programming, a memory leak may happen when an object is stored in memory but cannot be accessed by the running code.
for detail refers :http://www.geeksforgeeks.org/what-is-memory-leak-how-can-we-avoid/
Python provides a lot of inbuilt functionality and is a very powerful language. It is more closer to the English language as compared to most other languages. Therefore it becomes easier to focus more on the logic of the program rather than the syntax ( especially if it is the first language that you learn )
Python works with the very little code the way most common “use cases” require, reserving lengthy explicit coding for outliers and exceptions .
Python is highly approachable by complete beginners, and yet still powerful enough for pros to use as “shortcut-glue” in enterprise-class apps.
We can execute a stored procedure whenever we want with the help of the exec command, but a trigger can only be executed whenever an event (insert, delete, and update) is fired on the table on which the trigger is defined.
Stored procedures can return values but a trigger cannot return a value.
We can call a stored procedure from the front end (.asp files, .aspx files, .ascx files, etc.) but we can't call a trigger from these files.
Stored procedure can take input parameters, but we can't pass parameters as input to a trigger.
All the objects which are created dynamically (using new in C++ and Java) are allocated memory in the heap. If we go on creating objects we might get Out Of Memory error, since it is not possible to allocate heap memory to objects. So we need to clear heap memory by releasing memory for all those objects which are no longer referenced by the program (or the unreachable objects) so that the space is made available for subsequent new objects. This memory can be released by the programmer itself but it seems to be an overhead for the programmer, here garbage collection comes to our rescue, and it automatically releases the heap memory for all the unreferenced objects .
for detail refers :http://www.geeksforgeeks.org/mark-and-sweep-garbage-collection-algorithm/
“Garbage Collection” as the name suggests is used to remove the objects that are no longer needed by the Java application. The Java Garbage Collector will identify those objects and remove those from the memory thereby freeing the memory for the new objects .
for detail refers :http://www.geeksforgeeks.org/garbage-collection-java/
binary search trees (BST), sometimes called orderedor sorted binary trees, are a particular type of container: data structures that store "items" (such as numbers, names etc.) in memory. They allow fast lookup, addition and removal of items, and can be used to implement either dynamic sets of items, or lookup tables that allow finding an item by its key(e.g., finding the phone number of a person by name).
Example :
for detail refers :http://www.geeksforgeeks.org/binary-search-tree-set-1-search-and-insertion/
A pure virtual function or pure virtual method is a virtual function that is required to be implemented by a derived class if the derived class is not abstract. Classes containing pure virtual methods are termed "abstract" and they cannot be instantiated directly.
for detail refers :http://www.geeksforgeeks.org/pure-virtual-functions-and-abstract-classes/
Abstract classes are classes that contain one or more abstract methods. Anabstract method is a method that is declared, but contains no implementation.Abstract classes may not be instantiated, and require subclasses to provide implementations for the abstract methods .
for detail refers :http://www.geeksforgeeks.org/abstract-classes-in-java/
 Exit controlled loop - The loop which keeps on executing until a particular condition is satisfied and when the condition is satisfied according to the criteria the loop exits, this is known as exit controlled loop.
EX-

While loop (during polling)

While loop (during polling)
 The loop which has a condition check at the entrance of the loop, the loop executes only and only if the condition is satisfied is called as entry control loop.
EX-

while loop
For loop

while loop
For loop
Solution to the problem of external fragmentation is compaction. The process is to shuffle the memory contents so that all free memory is placed together in one large block. It is only possible if relocation is dynamic and done only at run time.
Example:Compaction Algorithm .
External fragmentation arises when free memory is separated into small blocks and is interspersed by allocated memory. It is a weakness of certain storage allocation algorithms, when they fail to order memory used by programs efficiently.
For example, consider a situation wherein a program allocates 3 continuous blocks of memory and then frees the middle block. The memory allocator can use this free block of memory for future allocations. However, it cannot use this block if the memory to be allocated is larger in size than this free block.
External fragmentation also occurs in file systems as many files of different sizes are created, change size, and are deleted. The effect is even worse if a file which is divided into many small pieces is deleted, because this leaves similarly small regions of free spaces .
Internal fragmentation is the space wasted inside of allocated memory blocks because of restriction on the allowed sizes of allocated blocks.Allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used .
 For example, memory can only be provided to programs in chunks divisible by 4, 8 or 16, and as a result if a program requests perhaps 23 bytes, it will actually get a chunk of 32 bytes. When this happens, the excess memory goes to waste. In this scenario, the unusable memory is contained within an allocated region.
The degree of multiprogramming describes the maximum number of processes that a single-processor system can accommodate efficiently
 The primary factor affecting the degree of multiprogramming is the amount of memory available to be allocated to executing processes.
 
The inline functions are a C++ enhancement feature to increase the execution time of a program. Functions can be instructed to compiler to make them inline so that compiler can replace those function definition wherever those are being called.
Advantages 
 Function call overhead doesn’t occur.
 It also saves the overhead of push/pop variables on the stack when function is called.
 It also saves overhead of a return call from a function.
detail refers :http://www.geeksforgeeks.org/inline-functions-cpp/
 
A signal as referred to in communication systems, signal processing, and electrical engineering is a function that "conveys information about the behavior or attributes of some phenomenon".The simplest form of signal is a direct current (DC) that is switched on and off . 
The keyword ‘register’ instructs the compiler to persist the variable that is being declared , in a CPU register.

Ex: register int number;

The persistence of register variables in CPU register is to optimize the access. Even the optimization is turned off; the register variables are forced to store in CPU register.
Read more on http://www.geeksforgeeks.org/understanding-register-keyword/
Huge pointer is the pointer that can point to the whole memory of the RAM and that can access all the segments that are present in a program. The normalization can be done depending on the microprocessor of the system. The physical memory of the system is represented in 20 bit and then there is a conversion of 4 byte or 32 bit address. The increment of the huge pointer will also affect the offset and segment address. Through the huge pointer the access and modification of device driver memory, video memory, etc. Huge pointer manages the overall system of the memory model and also normalizes the overall use of the pointers.
Invalid pointer arithmetic include:

(i) Adding, dividing and multiplying two pointers 
(ii) Adding double or float to pointer 
(iii) Masking or shifting pointer 
(iv) Assigning a pointer of one type to another type of pointer.
 ftell() function is used to get the current file referred by the file pointer.
 ftell(fp); returns a long integer value referring the current location of the file pointed by the file pointer fp.
 If there's an error, it will return -1.
"Far" and "Near" - non-standard qualifiers available in x86 systems only.

Near pointer - Refers to an address in known segment only. 

Far pointer - Compound value containing a segment number and offset into that segment .
There is nothing like total generic pointer type, only void* holds the object (i.e. data) pointers. Converting function pointer to type void* is not a portable and it is not appropriate to convert it also. You can use any function type like int*() or void*(), these pointers can be treated as a generic function pointer. The best way to have the portability, is to use void* and a generic pointer combination. 
- The terminate() is a library function which by default aborts the program.
- It is called whenever the exception handling mechanism cannot find a handler for a thrown exception.
- The unexpected() is called when a function with an exception specification throws an exception of a type that is not listed in the exception specification for the function
- A function declaration without a specification like throw(char*) may throw any type of exception, and one with throw() is not allowed to throw exceptions at all.
- By default unexpected() calls terminate().
Model transformations involve multiple models that are used to define different views of a system. It provides different level of granularity that it doesn’t use either the top-down approach or the bottom-up approach to implement the basic functionality of the system. It is used to integrate the library components used that involves the iteration of the model that needs to be constructed. It also involves the analysis of the model so that the process can be made automated by using the construction tools. The compilation made the progress by improving the code that is written in high level language and the code generator produce the code that is required for the machine language .
 Prototype of the function used to create a child process is pid_t fork(void);
 Fork is the system call that is used to create a child process. It takes no arguments and returns a value of type pid_t.
 If the function succeeds it returns the pid of the child process created to its parent and child receives a zero value indicating its successful creation.
 On failure, a -1 will be returned in the parent's context, no child process will be created, and errno will be set.
- The child process normally performs all its operations in its parents context but each process independently of one nother and also inherits some of the important attributes from it such as UID, current directory, root directory and so on.
Critical section allows the process to run in an area that is defined by that process only. It is a sequence of instructions that can be corrupted if any other process tries to interrupt it. This process allow the operating system to give the synchronization objects that are used to monitor the processes that are up and running so that no other process will get executed till the critical region consists of a process that is already running. The example includes removal of the data from a queue running in a critical section and if not protected then it can be interrupted and the data have chances of getting corrupted. The processes exit from the critical section as soon as they finish the execution so that the chances can be given to other processes that are waiting for their chance to come .
- Damage of memory devices due to transient current and static discharges.
- Malfunctioning of address lines due to a short in the circuit.
- Malfunctioning of Data lines.
- Some memory locations being inaccessible in storage due to garbage or errors.
- Improper insertion of Memory devices into the memory slots.
- Faulty control signals.
 Direct memory access is mainly used to overcome the disadvantages of interrupt and progam controlled I/O.
 DMA modules usually take the control over from the processor and perform the memory operations and this is mainly because to counteract the mismatch in the processing speeds of I/O units and the procesor. This is comparatively faster.
 It is an important part of any embedded systems,and the reason for their use is that they can be used for bursty data transfers instead of single byte approaches.
 It has to wait for the systems resources such as the system bus in case it is already in control of it.
Cloud computing consists of 3 layers in the hierarchy and these are as follows:
1. Infrastructure as a Service (IaaS) provides cloud infrastructure in terms of hardware like memory, processor speed etc. 
2. Platform as a Service (PaaS) provides cloud application platform for the developers. 
3. Software as a Service (SaaS) provides cloud applications which are used by the user directly without installing anything on the system. The application remains on the cloud and it can be saved and edited in there only.
Cloud computing is a metaphor used for internet. It provides on-demand access to virtualized IT resources that can be shared by others or subscribed by you. It provides an easy way to provide configurable resources by taking it from a shared pool. The pool consists of networks, servers, storage, applications and services.
Utility computing allow the user to pay per use means whatever they are using only for that they have to pay. It is a plug in that needs to be managed by the organizations on deciding what type of services has to be deployed from the cloud. Utility computing allows the user to think and implement the services according to them. Most organizations go for hybrid strategy that combines internal delivered services that are hosted or outsourced services.
VPN stands for virtual private network; it is a private cloud which manages the security of the data during the transport in the cloud environment. VPN allows an organization to make a public network as private network and use it to transfer files and other resources on a network.
Cloud computing provides the services to the organizations so they can run their applications and install them on the cloud. Virtualization is used to deploy the cloud computing models as it provides a hidden layer between the user and the physical layer of the system. The cloud services are measured in terms of use. Pay as much as you use that can be on the basis of hours or months or years. Cloud services allow users to pay for only what they use and according to the demand the charges or the prices gets increased.
- Table Scan - Iterating over the table rows .
- Index Scan - Iterating over the index items .
 During the process of distributed deadlock detection, sometime a delay occurs while propagating local information and this leads to deadlock detection algorithms pointing to deadlocks that do not actually occur. 
- These deadlocks are referred to as phantom deadlocks, as they do not really exist. 
- Phantom deadlock lead to unnecessary abortions. 
- Materialized views are disk based views. 
- Materialized views get updated periodically based on the interval specified in the query.
- Materialized views can be indexed.
Clustered Index - 

- A clustered index reorders the way records in the table are physically stored. 
- There can be only one clustered index per table. 
- It makes data retrieval faster.

Non-clustered Index

- A non-clustered index does not make any changes to the way the records were stored but creates a completely separate object inside the table. 
- This makes the insert and update command work faster .
Database partitioning refers to dividing the large database into small logical units. It helps in improving the management, availability & performance of the system. 

The advantages of database partitioning are: 

i.) It improves and speeds up the performance of queries 
ii.) You can easily bigger parts of a partition
There are various translation phases that can be used in C language. These are as follows:
a) The first stage of the translation phase is to check the tri-graph and allow it to be used with the system.
b) The second stage is to identify the type of program that has to be written for that, the identification of identifiers and others are figured out. 
c) The third stage is the important stage where the translation from comments to the space takes place. The space is not being seen in the case of strings or character constant. And multiple white spaces may be combined in one.
d) The last stage involves the complete translation of the program.
Volatile variables are like other variables except that the values might be changed at any given point of time only by ‘some external resources’.

Ex:
volatile int number;

The value may be altered by some external factor, though if it does not appear to the left of the assignment statement. The compiler will keep track of these volatile variables .
- #include<...> means that the directories other than the current one will be searched for the header file. 
- #include "..." means that the current directory will be searched for the header file before any other directories.
 Enumerated types allow the programmers to use more meaningful words as values to a variable. 
 Each item in the enumerated type variable is actually associated with a numeric code. For an enumerated type variable named Months can be created. Its values can be January, February,....December.
 Both functions accept a character input value from the user. 
 When getch() is used, the key that was pressed will not appear on the screen. It is automatically captured and assigned to a variable. 
 While when getche() is used, the key that was pressed by the user appears on the screen and is assigned to a variable.
for detail refers :http://www.geeksforgeeks.org/difference-getchar-getch-getc-getche/
 It is done for parsing process and compilation of the code. 
 A semicolon acts as a delimiter. This tells the compiler where each statement ends, and can proceed to divide the statement into smaller elements for checking the syntax.
 A newline escape sequence is represented by the \n character. 
 It is used to insert a new line while displaying the output data. 
To add more spaces you can use more \n characters.
Spaghetti programming refers to codes that tend to get tangled and overlapped throughout the program. 
 It makes a program complex and analyzing the code becomes difficult. It usually happens due to the lack of work experience on developer's part.
for detail :http://www.geeksforgeeks.org/g-fact-87/
Declaring all header files in every program would lead to increase in the overall file size and load of the program. It is not a good programming. 
The choice of header files that you want to declare in the program depends on the commands/functions you want to use in the program. Each header file contains different commands and functions. So we use only the files relevant to our program
- While writing programs that store and retrieve data in a file, it is possible to designate that file into different forms. 
- A sequential access file is such that data are saved in sequential order: one data is placed into the file after another. 
- If you want to access a particular data within the sequential access file, data has to be read - one data at a time, until you reach the data you want.
- JAXM messaging models has two types of messaging model, synchronous and asynchronous.

1. Synchronous messaging model :

- In this type of model, client directly interacts with the source. The client sends a request and waits for the response.

2. Asynchronous messaging model :

- In this model, client sends message to the messaging provider and returns back. Messaging provider then performs the routing of message to the end source.
- JAX-RPC uses SOAP to call remote procedures.
- It enables JAX-RPC clients to invoke web services developed across heterogeneous platform.
- It is an Application Program Interface(API).
- It is easier for the web services to call other applications.
- It provides a programming model for the development of SOAP .
- It is the service called as distributed lock manager.
- In cluster systems to avoid file sharing the distributed systems must provide the access control and file locking.
- This ensures that no conflicting operations occur in the system.
- Here the distributed file systems are not general purpose therefore it requires locking.
 
- These systems are also called as the distributed systems.
- It consist of collection of processors that do not share memory or clock.
- The processors communicate through high speed buses or telephone lines.
- It can be a centralized system where the server responds to client requests.
- It can also be a peer to peer system.
- It is the ability to continue providing service proportional to level of hardware.
- Systems designed for graceful degradation are called fault tolerant.
- If we have several processors connected together, then failure of one would not stop the system.
- Then the entire system runs only 10% slower.
- This leads to increased reliability of the system .
The VFS layer also known as the virtual file system functions in many ways similar to object oriented programming techniques. It acts like an abstraction layer on top of a more specific file system. The VFS layer enables the OS to make system calls independent of the file system type used. Any file system that is used gives its function calls used and the data structures to the layer of VFS. The VFS layer translates a system call into the correct specific functions for the targeted file system. The program that is used for calling does not have a file system specific code also the system call structures used in upper levels are file system independent. The VFS layer translation translates the non-file system specific calls into a file system specific operation.The VFS layer also known as the virtual file system functions in many ways similar to object oriented programming techniques. It acts like an abstraction layer on top of a more specific file system. The VFS layer enables the OS to make system calls independent of the file system type used. Any file system that is used gives its function calls used and the data structures to the layer of VFS. The VFS layer translates a system call into the correct specific functions for the targeted file system. The program that is used for calling does not have a file system specific code also the system call structures used in upper levels are file system independent. The VFS layer translation translates the non-file system specific calls into a file system specific operation.
The Belady's anomaly is a situation in which the number of page faults increases when additional physical memory is added to a system. This anomaly arises in some algorithms that implement virtual memory. The virtual memory allows programs larger than the physical memory space to execute. An algorithm suffers from this problem when it cannot guarantee that a page will be kept when a small number of frames are available. An optimal algorithm would not suffer from this problem as it replaces the page not to be used for the longest time. The anomaly occurs when the page replacement algorithm will remove a page that will be needed in the immediate future. An optimal algorithm will not select such a page that will be required immediately. This anomaly is also stated to be unbounded .
Read - write locks provide simultaneous read access to many threads while the write access stays with one thread at a time. They are especially useful in protecting the data that is not frequently written but read simultaneously by many threads. 
- They are slower than mutexes.
for detail :http://www.geeksforgeeks.org/readers-writers-problem-set-1-introduction-and-readers-preference-solution/
- A traditional pipe is unnamed and can be used only for the communication of related process. If unrelated processes are required to communicate - named pipes are required. 
- It is a pipe whose access point is a file available on the file system. When this file is opened for reading, a process is granted access to the reading end of the pipe. Similarly, when the file is opened for writing, the process is granted access to writing end of the pipe. 
- A named pipe is also referred to as FIFO or named FIFO.
- Kernel is the part of OS which handles all details of sharing resources and device handling. 
- It can be considered as the core of OS which manages the core features of an OS. 
- Its purpose is to handle the communication between software and hardware 
- Its services are used through system calls. 
- A layer of software called shell wraps around the Kernel .
LEFT JOIN: This join returns all the rows of the table on the left side of the join and matching rows for the table on the right side of join. The rows for which there is no matching row on right side, the result-set will contain null. LEFT JOIN is also known as LEFT OUTER JOIN.Syntax:
SELECT table1.column1,table1.column2,table2.column1,....
FROM table1 
LEFT JOIN table2
ON table1.matching_column = table2.matching_column;


table1: First table.
table2: Second table
matching_column: Column common to both the tables .
for detail refers :http://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/
RIGHT JOIN: RIGHT JOIN is similar to LEFT JOIN. This join returns all the rows of the table on the right side of the join and matching rows for the table on the left side of join. The rows for which there is no matching row on left side, the result-set will contain null. RIGHT JOIN is also known as RIGHT OUTER JOIN.Syntax:
SELECT table1.column1,table1.column2,table2.column1,....
FROM table1 
RIGHT JOIN table2
ON table1.matching_column = table2.matching_column;


table1: First table.
table2: Second table
matching_column: Column common to both the tables .
for detail refers :http://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/
FULL JOIN: FULL JOIN creates the result-set by combining result of both LEFT JOIN and RIGHT JOIN. The result-set will contain all the rows from both the tables. The rows for which there is no matching, the result-set will contain NULL values.Syntax:
SELECT table1.column1,table1.column2,table2.column1,....
FROM table1 
FULL JOIN table2
ON table1.matching_column = table2.matching_column;
for detail :http://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/


table1: First table.
table2: Second table
matching_column: Column common to both the tables.
INNER JOIN: The INNER JOIN keyword selects all rows from both the tables as long as the condition satisfies. This keyword will create the result-set by combining all rows from both the tables where the condition satisfies i.e value of the common field will be same.
Syntax:
 
SELECT table1.column1,table1.column2,table2.column1,....
FROM table1 
INNER JOIN table2
ON table1.matching_column = table2.matching_column;


table1: First table.
table2: Second table
matching_column: Column common to both the tables.
for detail refer :http://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/
You can configure whether and how sessions use cookies in the following ways:
 
You can configure the session-properties for the entire web container:
 
To use the Administration interface, select Containers and then Web Container under your server instance. Then click on the Properties button under Session Configuration Properties. After editing the properties, click on OK, then Save.
 
You can also edit the session-properties element in the server.xml file, which is the same as the corresponding element in the sun-web.xml file. For details, see the Sun Java System Application Server Administrator’s Configuration File Reference.
You can configure the session-properties and cookie-properties elements in the sun-web.xml file for an individual web application.
A cookie (called an Internet or Web cookie) is the term given to describe a type of message that is given to a Web browser by a Web server.  The main purpose of a cookie is to identify users and possibly prepare customized Web pages or to save site login information for you.
When you enter a Web site using cookies, you may be asked to fill out a form providing personal information; like your name, e-mail address, and interests. This information is packaged into a cookie and sent to your Web browser, which then stores the information for later use. The next time you go to the same Web site, your browser will send the cookie to the Web server. The message is sent back to the server each time the browser requests a page from the server .
Phrase level error recovery is implemented by filling in the blank entries in the predictive parsing table with pointers to error routines. These routines may change, insert, or delete symbols on the input and issue appropriate error messages. They may also pop from the stack.
A handle of a string is a substring that matches the right side of a production, and whose reduction to the nonterminal on the left side of the production represents one step along the reverse of a rightmost derivation.
A handle of a right – sentential form γ is a production A→β and a position of γ where the string β may be found and replaced by A to produce the previous right-sentential form in a rightmost derivation of γ. That is , if S =>αAw =>αβw,then A→β in the position following α is a handle of αβw.
· Tokens- Sequence of characters that have a collective meaning.
· Patterns- There is a set of strings in the input for which the same token is produced as output. This set of strings is described by a rule called a pattern associated with the token
· Lexeme- A sequence of characters in the source program that is matched by the pattern for a token.
Analysis and Synthesis are the two parts of compilation.
The analysis part breaks up the source program into constituent pieces and creates an intermediate representation of the source program.
The synthesis part constructs the desired target program from the intermediate representation.
A compiler is a program that reads a program written in one language –the source language and translates it into an equivalent program in another language-the target language. The compiler reports to its user the presence of errors in the source program.
Stack is an abstract data type with a bounded(predefined) capacity. It is a simple data structure that allows adding and removing elements in a particular order. Every time an element is added, it goes on the top of the stack, the only element that can be removed is the element that was at the top of the stack, just like a pile of objects.
Basic features of Stack

Stack is an ordered list of similar data type.
Stack is a LIFO structure. (Last in First out).
push() function is used to insert new elements into the Stack and pop() is used to delete an element from the stack. Both insertion and deletion are allowed at only one end of Stack called Top.
Stack is said to be in Overflow state when it is completely full and is said to be in Underflow state if it is completely empty.

Stack is an ordered list of similar data type.
Stack is a LIFO structure. (Last in First out).
push() function is used to insert new elements into the Stack and pop() is used to delete an element from the stack. Both insertion and deletion are allowed at only one end of Stack called Top.
Stack is said to be in Overflow state when it is completely full and is said to be in Underflow state if it is completely empty.
for detail refer :http://www.geeksforgeeks.org/stack-data-structure/
Polish and Reverse Polish notations.
Operating System | Paging
Paging is a memory management scheme that eliminates the need for contiguous allocation of physical memory. This scheme permits the physical address space of a process to be non – contiguous.
Logical Address or Virtual Address (represented in bits): An address generated by the CPU
Logical Address Space or Virtual Address Space( represented in words or bytes): The set of all logical addresses generated by a program
Physical Address (represented in bits): An address actually available on memory unit
Physical Address Space (represented in words or bytes): The set of all physical addresses corresponding to the logical addresses .
for detail :http://www.geeksforgeeks.org/operating-system-paging/
Network security combines multiple layers of defenses at the edge and in the network. Each network security layer implements policies and controls. Authorized users gain access to network resources, but malicious actors are blocked from carrying out exploits and threats .
HTTP is Hyper Text Transfer protocol that is used in networking. Whenever basically you type a website in the browser, its is this protocol which by default listens at port 80 on server side and helps you to see the webpage on your machine. 
HTTPS : This is Hyper text Transfer protocol with added security layer in place in form on TLS/SSL. Servers and clients communicate with each other exactly same as HTTP but over a secure channel.
HTTP URL begins with “http://” .
HTTPS URL begins with “https://” .
HTTP Operate in Operates at Application Layer.
HTTPS Operates at Transport Layer .
HTTP No certificates required .
HTTPs  certificates required .
he automotive differential is designed to drive a pair of wheels while allowing them to rotate at different speeds. In vehicles without a differential, such as karts, both driving wheels are forced to rotate at the same speed, usually on a common axle driven by a simple chain-drive mechanism.
Unix is more flexible and can be installed on many different types of machines, including main-frame computers, super computers and micro-computers.
- Unix is more stable and does not go down as often as Windows does, therefore requires less administration and maintenance.
- Unix has greater built-in security and permissions features than Windows.
- Unix possesses much greater processing power than Windows.
- Unix is the leader in serving the Web. About 90% of the Internet relies on Unix operating systems running Apache, the world's most widely used Web server.
- Software upgrades from Microsoft often require the user to purchase new or more hardware or prerequisite software. That is not the case with Unix .
The “Core 2 Duo” is a name given to series of Processors of Intel. The name is specific to that range only and not any other. These processors had only two cores as the “Duo” the term says. Similary, there was a series of Intel Proecessors named “Core 2 Quad” whose processors had four Cores as the term “Quad” applies.
The term “Dual Core” obviously means that the referenced processor would have two cores. However, this term was mainly used in non-mainstream processor. These were meant for budget class, or more power-efficiency than performance. So, basically a Core 2 Duo Processor would perform better that a Dual Core stated Processor, but there are few more things to look at when comparing and there are few exceptions.
The smallest value that can be measured by the measuring instrument is called its least count. Measured values are good only up to this value. The least count error is the error associated with the resolution of the instrument .
COBOL (Common Business Oriented Language) was the first widely-used high-level programming language for business applications.
While the language has been updated over the years, COBOL programs are generally viewed as being outdated. Today, however, a majority of payroll, accounting and other business application programs still use COBOL despite the growing popularity of more modern programming languages such as Java, C++ and .NET. In fact, there are more existing lines of programming code still in use written in COBOL than in any other programming language.
The Pentium 4 570 processor is a 3.8GHz chip with 1Mbytes of Level 2 cache that will feature the fastest clock speed of any Pentium 4 processor for an indefinite period of time.
Linear programming (LP) (also called linear optimization) is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming is a special case of mathematical programming (mathematical optimization) .
Grid computing is the collection of computer resources from multiple locations to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files .
for detail refers :http://www.geeksforgeeks.org/mpi-distributed-computing-made-easy/
1) Data stored in normalized schema in OLTP systems can have hundreds to thousands of tables for an enterprise. OLTP systems have a probability, that a portion of these tables can be often less descriptive due to lack of self relevant naming conventions. This makes designing queries harder for reporting purposes.
 
2) As normalised schema has a lot of tables, a single piece of related information is split and stored into various tables with referential integrity constraints. This means that reading this data requires creating joins with many tables. For reporting and analysis purposes over a very huge dataset spanning thousands to millions of records of historical data, such queries would perform very poorly.
 
3) OLTP systems tend to archive data time to time on a scheduled basis. It might be in the form of hard / soft delete. Lack of historical data can limit the level of analysis that can be performed on the data.
 
4) OLTP systems tend to store most updated version of data only. For ex employee address, product name, martial status etc. Generally history for such attributes would not be preserved, which results in loss of historical data. Lack of history for such attributes can limit the level of analysis that can be performed on the data .
 image processing is processing of images using mathematical operations by using any form of signal processing for which the input is an image, a series of images, or a video, such as a photograph or video frame; the output of image processing may be either an image or a set of characteristics or parameters related to the image.
The abacus (plural abaci or abacuses), also called a counting frame, is a calculating tool that was in use in Europe, China and Russia, centuries before the adoption of the written Hindu–Arabic numeral system and is still used by merchants, traders and clerks in some parts of Eastern Europe, Russia, China and Africa .
PageRank (PR) is an algorithm used by Google Search to rank websites in their search engine results. PageRank was named after Larry Page, one of the founders of Google. PageRank is a way of measuring the importance of website pages.
A decision support system (DSS) is a computerized information system used to support decision-making in an organization or a business. A DSS lets users sift through and analyze massive reams of data and compile information that can be used to solve problems and make better decisions.
A 64-bit processor is a microprocessor with a word size of 64 bits, a requirement for memory and data intensive applications such as computer-aided design (CAD) applications, database management systems, technical and scientific applications, and high-performance servers.
genetic programming (GP) is a technique whereby computer programs are encoded as a set of genes that are then modified (evolved) using an evolutionary algorithm (often a genetic algorithm, "GA") – it is an application of (for example) genetic algorithms where the space of solutions consists of computer programs.
SAP stands for Systems Applications and Products in Data Processing.
SAP by definition is also named of the ERP (Enterprise Resource Planning) software as well the name of the company.
SAP Software was Founded in 1972 by Wellenreuther, Hopp, Hector, Plattner and Tschira.
SAP system consists of a number of fully integrated modules, which covers virtually every aspect of the business management.
SAP is #1 in the ERP market. As of 2010, SAP has more  than 140,000 installations worldwide, over 25 industry-specific business solutions and more than 75,000 customers in 120 countries
Other Competitive products of SAP Software in the market are  Oracle, Microsoft Dynamics etc
A collection of wires through which data is transmitted from one part of a computer to another. You can think of a bus as a highway on which data travels within a computer. When used in reference to personal computers, the term bus usually refers to internal bus
Embedded software is computer software, written to control machines or devices that are not typically thought of as computers. It is typically specialized for the particular hardware that it runs on and has time and memory constraints.
Operations research (OR) is an analytical method of problem-solving and decision-making that is useful in the management of organizations. In operations research, problems are broken down into basic components and then solved in defined steps by mathematical analysis.
The JVM uses locks in conjunction with monitors. A monitor is basically a guardian that watches over a sequence of synchronized code and ensuring that only one thread at a time executes a synchronized piece of code. Each monitor is associated with an object reference. The thread is not allowed to execute the code until it obtains the lock.
for detail refers :http://www.geeksforgeeks.org/process-synchronization-set-1/
Java API provides several convenient methods to split string based upon any delimiter e.g. comma, semi colon or colon. You can even use regular expression to split a big string into several smaller strings.
 
SSL and SSH both are special encryption and protocol technologies used to connect two computers
•  SSH: SSH stands for “Secure Shell” which commonly uses port 22 to connect your system on another system via internet. It is often used by network administrators as a remote login or remote control to manage their business servers.
•  SSL: SSL stands for “Secure Sockets Layer” it commonly uses port 443 to connect your system to a secure system on the Internet. It is often used for transmitting information like tax, banking, credit card, personal information to a business server somewhere.
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.
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.
This is the most obvious question accurued in mind that if the cloud data is secure; To ensure that, check that there is no data leak with the encryption key implemented with the data you sending while the data moves from point A to point B in cloud.
Scalability is a characteristic of cloud computing which is used to handle the increasing workload by increasing in proportion amount of resource capacity. By the use of scalability, the architecture provides on demand resources if the requirement is being raised by the traffic. Whereas, Elasticity is a characteristic which provides the concept of commissioning and decommissioning of large amount of resource capacity dynamically. It is measured by the speed by which the resources are coming on demand and the usage of the resources.
Synchronicity is used to bind the client to the execution of the service. In synchronous invocations, the client blocks and waits for the service to complete its operation before continuing. On the other hand, synchronous operations facilitate a client to invoke a service and then execute other functions.
Interoperability: By the help of web services, an application can communicate with other application developed in any language.
Reusability: We can expose the web service so that other applications can use it.
Modularity: By the help of web service, we can create a service for a specific task such as tax calculation etc.
Benchmarking testing is the process of comparing application performance with respect to industry standard given by some other organization.
It is a standard testing which specifies where our application stands with respect to others.
In Baseline testing, a set of tests is run to capture performance information. Baseline testing improves performance and capabilities of the application by using the information collected and make the changes in the application. Baseline compares present performance of application with its own previous performance.
The "netstat" is a command line utility program. It gives useful information about the current TCP/IP setting of a connection.
NOS stands for Network Operating System. It is specialized software which is used to provide network connectivity to a computer to make communication possible with other computers and connected devices.
A list of predefined exceptions in PL/SQL:
DUP_VAL_ON_INDEX
ZERO_DIVIDE
NO_DATA_FOUND
TOO_MANY_ROWS
CURSOR_ALREADY_OPEN
INVALID_NUMBER
INVALID_CURSOR
PROGRAM_ERROR
TIMEOUT _ON_RESOURCE
STORAGE_ERROR
LOGON_DENIED
VALUE_ERROR
etc.
Because java uses the concept of string literal. Suppose there are 5 reference variables,all referes to one object "sachin".If one reference variable changes the value of the object, it will be affected to all the reference variables. That is why string objects are immutable in java.
Boxing:Implicit conversion of a value type (integer, character etc.) to a reference type (object) is called boxing. In boxing process a value type(which generally stores on stack) is being allocated on the heap rather than the stack.
Unboxing:explicit conversion of that same reference type (which is created by boxing process) back to a value type is known as unboxing. In unboxing process boxed value type is unboxed from the heap and allocated on the stack.
SQL Server is DBMS system provided by Microsoft. Sometimes it is mistakenly referred as SQL but both are totally different, as SQL is a language whereas SQL Server is a Microsoft product that supports SQL.
ORM is an acronym for Object/Relational mapping. It is a programming strategy to map object with the data stored in the database. It simplifies data creation, data manipulation and data access.
Hibernate is an open-source and lightweight ORM tool that is used to store, manipulate and retrieve data from the database.
Templates allow to create generic functions that admit any data type as parameters and return value without having to overload the function with all the possible data types. Until certain point they fulfill the functionality of a macro. Its prototype is any of the two following ones.
strstr() returns part of a given string from the first occurrence of a given substring to the end of the string.
For example:strstr("user@example.com","@") will return "@example.com".
stristr() is idential to strstr() except that it is case insensitive.
 
Answer: 5,20,1
Answer : 5794
The major difference between B-tree and binary tres is that B-tree is a external data structure and binary tree is a main memory data structure. The computational complexity of binary tree is counted by the number of comparison operations at each node, while the computational complexity of B-tree is determined by the disk I/O, that is, the number of node that will be loaded from disk to main memory. The comparision of the different values in one node is not counted .
CTS is the component of CLR through which .NET Framework provides support for multiple languages because it contains a type system that is common across all the languages. Two CTS-compliant languages do not require type conversion when calling the code written in one language from within the code written in another language. CTS provide a base set of data types for all the languages supported by.NET Framework. This means that the size of integer and long variables is same across all .NET-compliant programming languages. However, each language uses aliases for the base data types provided by CTS. For example, CTS uses the data type system. int32 to represent a 4 byte integer value; however, Visual Basic uses the alias integer for the same; whereas, C# uses the alias int. This is done for the sake of clarity and simplicity.
Managed extensibility framework (MEF) is a new library that is introduced as a part of .NET 4.0 and Silverlight 4. It helps in extending your application by providing greater reuse of applications and components. MEF provides a way for host application to consume external extensions without any configuration requirement.
Code contracts help you to express the code assumptions and statements stating the behavior of your code in a language-neutral way. The contracts are included in the form of pre-conditions, post-conditions and object-invariants. The contracts help you to improve-testing by enabling run-time checking, static contract verification, and documentation generation .
Assembly metadata is stored in Manifest. Manifest contains all the metadata needed to do the following things
Version of assembly.
Security identity.
Scope of the assembly.
Resolve references to resources and classes.

The assembly manifest can be stored in a PE file either (an .exe or) .dll with Microsoft 
intermediate language (MSIL code with Microsoft intermediate language (MSIL) code or in a 
stand-alone PE file, that contains only assembly manifest information
Intermediate Language is also known as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language). All .NET source code is compiled to IL. IL is then converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.
struct  ABC{
    int a;
    float b;
    char c;
};
int main(){
    struct ABC *ptr=(struct ABC *)0;
    ptr++;
    printf("Size of structure is: %d",*ptr);
    return 0;

 
Merits:
(a) We can easily access each element of array.
(b) Not necessity to declare too many variables.
(c) Array elements are stored in continuous memory location.
 
Demerit:
(a) Wastage of memory space. We cannot change size of array at the run time. 
(b) It can store only similar type of data.
You can modify constant variable with the help of pointers. For example:
#include<stdio.h>

int main(){

    int i=10;

    int *ptr=&i;

    *ptr=(int *)20;

    printf("%d",i);

    return 0;

}



Output: 20 
 
In c we can pass the parameters in a function in two different ways.
 
(a)Pass by value: In this approach we pass copy of actual variables in function as a parameter. Hence any modification on parameters inside the function will not reflect in the actual variable. For example:
 
#include<stdio.h>
int main(){
    int a=5,b=10;
    swap(a,b);
    printf("%d      %d",a,b);
    return 0;
} 
void swap(int a,int b){
    int temp;
    temp =a;
    a=b;
    b=temp;
}
Output: 5    10
 
(b)Pass by reference: In this approach we pass memory address actual variables in function as a parameter. Hence any modification on parameters inside the function will reflect in the actual variable. For example:
 
#incude<stdio.h>
int main(){
    int a=5,b=10;
    swap(&a,&b);
    printf("%d %d",a,b);
    return 0;
} 
void swap(int *a,int *b){
    int  *temp;
    *temp =*a;
    *a=*b;
    *b=*temp;
}
 
Output: 10 5
A pointer in c which has not been initialized is known as wild pointer.
 
Example:
int main(){

int *ptr;

printf("%u\n",ptr);

printf("%d",*ptr);

return 0;
}
 
Output: Any address
Garbage value
 
Here ptr is wild pointer because it has not been initialized. There is difference between the NULL pointer and wild pointer. Null pointer points the base address of segment while wild pointer doesn’t point any specific memory location.
for details refers :http://www.geeksforgeeks.org/dangling-void-null-wild-pointers/
If one or a few processes have a high access rate to data on one track of a storage disk, then they may monopolize the device by repeated requests to that track. This generally happens with most common device scheduling algorithms (LIFO, SSTF, C-SCAN, etc). High-density multisurface disks are more likely to be affected by this than low density ones.
VFS, or Virtual File System, separates file system generic operations from their implementation by defining a clean VFS interface. It is also based on a file-representation structure known as vnode, which contains a numerical designator needed to support network file systems.
Overlays are used to enable a process to be larger than the amount of memory allocated to it. The basic idea of this is that only instructions and data that are needed at any given time are kept in memory.

Mutual Exclusion: Only one process may use a critical resource at a time.
Hold & Wait: A process may be allocated some resources while waiting for others.
No Pre-emption: No resource can be forcible removed from a process holding it.
Circular Wait: A closed chain of processes exist such that each process holds at least one resource needed by another process in the chain.

Mutual Exclusion: Only one process may use a critical resource at a time.
Hold & Wait: A process may be allocated some resources while waiting for others.
No Pre-emption: No resource can be forcible removed from a process holding it.
Circular Wait: A closed chain of processes exist such that each process holds at least one resource needed by another process in the chain.
It is a useful, memory-saving technique for multiprogrammed timesharing systems. A Reentrant Procedure is one in which multiple users can share a single copy of a program during the same period. Reentrancy has 2 key aspects: The program code cannot modify itself, and the local data for each user process must be stored separately. Thus, the permanent part is the code, and the temporary part is the pointer back to the calling program and local variables used by that program. Each execution instance is called activation. It executes the code in the permanent part, but has its own copy of local variables/parameters. The temporary part associated with each activation is the activation record. Generally, the activation record is kept on the stack.
Two important pieces of RDBMS architecture are the kernel, which is the software, and the data dictionary, which consists of the system-level data structures used by the kernel to manage the database You might think of an RDBMS as an operating system (or set of subsystems), designed specifically for controlling data access; its primary functions are storing, retrieving, and securing data. An RDBMS maintains its own list of authorized users and their associated privileges; manages memory caches and paging; controls locking for concurrent resource usage; dispatches and schedules user requests; and manages space usage within its table-space structures .

Proactive Update: The updates that are applied to database before it becomes effective in real world.
Retroactive Update: The updates that are applied to database after it becomes effective in real world.
Simulatneous Update: The updates that are applied to database at the same time when it becomes effective in real world.

Proactive Update: The updates that are applied to database before it becomes effective in real world.
Retroactive Update: The updates that are applied to database after it becomes effective in real world.
Simulatneous Update: The updates that are applied to database at the same time when it becomes effective in real world.

Cold Backup: It is copying the three sets of files (database files, redo logs, and control file) when the instance is shut down. This is a straight file copy, usually from the disk directly to tape. You must shut down the instance to guarantee a consistent copy. If a cold backup is performed, the only option available in the event of data file loss is restoring all the files from the latest backup. All work performed on the database since the last backup is lost.
Hot Backup: Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files. The cold backup is not an available option.

Cold Backup: It is copying the three sets of files (database files, redo logs, and control file) when the instance is shut down. This is a straight file copy, usually from the disk directly to tape. You must shut down the instance to guarantee a consistent copy. If a cold backup is performed, the only option available in the event of data file loss is restoring all the files from the latest backup. All work performed on the database since the last backup is lost.
Hot Backup: Some sites (such as worldwide airline reservations systems) cannot shut down the database while making a backup copy of the files. The cold backup is not an available option.
Procedures that are not part of a package are known as stand-alone because they independently defined. A good example of a stand-alone procedure is one written in a SQL*Forms application. These types of procedures are not available for reference from other Oracle tools. Another limitation of stand-alone procedures is that they are compiled at run time, which slows execution.
Advantages:
1. Views don't store data in a physical location.
2. The view can be used to hide some of the columns 
from the table.
3. Views can provide Access Restriction,
 since data insertion, update and deletion 
is not possible with the view.

Disadvantages:
1. When a table is dropped, associated view become irrelevant.
2. Since the view is created when a query
 requesting data from view is triggered,
 its a bit slow.
3. When views are created for large tables, 
it occupies more memory.
Default gateways provide means for the local networks to connect to the external network. The default gateway for connecting to the external network is usually the address of the external router port .
Traceroute is a widely used command line utility available in almost all operating systems. It shows you the complete route to a destination address. It also shows the time taken (or delays) between intermediate routers. Isn’t it great? Below is an example on Windows operating System.
for detail refers :http://www.geeksforgeeks.org/computer-networks-traceroute/
DoS, or Denial-of-Service attack, is an attempt to prevent users from being able to access the internet or any other network services. Such attacks may come in different forms and are done by a group of perpetuators. One common method of doing this is to overload the system server so it cannot anymore process legitimate traffic and will be forced to reset.
NOS, or Network Operating System, is specialized software whose main task is to provide network connectivity to a computer in order for it to be able to communicate with other computers and connected devices.
RIP, short for Routing Information Protocol is used by routers to send data from one network to another. It efficiently manages routing data by broadcasting its routing table to all other routers within the network. It determines the network distance in units of hops.
 
Gray box testing, also called gray box analysis, is a strategy for software debugging in which the tester has limited knowledge of the internal details of the program. A gray box is a device, program or system whose workings are partially understood.
The Capability Maturity Model (CMM) is a methodology used to develop and refine an organization's software development process. The model describes a five-level evolutionary path of increasingly organized and systematically more mature processes.
 
In Windows NT a mutant provides kernel mode or user mode mutual exclusion with the notion of ownership.

Load Sharing: Processes are not assigned to a particular processor. A global queue of threads is maintained. Each processor, when idle, selects a thread from this queue. Note that load balancing refers to a scheme where work is allocated to processors on a more permanent basis.
Gang Scheduling: A set of related threads is scheduled to run on a set of processors at the same time, on a 1-to-1 basis. Closely related threads / processes may be scheduled this way to reduce synchronization blocking, and minimize process switching. Group scheduling predated this strategy.
Dedicated processor assignment: Provides implicit scheduling defined by assignment of threads to processors. For the duration of program execution, each program is allocated a set of processors equal in number to the number of threads in the program. Processors are chosen from the available pool.
Dynamic scheduling: The number of thread in a program can be altered during the course of execution .

Load Sharing: Processes are not assigned to a particular processor. A global queue of threads is maintained. Each processor, when idle, selects a thread from this queue. Note that load balancing refers to a scheme where work is allocated to processors on a more permanent basis.
Gang Scheduling: A set of related threads is scheduled to run on a set of processors at the same time, on a 1-to-1 basis. Closely related threads / processes may be scheduled this way to reduce synchronization blocking, and minimize process switching. Group scheduling predated this strategy.
Dedicated processor assignment: Provides implicit scheduling defined by assignment of threads to processors. For the duration of program execution, each program is allocated a set of processors equal in number to the number of threads in the program. Processors are chosen from the available pool.
Dynamic scheduling: The number of thread in a program can be altered during the course of execution .
The activation record is a block of memory used for managing the information needed by a single execution of a procedure. Various fields f activation record are:
· Temporary variables
· Local variables
· Saved machine registers
· Control link
· Access link
· Actual parameters
· Return values
Directed acyclic graph(DAG) is a useful data structure for implementing transformations on basic blocks.
DAG is used in
· Determining the common sub-expressions.
· Determining which names are used inside the block and computed outside the block.
· Determining which statements of the block could have their computed value outside the block.
· Simplifying the list of quadruples by eliminating the common su-expressions and not performing the assignment of the form x := y unless and until it is a must.
The following are the problems associated with top down parsing:
· Backtracking
· Left recursion
· Left factoring
· Ambiguity
The most important point to remember is REDO is not the opposite of UNDO. Whenever a DML transaction happens in database, the data to be updated goes to the DATABASE BUFFER CACHE. From here the data is written to REDO BUFFER and then to REDO Logs. These logs are saved for future use. Future ROLLBACK and DATA RECOVERY operations require these logs. Without these logs it is impossible to do DATA RECOVERY. If ARCHIVING is enabled then these logs are bundled or archived and stored. 
Branch coverage is a testing method, which aims to ensure that each one of the possible branch from each decision point is executed at least once and thereby ensuring that all reachable code is executed. That is, every branch taken each way, true and false.
This results in the index that is automatically generated being placed in the users default tablespace. Since this will usually be the same tablespace as the table is being created in, this can cause serious performance problems.
Thrashing can be solved by one or combination of the below :
1) Allocating the memory required by the program before executing.
2) If sufficient memory is not available, effective replacement algorithms for memory allocating should be used
3) One more way is to reduce the number of programs running currently.
4) From developers point of view, Large programs in memory can be replaced by small programs.
After receiving a Software build with the minor issues fixes in code or functionality, Sanity testing is carry out to check whether the bugs reported in previous build are fixed & there is regression introduced due to these fixes i.e. not breaking any previously working functionality. The main aim of Sanity testing to check the planned functionality is working as expected. Instead of doing whole regression testing the Sanity testing is perform.
To increase lookup performance. For a unique key to guarantee the uniqueness of the values for a column on a table.
The Join statement combines data from more that two tables .
Code-division multiple access (CDMA) is a channel access method used by various radio communication technologies.
 CDMA is an example of multiple access, where several transmitters can send information simultaneously over a single communication channel.
Techniques generally used are direct sequence spread spectrum modulation (DS-CDMA), frequency hopping or mixed CDMA detection (JDCDMA). Here, a signal is generated which extends over a wide bandwidth. A code called spreading code is used to perform this action. Using a group of codes, which are orthogonal to each other, it is possible to select a signal with a given code in the presence of many other signals with different orthogonal codes.
Advantages of CDMA
CDMA has a soft capacity. The greater the number of codes, the more the number of users. It has the following advantages −

CDMA requires a tight power control, as it suffers from near-far effect. In other words, a user near the base station transmitting with the same power will drown the signal latter. All signals must have more or less equal power at the receiver

CDMA requires a tight power control, as it suffers from near-far effect. In other words, a user near the base station transmitting with the same power will drown the signal latter. All signals must have more or less equal power at the receiver

Rake receivers can be used to improve signal reception. Delayed versions of time (a chip or later) of the signal (multipath signals) can be collected and used to make decisions at the bit level.

Rake receivers can be used to improve signal reception. Delayed versions of time (a chip or later) of the signal (multipath signals) can be collected and used to make decisions at the bit level.
Primary Key constraint does not allow null values to be inserted while it is legal in case of Unique key.
n(n - 1) / 2
 A mesh network is a fully connected network with every node (or computer/device) connected to every other node. The number of links is n(n - 1) / 2 which can be proved mathematically. 
The issues are
i) Length of time required by the programmer in coding a particular sorting program
ii) Amount of machine time necessary for running the particular program
iii)The amount of space necessary for the particular program .
1.Prefix Notation: ^ – * +ABC – DE + FG
2.Postfix Notation: AB + C * DE – – FG + ^
The number of comparisons depends on where the record with the argument key appears in the table
If it appears at first position then one comparison
If it appears at last position then n comparisons
Average=(n+1)/2 comparisons
Unsuccessful search n comparisons Number of comparisons in any case is O (n).
A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a Windows 7 PC but generates code that runs on Android smartphone is a cross compiler
A control flow graph (CFG) in computer science is a representation, using graph notation, of all paths that might be traversed through a program during its execution .
The term daemon is a UNIX term, though many other operating systems provide support for daemons, though they're sometimes called other names. Windows, for example, refers to daemons as System Agents and services.
Typical daemon processes include print spoolers, e-mail handlers, and other programs that perform administrative tasks for the operating system. The term comes from Greek mythology, where daemons were guardian spirits
The Java Native Interface (JNI) is a programming framework that enables Java code running in a Java Virtual Machine (JVM) to call, and to be called by, native applications (programs specific to a hardware and operating system platform) and libraries written in other languages such as C, C++ and assembly .
They are used to encapsulate many objects into a single object (the bean), so that they can be passed around as a single bean object instead of as multiple individual objects. A JavaBean is a Java Object that is serializable, has a 0-argument constructor, and allows access to properties using getter and setter methods .
The java.util.SortedSet interface is a subtype of the java.util.Set interface. It behaves like a normal set with the exception that the elements are sorted internally. This means that when you iterate the elements of a SortedSet the elements are returned in thesorted order.
The elements can be sorted in two ways. One way is to use the Comparable interface. Objects can be compared using the compareTo() method. This approach is referred to as a natural order.
The other way is to specify a comparator for the elements in the set if the class doesn't implement the Comparable interface, or you don’t want to use the compareTo() method in the class that implements the Comparable interface. This approach is referred to as order by comparator .
When you do a shallow copy, all the fields of the source object is copied to target object as it is. That means, if there is a dynamically created field in the source object, shallow copy will copy the same pointer to target object. So you will have two objects with fields that are pointing to same memory location which is not what you usually want.
In case of deep copy, instead of copying the pointer, the object itself is copied to target. In this case if you modify the target object, it will not affect the source. By default copy constructors and assignment operators do shallow copy. To make it as deep copy, you need to create a custom copy constructor and override assignment operator.
Tool Selection – List down the automation tools compatible, depending on whether the application is Desktop / Web based, language used for software development etc
Scope of Automation – List down the scenarios and functionality which are repetitive and automatable
Planning – Design a framework, Schedule the scripting and execution of the same
iDevelopment – Scripting the scenarios to be tested with inputs(Test Data) and expected output
Execution – Running/Executing the scripts and reporting the results
vMaintenance – Update the scripts in accordance to the latest changes with the software under test .
Group policy provides the stream line access to all the users in the network, it can be used to define the users security and networking policies.  By group policy you can keep control over certain function like not allowing the users to shut down the system or using the control panel or running the command. Group policy is applicable on active directory container like OU, site and Domain.
VPN means Virtual Private Network. It is a private communications network often used by companies or organizations to communicate confidentially over a public network.  This is used by the mobile users in the network.
RAS means Remote Access Server.  It allows operating the tool or information that typically resides on a network or IT devices through combination of hardware and software, for example connecting to printer or file. It is usually used for mobile users who are in the network. It uses telephone line to provide connectivity to its users. It can also connect two or more than two offices in the network.
A Blue Screen of Death (or just a Blue Screen Error) is an indication of a Critical System Problem wherein the Computer freezes altogether and does not respond to anything.
In distributed deadlock detection, the delay in propagating local information might cause the deadlock detection algorithms to identify deadlocks that do not really exist. Such situations are called phantom deadlocks and they lead to unnecessary aborts.
Shadowing is either through scope or through inheritance. Shadowing through inheritance is hiding a method of a base class and providing a new implementation for the same. This is the default when a derived class writes an implementation of a method of base class which is not declared as overridden in the base class. This also serves the purpose of protecting an implementation of a new method against subsequent addition of a method with the same name in the base class.’shadows’ keyword is recommended although not necessary since it is the default.
 
The Portable Executable (PE) format is a file format for executables, object code, DLLs, FON Font files, and others used in 32-bit and 64-bit versions of Windows operating systems.


IEEE 802      :   LAN/MAN


IEEE 802.1   : Standards for LAN/MAN bridging and management and remote media access                          control bridging.


IEEE 802.2   : Standards for Logical Link Control (LLC) standards for connectivity.


IEEE 802.3   : Ethernet Standards for Carrier Sense Multiple Access with Collision Detection                          (CSMA/CD).


IEEE 802.4   : Standards for token passing bus access.


IEEE 802.5   : Standards for token ring access and for communications between LANs and                            MANs


IEEE 802.6   : Standards for information exchange between systems.


IEEE 802.7   : Standards for broadband LAN cabling.


IEEE 802.8   :  Fiber optic connection.


IEEE 802.9   : Standards for integrated services, like voice and data.


IEEE 802.10 : Standards for LAN/MAN security implementations.


IEEE 802.11 : Wireless Networking  "WiFi".


IEEE 802.12 : Standards for demand priority access method.


IEEE 802.14 : Standards for cable television broadband communications.


IEEE 802.15.1 : Bluetooth


IEEE 802.15.4 : Wireless Sensor/Control Networks  "ZigBee"


IEEE 802.16    : Wireless Networking  "WiMAX"



IEEE 802      :   LAN/MAN

IEEE 802      :   LAN/MAN

IEEE 802.1   : Standards for LAN/MAN bridging and management and remote media access                          control bridging.

IEEE 802.1   : Standards for LAN/MAN bridging and management and remote media access                          control bridging.

IEEE 802.2   : Standards for Logical Link Control (LLC) standards for connectivity.

IEEE 802.2   : Standards for Logical Link Control (LLC) standards for connectivity.

IEEE 802.3   : Ethernet Standards for Carrier Sense Multiple Access with Collision Detection                          (CSMA/CD).

IEEE 802.3   : Ethernet Standards for Carrier Sense Multiple Access with Collision Detection                          (CSMA/CD).

IEEE 802.4   : Standards for token passing bus access.

IEEE 802.4   : Standards for token passing bus access.

IEEE 802.5   : Standards for token ring access and for communications between LANs and                            MANs

IEEE 802.5   : Standards for token ring access and for communications between LANs and                            MANs

IEEE 802.6   : Standards for information exchange between systems.

IEEE 802.6   : Standards for information exchange between systems.

IEEE 802.7   : Standards for broadband LAN cabling.

IEEE 802.7   : Standards for broadband LAN cabling.

IEEE 802.8   :  Fiber optic connection.

IEEE 802.8   :  Fiber optic connection.

IEEE 802.9   : Standards for integrated services, like voice and data.

IEEE 802.9   : Standards for integrated services, like voice and data.

IEEE 802.10 : Standards for LAN/MAN security implementations.

IEEE 802.10 : Standards for LAN/MAN security implementations.

IEEE 802.11 : Wireless Networking  "WiFi".

IEEE 802.11 : Wireless Networking  "WiFi".

IEEE 802.12 : Standards for demand priority access method.

IEEE 802.12 : Standards for demand priority access method.

IEEE 802.14 : Standards for cable television broadband communications.

IEEE 802.14 : Standards for cable television broadband communications.

IEEE 802.15.1 : Bluetooth

IEEE 802.15.1 : Bluetooth

IEEE 802.15.4 : Wireless Sensor/Control Networks  "ZigBee"

IEEE 802.15.4 : Wireless Sensor/Control Networks  "ZigBee"

IEEE 802.16    : Wireless Networking  "WiMAX"

IEEE 802.16    : Wireless Networking  "WiMAX"
Three ranges of IP addresses have been reserved for private address and they are not valid for use on the Internet. If you want to access internet with these address you must have to use proxy server or NAT server (on normal cases the role of proxy server is played by your ISP.).If you do decide to implement a private IP address range, you can use IP addresses from any of the following classes: 
Class A : 10.0.0.0 10.255.255.255 
Class B : 172.16.0.0 172.31.255.255 
Class C : 192.168.0.0 192.168.255.255
 
Mutable objects have fields that can be changed, immutable objects have no fields that can be changed after the object is created. A very simple immutable object is an object without any field .
An error is an irrecoverable condition occurring at runtime. Such as OutOfMemory error. These JVM errors and you can not repair them at runtime. While exceptions are conditions that occur because of bad input etc. e.g. FileNotFoundException will be thrown if the specified file does not exist. Or a NullPointerException will take place if you try using a null reference. 
It is a feature in C++ to minimize name collisions in the global name space. This namespace keyword assigns a distinct name to a library that allows other libraries to use the same identifier names without creating any name collisions. Furthermore, the compiler uses the namespace signature for differentiating the definitions.
Union is a collection of data items of different data types.
It can hold data of only one member at a time though it has members of different data types.

If a union has two members of different data types, they are allocated the same memory. The memory allocated is equal to maximum size of the members. The data is interpreted in bytes depending on which member is being accessed.

Example:

union pen {
char name;
float point;
};

Here name and point are union members. Out of these two variables, point is larger variable which is of float data type and it would need 4 bytes of memory. Therefore 4 bytes space is allocated for both the variables. Both the variables have the same memory location. They are accessed according to their type.
Union is efficient when members of it are not required to be accessed at the same time
The file positioning of a stream describes where in the file the stream is currently reading or writing. I/O on the stream advances the file position through the file. On GNU systems, the file position is represented as an integer, which counts the number of bytes from the beginning of the file.
A stored procedure is a named group of SQL statements that have been previously created and stored in the server database. Stored procedures accept input parameters so that a single procedure can be used over the network by several clients using different input data. And when the procedure is modified, all clients automatically get the new version. Stored procedures reduce network traffic and improve performance. Stored procedures can be used to help ensure the integrity of the database.
 
De-normalization is the process of attempting to optimize the performance of a database by adding redundant data. It is sometimes necessary because current DBMSs implement the relational model poorly. A true relational DBMS would allow for a fully normalized database at the logical level, while providing physical storage of data that is tuned for high performance. De-normalization is a technique to move from higher to lower normal forms of database modeling in order to speed up database access.
The purpose of garbage collection is to identify and discard objects that are no longer needed by a program so that their resources can be reclaimed and reused.
A Java object is subject to garbage collection when it becomes unreachable to the program in which it is used.
Float is used when you want to make an element of your page (usually an image) be pushed to the right or left and make other elements wrap around it.
his can be tricky and the best way to keep in your head is to memorise because if you try to relate java script null to other languages, it will get more confusing. 
In java script, null is an object with no value and undefined is a type.
typeof null; // "object"  
typeof undefined; // "undefined"  

var a;  
var b = null;  
a == b; // "true" because their values are the same  
a === b; // "false". they have different types  
There are several technical differences between these two types of requests, regarding length limitation, security, caching and a few others. But if someone asks you WHEN would you use it, I'd say one of the most important points that any front-end developer should take into account is that we should only use GET foridempotent requests, it means requests that don't make significant changes in the backend system or database but if you do need to make inserts, updates or deletes in a database, trigger emails or any other major action, POST is recommended.
That's pretty much it that I wanted to share according to my recent interviews and I believe you'll come across some of these questions or a variation of them in your next technical interview.
XHTML is an HTML that follows the XML rules, which means a XHTML document must have well-formed markups in order to be rendered properly in all web browsers. Differently from XHTML, the HTML document can be rendered in most of the browsers even with markup errors such as no closing tags or wrong nested tags.
And how do I create a XHTML document?
XHTML is basically a HTML document with some rules that need to be applied. Have a look at these examples below and spot the differences.
<head>  
   <title>This is head</title>
</head>  
<BODY>  
   This is the body of the document with body tag in capital letters
   Notice that there's no close body tag and no tag as well.

This HTML document above can be opened with no problems in Chrome, even containing many markup errors because most browsers can fix them for you automatically.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">  
  <head>
    <title></title>
  </head>
  <body>
  </body>
</html>  

The code above is a well-formed XHTML document and that's the minimum you must have in order to render it. Notice the declaration of the doctype at the top of the document and the namespace (xmlns) attribute in html open tag. These elements are mandatory as well as all the tags in lowercase.
Stack. Because of its LIFO (Last In First Out) property it remembers its 'caller' so knows whom to return when the function has to return. Recursion makes use of system stack for storing the return addresses of the function calls.
Every recursive function has its equivalent iterative (non-recursive) function. Even when such equivalent iterative procedures are written, explicit stack is to be used.
The Global.asax file, also known as the ASP.NET application file, is an optional file that contains code for responding to application-level events raised by ASP.NET or by HttpModules. The Global.asax file resides in the root directory of an ASP.NET-based application.
A link is a second name (not a file) for a file. Links can be used to assign more than one name to a file, but cannot be used to assign a directory more than one name or link filenames on different computers.
Symbolic link 'is' a file that only contains the name of another file.Operation on the symbolic link is directed to the file pointed by the it.Both the limitations of links are eliminated in symbolic links.
Commands for linking files are: 
Link "ln filename1 filename2" 
Symbolic link "ln -s filename1 filename2"
Interpolation search is an algorithm for searching for a given key in an indexed array that has been ordered by numerical values assigned to the keys (key values). It parallels how humans search through a telephone book for a particular name, the key value by which the book's entries are ordered.
SCSI - Small computer systems interface is a type of interface used for computer components such as hard drives, optical drives, scanners and tape drives. It is a competing technology to standard IDE (Integrated Drive Electronics).
To achieve maximum efficiency and reliability a mode of operation known as symmetric multiprocessing is used. In essence, with SMP any process or threads can be assigned to any processor.
The process that allows a network to self-repair networks problems. The stations on the network notify the other stations on the ring when they are not receiving the transmissions. Beaconing is used in Token ring and FDDI networks.
APIPA. (Automatic Private IP Addressing) The Windows function that provides DHCP autoconfiguration addressing. APIPA assigns a class B IP address from 169.254.0.0 to 169.254.255.255 to the client when a DHCP server is either permanently or temporarily unavailable.
The LMHOSTS file is a static method of resolving NetBIOS names to IP addresses in the same way that the HOSTS file is a static method of resolving domain names into IP addresses. An LMHOSTS file is a text file that maps NetBIOS names to IP addresses; it must be manually configured and updated.
POP3 stands for Post Office Protocol Version3 (Current Version). POP is a protocol which listens on port 110 and is responsible for accessing the mail service on a client machine. POP3 works in two modes such as Delete Mode and Keep Mode.
a) Delete Mode: A mail is deleted from the mailbox after successful retrieval.
b) Keep Mode: The Mail remains Intact in the mailbox after successful retrieval.
A network Reliability is measured on following factors.
a) Downtime: The time it takes to recover.
b) Failure Frequency: The frequency when it fails to work the way it is intended.
An object-relational database (ORD), or object-relational database management system (ORDBMS), is a database management system (DBMS) similar to a relational database, but with an object-oriented database model: objects, classes and inheritance are directly supported in database schemas and in the query language. In addition, just as with proper relational systems, it supports extension of the data model with custom data-types and methods.
The terms EXE and DLL are very common in programming. When coding, you can either export your final project to either a DLL or an EXE. The term EXE is a shortened version of the word executable as it identifies the file as a program. On the other hand, DLL stands for Dynamic Link Library, which commonly contains functions and procedures that can be used by other programs .
A DLL is a library and therefore can not be executed. If you try to run it you'll get an error about a missing entry point. An EXE is a program that can be executed. It has an entry point. A flag inside the PE header indicates which file type it is (irrelevant of file extension).
.A DLL would share the same process and memory space of the calling application while an EXE creates its separate process and memory space.
A data source name (DSN) is a data structure that contains the information about a specific database that an Open Database Connectivity ( ODBC ) driver needs in order to connect to it. DSNs also exist for JDBC and for other data access mechanisms. The term often overlaps with "connection string". Most systems do not make a distinction between DSNs or connection strings and the term can often be used interchangeably.
Types of DSN
There are three types of DSNs:
System DSN -- can be used by anyone who has access to the machine. DSN info is stored in the registry.
User DSN -- created for a specific user. Also stored in the registry.
File DSN-- DSN info is stored in a text file with .DSN extension.
There is also what is known as a "DSN-less connection." Instead of using a DSN to connect to a database, the developer specifies the necessary information right in the application.
The term "schema" refers to the organization of data as a blueprint of how the database is constructed (divided into database tables in the case of relational databases). The formal definition of a database schema is a set of formulas (sentences) called integrity constraints imposed on a database .
Null pointer is a special reserved value of a pointer. Apointer of any type has such a reserved value. Formally, each specific pointer type ( int * , char * etc.) has its own dedicated null-pointer value. Conceptually, when a pointer has that null value it is not pointing anywhere.
 Example  :
int * pInt = NULL;
Waiting (Device) Queues: The set of processes waiting for allocation of certain I/Odevices is kept in the waiting (device) queue. The short-term scheduler (also known as CPU scheduling) selects a process from the ready queue and yields control of the CPU to the process
marshalling is the process of gathering data from one or more application s or non-contiguous sources in computer storage, putting the data pieces into a message buffer , and organizing or converting the data into a format that is prescribed for a particular receiver or programming interface.
Trapdoor is a secret undocumented entry point into a program used to grant access without normal methods of access authentication. A trap is a software interrupt, usually the result of an error condition.
When a software testing performed without proper planning and documentation, it is said to be Adhoc Testing. Such kind of tests are executed only once unless we uncover the defects.
The tests are intended to be run only once, unless a defect is discovered. Adhoc testing is the least formal test method. As such, it has been criticized because it is not structured and hence defects found using this method may be harder to reproduce (since there are no written test cases). However, the strength of adhoc testing is that important defects can be found quickly.
Boundary testing or boundary value analysis, is where test cases are generated using the extremes of the input domain, e.g. maximum, minimum, just inside/outside boundaries, typical values, and error values. It is similar to Equivalence Partitioning but focuses on "corner cases" .
Redundant array of inexpensive (or independent) disks. The main goal of raid technology is to even out the widely different rates of performance improvement of disks against those in memory and microprocessor. Raid technology employs the technique of data striping to achieve higher transfer rates.
DBCC stands for database consistency checker. We use these commands to check   the consistency of the databases, i.e., maintenance, validation task and status checks.
The general strategy in a Markov Algorithm is to take as input a string x and, through a number of steps in the algorithm, transform x to an output string y. this transformation process is generally performed in computers for text editing or program compilation.
These are the following arguments which are present in pattern matching Algorithms.
1) Subject,
2) Pattern
3) Cursor
4) MATCH_STR
5) REPLACE_STR
6) REPLACE_FLAG
Packages are schema objects that groups logically related PL/SQL types, variables, and subprograms.
A package will have two mandatory parts −
Package specification
Package body or definition .
Package Specification 
CREATE PACKAGE cust_sal AS 
   PROCEDURE find_sal(c_id customers.id%type); 
END cust_sal; 
/
Package Body
CREATE OR REPLACE PACKAGE BODY cust_sal AS  
   
   PROCEDURE find_sal(c_id customers.id%TYPE) IS 
   c_sal customers.salary%TYPE; 
   BEGIN 
      SELECT salary INTO c_sal 
      FROM customers 
      WHERE id = c_id; 
      dbms_output.put_line('Salary: '|| c_sal); 
   END find_sal; 
END cust_sal; 
/
 
Grep is an amazing utility on command line. Every one might have heard of grep. It's a great tool to search for a pattern with in a directory or in a file. On searching for a pattern using grep, the default result will print the pattern along with the line number at which the pattern is found. Grep is one of those handy commands on bash that are often used.
Pre requisites for grep
Grep comes installed with an ubuntu machine, if it is not installed, it could be done using,
sudo apt-get grep install;
grep and egrep
I have played around with grep for a while, at some point I have noticed egrep. grep and egrep does the same function, but the way they interpret the pattern is the only difference.
Grep stands for "Global Regular Expressions Print", were as Egrep for "Extended Global Regular Expressions Print". The pattern often treated as a regular expression, for which e in egrep stands for "Extended Regular Expressions" abbreviated 'ERE' is enabled in egrep.
grep -E is same as egrep
In egrep, +, ?, |, (, and ), treated as meta characters. Where as in grep, they are rather treated as pattern instead of meta characters. By including 'backslash' followed by meta character can let the grep to treat it as meta characters like \?, \+, \{, \|, \(, and \).
ls | grep '.txt|.php
With the help of Apache Commons Net API, it is easy to write Java code for downloading a file from a remote FTP server to local computer.
Http Handlers:
Http handlers are component developed by asp.net developers to work as end point to asp.net pipeline. It has to implement System.Web.IHttpHandler interface and this will act as target for asp.net requests. Handlers can be act as ISAPI dlls the only difference between ISAPI dlls and HTTP Handlers are Handlers can be called directly URL as compare to ISAPI Dlls.
Http Modules:
Http modules are objects which also participate in the asp.net request pipeline but it does job after and before HTTP Handlers complete its work. For example it will associate a session and cache with asp.net request. It implements System.Web.IHttpModule interface.
HTTP Handler implement following Methods and Properties

Process Request: This method is called when processing asp.net requests. Here you can perform all the things related to processing request.
IsReusable: This property is to determine whether same instance of HTTP Handler can be used to fulfill another request of same type.

Process Request: This method is called when processing asp.net requests. Here you can perform all the things related to processing request.
IsReusable: This property is to determine whether same instance of HTTP Handler can be used to fulfill another request of same type.
Typical uses for custom HTTP handlers include the following:

RSS feeds   To create an RSS feed for a Web site, you can create a handler that emits RSS-formatted XML. You can then bind a file name extension such as .rss to the custom handler. When users send a request to your site that ends in .rss, ASP.NET calls your handler to process the request.

RSS feeds   To create an RSS feed for a Web site, you can create a handler that emits RSS-formatted XML. You can then bind a file name extension such as .rss to the custom handler. When users send a request to your site that ends in .rss, ASP.NET calls your handler to process the request.

Image server   If you want a Web application to serve images in a variety of sizes, you can write a custom handler to resize images and then send them to the user as the handler's response.

Image server   If you want a Web application to serve images in a variety of sizes, you can write a custom handler to resize images and then send them to the user as the handler's response.
Typical uses for HTTP modules include the following:

Security   Because you can examine incoming requests, an HTTP module can perform custom authentication or other security checks before the requested page, XML Web service, or handler is called. In Internet Information Services (IIS) 7.0 running in Integrated mode, you can extend forms authentication to all content types in an application.

Security   Because you can examine incoming requests, an HTTP module can perform custom authentication or other security checks before the requested page, XML Web service, or handler is called. In Internet Information Services (IIS) 7.0 running in Integrated mode, you can extend forms authentication to all content types in an application.

Statistics and logging   Because HTTP modules are called on every request, you can gather request statistics and log information in a centralized module, instead of in individual pages.

Statistics and logging   Because HTTP modules are called on every request, you can gather request statistics and log information in a centralized module, instead of in individual pages.

Custom headers or footers   Because you can modify the outgoing response, you can insert content such as custom header information into every page or XML Web service response.

Custom headers or footers   Because you can modify the outgoing response, you can insert content such as custom header information into every page or XML Web service response.
Features
HTTP handler and module features include the following:

The IHttpHandler and IHttpModule interfaces are the starting point for developing handlers and modules.

The IHttpHandler and IHttpModule interfaces are the starting point for developing handlers and modules.

The IHttpAsyncHandler interface is the starting point for developing asynchronous handlers.

The IHttpAsyncHandler interface is the starting point for developing asynchronous handlers.

Custom handler and module source code can be put in the App_Code folder of an application, or it can be compiled and put in the Bin folder of an application.

Custom handler and module source code can be put in the App_Code folder of an application, or it can be compiled and put in the Bin folder of an application.

Handlers and modules developed for use in IIS 6.0 can be used in IIS 7.0 with little or no change.

Handlers and modules developed for use in IIS 6.0 can be used in IIS 7.0 with little or no change.
 
LockObjects always starts with character 'E'
The static identifier is used for initializing only once, and the value retains during the life time of the program / application. A separate memory is allocated for static variables. This value can be used between function calls. The default value of an un initialized static variable is zero. A function can also be defined as a static function, which has the same scope of the static variable .
Most of the times when we are developing an application in java, we often feel a need to create and throw our own exceptions. These exceptions are known as User defined or Custom exceptions.
Let's see a simple example of java custom exception.
class InvalidAgeException extends Exception{  
 InvalidAgeException(String s){  
  super(s);  
 }  
}  
 
There are 5 operators which cannot be overloaded :

.* - class member access operator 

:: - scope resolution operator 

. - dot operator 

?:: - conditional operator 

Sizeof() - operator 
Macro execution is faster than function execution because in function, much of time is used to take control from function call to called function and much of time is spent in this process. Whereas in macro expression are directly replaced in the source code.Much of time is spent in the binding of the function to the caller function.
 
The Document Object Model (DOM) is a programming API for HTML and XML documents. It defines the logical structure of documents and the way a document is accessed and manipulated.The DOM provides a representation of the document as a structured group of nodes and objects that have properties and methods. Essentially, it connects web pages to scripts or programming languages.
 
Microsoft SQL Server Profiler is a graphical user interface to SQL Trace for monitoring an instance of the Database Engine or Analysis Services. You can capture and save data about each event to a file or table to analyze later .
 SQL Profiler utility allows us to basically track connections to the SQL Server and also determine activities such as which SQL Scripts are running, failed jobs etc.
SQL> delete from table_name where rowid not in (select max(rowid) from table group by duplicate_values_field_name);
structure :- In structure have a by default public. 
In class have a by default private.
 Structure cannot be inherited. But class can be 
inherit.
 There is no data hiding features comes with 
structures. Classes do, private, protected and public.

When deriving a struct from a class/struct, default access-specifier for a base class/struct is public. And when deriving a class, default access specifier is private.
	For example program 3 fails in compilation and program 4 works fine.
// Program 3
#include <stdio.h>
 
class Base {
public:
    int x;
};
 
class Derived : Base { }; // is equilalent to class Derived : private Base {}
 
int main()
{
  Derived d;
  d.x = 20; // compiler error becuase inheritance is private
  getchar();
  return 0;
}

When deriving a struct from a class/struct, default access-specifier for a base class/struct is public. And when deriving a class, default access specifier is private.
	For example program 3 fails in compilation and program 4 works fine.
// Program 3
#include <stdio.h>
 
class Base {
public:
    int x;
};
 
class Derived : Base { }; // is equilalent to class Derived : private Base {}
 
int main()
{
  Derived d;
  d.x = 20; // compiler error becuase inheritance is private
  getchar();
  return 0;
}

 

 
Stack unwinding is a process of calling all destructors for all automatic objects constructed at run time when an exception is thrown. Destructors are called between the places where the exception was thrown and where it is caught.
for detail :http://www.geeksforgeeks.org/stack-unwinding-in-c/
XML is case sensitive when uppercase and lowercase characters are treated differently.
Element type names, Attribute names, Attribute values, All general and parameter entity names, and data content (text), are case-sensitive. 
Project plan, Requirements, Design, Coding, Testing, Re-coding and design, Development, Maintenance.
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication.An IP address serves two principal functions: host or network interface identification and location addressing .
Portability focuses on adaptation of software in various OS, by recompiling the source to make the binary compatible with the target OS and not necessarily modifying the source. If the source code strictly follows POSIX standard less likely one end up modifying it.
Platform independence focuses on ability of software to run on VIRTUAL hardware that inturn interfaces with the PHYSICAL hardware. Examples of cross-platform or platform independent languages are Python, JavaScript, Java etc
An interrupt is a signal from a device attached to a computer or from a program within the computer that requires the operating system to stop and figure out what to do next.
The processor responds by suspending its current activities, saving its state, and executing a function called an interrupt handler (or an interrupt service routine, ISR) to deal with the event. This interruption is temporary, and, after the interrupt handler finishes, the processor resumes normal activities.
Static is an access qualifier. If a variable is declared as static inside a function, the scope is limited to the function,but it will exists for the life time of the program. Values will be persisted between successive 
calls to a function .
For example :
     
#include<stdio.h>

int fun()

{

  static int count = 0;

  count++;

  return count;

}

  

int main()

{

  printf("%d ", fun());

  printf("%d ", fun());

  return 0;

}
 
Output:
1 2
An enumeration is a user-defined data type that consists of integral constants. To define an enumeration, keyword enum is used.
enum flag { const1, const2, ..., constN };
 
Garbage collection is the systematic recovery of pooled computer storage that is being used by a program when that program no longer needs the storage. This frees the storage for use by other programs 
(or processes within a program). It also ensures that a program using increasing amounts of pooled storage does not reach its quota (in which case it may no longer be able to function). 

Garbage collection is an automatic memory management feature in many modern programming languages, such as Java and languages in the .NET framework. Languages that use garbage collection are often interpreted or run within a virtual machine like the JVM. In each case, the environment that runs the code is also responsible for garbage collection.
A spanning tree is a subset of Graph G, which has all the vertices covered with minimum possible number of edges. Hence, a spanning tree does not have cycles and it cannot be disconnected.. By this definition, we can draw a conclusion that every connected and undirected Graph G has at least one spanning tree
A friend function for a class is used in object-oriented programming to allow access to public, private, or protected data in the class from the outside.
Normally, a function that is not a member of a class cannot access such information; neither can an external class. Occasionally, such access will be advantageous for the programmer. Under these circumstances, the function or external class can be declared as a friend of the class using the friend keyword .
ifdef means "if the following is defined" while ifndef means "if the following is not defined". So:
#define one
 #ifdef one printf("one is defined ");
#endif #ifndef one printf("one is not defined ");
#endif. is equivalent to: printf("one is defined ");
The keyword delete is used to destroy the single variable memory created dynamically which is pointed by single pointer variable.
Eg: int *r=new(int)
the memory pointed by r can be deleted by delete r.
delete [] is used to destroy array of memory pointed by single pointer variable.
Eg:int *r=new(int a[10])
The memory pointed by r can be deleted by delete [].
Alignment refers to the arrangement of data in memory, and specifically deals with the issue of accessing data as proper units of information from main memory.
Data structure alignment is the way data is arranged and accessed in computer memory. It consists of two separate but related issues: data alignment and data structure padding. 
 
A Java virtual machine (JVM) is an abstract computing machine that enables a computer to run a Java program. There are three notions of the JVM: specification, implementation, and instance. ... An instance of a JVM is an implementation running in a process that executes a computer program compiled into Java bytecode.
A debugger is a computer program used by programmers to test and debug a target program. Debuggers may use instruction-set simulators, rather than running a program directly on the processor to achieve a higher level of control over its execution. 
Getting the arguments from command prompt in c is known as command line arguments. In c main function has three arguments.They are:
Argument counter
Argument vector
Environment vector
The two types of  integrity rules are referential integrity rules and entity integrity rules. Referential integrity rules dictate that a database does not contain orphan foreign key values. This means that 
A primary key value cannot be modified if the value is used as a foreign key in a child table. Entity integrity dictates that the primary key value cannot be Null.
inline functions is to insert the code of a called function at the point where the function is called. If done carefully, this can improve the application's performance in exchange for increased compile time and possibly (but not always) an increase in the size of the generated binary executables.
A macro is a fragment of code which has been given a name. Whenever the name is used, it is replaced by the contents of the macro. There are two kinds of macros. They differ mostly in what they look like when they are used.
Example :
#include <stdio.h>
#define PI 3.1415
#define circleArea(r) (PI*r*r)
 
int main()
{
    int radius;
    float area;
 
    printf("Enter the radius: ");
    scanf("%d", &radius);
    area = circleArea(radius);
    printf("Area = %.2f", area);
 
    return 0;

 
%p in printf to print the address.
Product based company : company/group which makes some product may it software, hardware or any other. Also it's not compulsive that, company sell their product. Only requirement is that company should make product.
Service based company : company which ability/offer services to their clients. They don't make anything. Just provide services. For example printer service they don't make printer not cartige nor ink but offer service to customers of refilling cartige, ink etc.

Project can be anything. On anything.
Deadlines are mostly defined by clients.
Less innovation and flexibility.
More strictness and mutil tasking.
Client will be dissatisfied mostly.
You would get expert on the language u are working. But you cannot learn new. Because u dont have time.
In case of small scale, company might fire you on the basis of no new projects or clients saying of ur performance

Project can be anything. On anything.
Deadlines are mostly defined by clients.
Less innovation and flexibility.
More strictness and mutil tasking.
Client will be dissatisfied mostly.
You would get expert on the language u are working. But you cannot learn new. Because u dont have time.
In case of small scale, company might fire you on the basis of no new projects or clients saying of ur performance
The third normal form (3NF) is a normal form used in database normalization. ... Codd's definition states that a table is in 3NF
 if and only if both of the following conditions hold: 
The relation R (table) is in second normal form (2NF)
Every non-prime attribute of R is non-transitively dependent on every key of R.
For example, in the following table – the street name, city and the state are unbreakably bound to their zip code.
CREATE TABLE CUSTOMERS(
   CUST_ID       INT              NOT NULL,
   CUST_NAME     VARCHAR (20)      NOT NULL,
   DOB           DATE,
   STREET        VARCHAR(200),
   CITY          VARCHAR(100),
   STATE         VARCHAR(100),
   ZIP           VARCHAR(12),
   EMAIL_ID      VARCHAR(256),
   PRIMARY KEY (CUST_ID)
);
The dependency between the zip code and the address is called as a transitive dependency. To comply with the third normal form, all you need to do is to move the Street, City and the State fields into their own table, which you can call as the Zip Code table. −
CREATE TABLE ADDRESS(
   ZIP           VARCHAR(12),
   STREET        VARCHAR(200),
   CITY          VARCHAR(100),
   STATE         VARCHAR(100),
   PRIMARY KEY (ZIP)
);
 
JSP is a webpage scripting language that can generate dynamic content while Servlets are Java programs that are already compiled which also creates dynamic web content
Servlets run faster compared to JSP .
JSP is a technology that allows you to write dynamic HTTP response with static data mixed with dynamic data with special tags.
Servlet is a technology that allows you to write dynamic HTTP response with a Java class.
Servlet will accept all protocol request but JSP only accept http protocol request.
 
Java Server Page (JSP) is a technology for controlling the content or appearance of Web pages through the use of servlets, small programs that are specified in the Web page and run on the Web server to modify the Web page before it is sent to the user who requested it.
A JSP container works with the Web server to provide the runtime environment and other services a JSP needs. It knows how to understand the special elements that are part of JSPs.
JSP tags can be used for a variety of purposes, such as retrieving information from a database or registering user preferences, accessing Java Beans components, passing control between pages, and sharing information between requests, pages etc.
Following diagram shows the position of JSP container and JSP files in a Web application.
Servlet technology is used to create web application (resides at server side and generates dynamic web page).
A servlet is a Web component that is managed by a container and generates dynamic content. Servlets are Java classes that are compiled to byte code that can be loaded dynamically into and run by a Java technology-enabled Web server or Servlet container
Servlet can be described in many ways, depending on the context.
Servlet is a technology i.e. used to create web application.
Servlet is an API that provides many interfaces and classes including documentations.
Servlet is an interface that must be implemented for creating any servlet.
Encoding:

Encoding  is the process of converting data into various formats in  which to be  used on a different device or system. The encoding process  uses  publicly available methods in which to transform data. An encoding   method could be used to convert Base 10 (binary) data into Base 16   (hex).

Example: Changing data type from ASCII to UTF.
 
Encryption:

Encryption  is the process of scrambling data to make it decipherable  only by the  intended recipients. Typically, the recipients who are  authorized to  view the data are provided a matching key string in which  the data was  encrypted with, they then apply the secret key to the  scrambled data  and convert it back into clear text.

Example: Sending sensitive information over public medium.
Encoding is for maintaining data usability and can be reversed by employing the same algorithm that encoded the content, i.e. no key is used.
Encryption is for maintaining data confidentiality and requires the use of a key (kept secret) in order to return to plain text.
A software requirements specification (SRS) is a description of a software system to be developed. It lays out functional and non-functional requirements, and may include a set of use cases that describe user interactions that the software must provide .
 This document lays a foundation for software engineering activities and is created when entire requirements are elicited and analyzed.
Advantages 
Software SRS establishes the basic for agreement between the client and the supplier on what the software product will do.
 
1.    A SRS provides a reference for validation of the final product.
2.    A high-quality SRS is a prerequisite to high-quality software.
3.    A high-quality SRS reduces the development cost. 
Characteristics of an SRS
 
1.       Correct
2.       Complete
3.       Unambiguous
4.       Verifiable
5.       Consistent
6.       Ranked for importance and/or stability
7.       Modifiable
8.       Traceable
WHERE clause introduces a condition on individual rows; HAVING clause introduces a condition on aggregations, i.e. results of selection where a single result, such as count, average, min, max, or sum, has been produced from multiple rows.
Apart from SELECT queries, you can use WHERE clause with UPDATE and DELETE clause but HAVING clause can only be used with SELECT query. For example following query, which involve WHERE clause will work but other which uses HAVING clause will not work .
A WHERE clause is used is filter records from a result.  The filter occurs before any groupings are made.
A HAVING clause is used to filter values from a group.
WHERE is used to filter records before any groupings take place.
HAVING is used to filter values after they have  been groups.  Only columns or expression in the group can be included in the HAVING clause’s conditions..
 
Computer data interchange format used mainly as a datastorage and network transfer format in the MongoDB database. It is a binary form for representing simple data structures, associative arrays (called objects or documents in MongoDB), and various data types of specific interest to MongoDB .
Normalization is a database design technique which organizes tables in a manner that reduces redundancy and dependency of data .
Normalization is a process of organizing the data in database to avoid data redundancy, insertion anomaly, update anomaly & deletion anomaly.
Normalization in DBMS: 1NF, 2NF, 3NF and BCNF in Database. Normalization is a process of organizing the data in database to avoid data redundancy, insertion anomaly, update anomaly & deletion anomaly.
In computing, the star schema is the simplest style of data mart schema and is the approach most widely used to develop data warehouses and dimensional data marts. The star schema consists of one or more fact tables referencing any number of dimension tables.
GET method sends the data in the form of key-value pairs in the URL. This is a serious security flaw as anyone can then send data to your server by just typing out the URL in the address bar and altering data in the server, unless you have extra security measures like CSRF tokens, cookies etc.

POST method does not send the data through the URLs. Therefore, web requests cannot be spoofed through the URLs.

Hence, it is a better practice to use GET over POST.
maintainability is defined as the degree to which an application is understood, repaired, or enhanced. ... Understanding software maintainability allows organizations to identify improvement areas as well as determine the value supplied by current applications or during development changes .
compatibility (countable and uncountable, plural compatibilities) The state of being compatible; in which two or more things are able to exist or work together in combination without problems or conflict.
Modularity is the degree to which a system's components may be separated and recombined. The meaning of the word, however, can vary somewhat by context. In biology,modularity is the concept that organisms or metabolic pathways are composed of modules .
A public key infrastructure (PKI) supports the distribution and identification of public encryption keys, enabling users and computers to both securely exchange data over networks such as the Internet and verify the identity of the other party.
The purpose of a PKI is to facilitate the secure electronic transfer of information for a range of network activities such as e-commerce, internet banking and confidential email. 
A typical PKI includes the following key elements:
A trusted party, called a certificate authority (CA), acts as the root of trust and provides services that authenticate the identity of individuals, computers and other entities
A registration authority, often called a subordinate CA, certified by a root CA to issue certificates for specific uses permitted by the root
A certificate database, which stores certificate requests and issues and revokes certificates .
Load balancing is dividing the amount of work that a computer has to do between two or more computers so that more work gets done in the same amount of time and, in general, all users get served faster. Load balancing can be implemented with hardware, software, or a combination of both.
A load balancer acts as the “traffic cop” sitting in front of your servers and routing client requests across all servers capable of fulfilling those requests in a manner that maximizes speed and capacity utilization and ensures that no one server is overworked, which could degrade performance.
Load balancing usually involves dedicated software or hardware, such as a multilayer switch or a Domain Name System server process.
a load balancer performs the following functions:
Distributes client requests or network load efficiently across multiple servers
Ensures high availability and reliability by sending requests only to servers that are online
Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied virtually to every level of software testing: unit, integration, system and acceptance .
This method of test can be applied virtually to every level of software testing: unit, integration,system and acceptance. It typically comprises most if not all higher level testing, but can also embody unit testing .
his method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see. This method attempts to find errors in the following categories:
Incorrect or missing functions
Interface errors
Errors in data structures or external database access
Behavior or performance errors .
Behavioural Testing Techniques:
There are different techniques involved in Black Box testing.

Equivalence Class

Equivalence Class

Boundary Value Analysis

Boundary Value Analysis

Domain Tests

Domain Tests

Orthogonal Arrays

Orthogonal Arrays

Decision Tables

Decision Tables

State Models

State Models
White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box testing).
 In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs .
Typically such method are used at Unit Testing of the code but this different as Unit testing done by the developer & White Box Testing done by the testers, this is learning the part of the code & finding out the weakness in the software program under test .
White Box Testing Techniques:

Statement Coverage - This technique is aimed at exercising all programming statements with minimal tests.

Statement Coverage - This technique is aimed at exercising all programming statements with minimal tests.

Branch Coverage - This technique is running a series of tests to ensure that all branches are tested at least once.

Branch Coverage - This technique is running a series of tests to ensure that all branches are tested at least once.

Path Coverage - This technique corresponds to testing all possible paths which means that each statement and branch is covered.

Path Coverage - This technique corresponds to testing all possible paths which means that each statement and branch is covered.
IPv4 and IPv6 are two generations of Internet Protocols where IPv4 stands for Internet Protocol version 4 and IPv6 for Internet Protocol version 6.
IPv6 is more advanced and has better features compared to IPv4. It has the capability to provide an infinite number of addresses. It is replacing IPv4 to accommodate the growing number of networks worldwide and help solve the IP address exhaustion problem. IPv6 was developed by the Internet Engineering Task Force (IETF) .
One of the main difference between IPv4 and IPv6 is their address space. As we already said the size of an address in IPv4 is 32-bits. Where IPv6 address fields are 128-bits.
Checksum field is available in IPv4 header.No checksum field in IPv6 header.
IPv4 Internet Group Management Protocol (IGMP) is used to manage multicast group membership.IPv6 IGMP is replaced with Multicast Listener Discovery (MLD) messages.
Advantages of IPv6 over IPv4
IPv6 simplified the router’s task compared to IPv4.
IPv6 is more compatible to mobile networks than IPv4.
IPv6 allows for bigger payloads than what is allowed in IPv4.
IPv6 is used by less than 1% of the networks, while IPv4 is still in use by the remaining 99%.
Network Address Translation (NAT) is the process where a network device, usually a firewall, assigns a public address to a computer (or group of computers) inside a private network. The main use of NAT is to limit the number of public IP addresses an organization or company must use, for both economy and security purposes.
NAT conserves the number of globally valid IP addresses a company needs, and in combination with Classless Inter-Domain Routing (CIDR) has done a lot to extend the useful life of IPv4 as a result .
The Purpose of NAT
NAT serves three main purposes:
Provides a type of firewall hiding internal IP addresses
Enables a company to use more internal IP addresses. Since they're used internally only, there's no possibility of conflict with IP addresses used by other companies and organizations.
Allows a company to combine multiple ISDN connections into a single Internet connection .
A race condition is an undesirable situation that occurs when a device or system attempts to perform two or more operations at the same time, but because of the nature of the device or system, the operations must be done in the proper sequence to be done correctly .
A Job scheduling system allows one process to use the CPU while another is waiting for I/O, thereby making full use of otherwise lost CPU cycles.
The challenge is to make the overall system as "efficient" and "fair" as possible, subject to varying and often dynamic conditions, and where "efficient" and "fair" are somewhat subjective terms, often subject to shifting priority policy .
A Job scheduling is the method by which work specified by some means is assigned to resources that complete the work. The work may be virtual computation elements such as threads, processes or data flows, which are in turn scheduled onto hardware resources such as processors, network links or expansion cards.
 
Eavesdropping :the majority of network communications occur in an unsecured or "clear text" format, which allows an attacker who has gained access to data paths in your network to "listen in" or interpret (read) the traffic.

Denial-of-Service Attack :Randomize the attention of your internal Information Systems staff so that they do not see the intrusion immediately, which allows the attacker to make more attacks during the diversion.

Denial-of-Service Attack :Randomize the attention of your internal Information Systems staff so that they do not see the intrusion immediately, which allows the attacker to make more attacks during the diversion.

Modification Attacks Changing Information

Modification Attacks Changing Information
           Example: We just modified your HomePage!

Trojan Horses :A Trojan horse or Trojan is a file or e-mail attachment disguised as a friendly, legitimate file. When executed though, the file corrupts data and can even install a backdoor that hackers can utilize to access the network.

Trojan Horses :A Trojan horse or Trojan is a file or e-mail attachment disguised as a friendly, legitimate file. When executed though, the file corrupts data and can even install a backdoor that hackers can utilize to access the network.

Man-in-the-Middle Attack :As the name indicates, a man-in-the-middle attack occurs when someone between you and the person with whom you are communicating is actively monitoring, capturing, and controlling your communication transparently.

Man-in-the-Middle Attack :As the name indicates, a man-in-the-middle attack occurs when someone between you and the person with whom you are communicating is actively monitoring, capturing, and controlling your communication transparently.
DDoS is short for Distributed Denial of Service. DDoS is a type of DOS attack where multiple compromised systems, which are often infected with a Trojan, are used to target a single system causing a Denial of Service (DoS) attack.
DDoS threats come in many flavors, with some directly targeting the underlying server infrastructure. Others exploit vulnerabilities in application and communication protocols.
The DDoS attack uses multiple computers and Internet connections to flood the targeted resource. DDoS attacks are often global attacks, distributed via botnets.
Types of DDoS Attacks 
Traffic attacks: Traffic flooding attacks send a huge volume of TCP, UDP and ICPM packets to the target. Legitimate requests get lost and these attacks may be accompanied by malware exploitation.
Bandwidth attacks: This DDos attack overloads the target with massive amounts of junk data. This results in a loss of network bandwidth and equipment resources and can lead to a complete denial of service.
They can be either network- or host-based. A host-based intrusion detection system is installed on the client computer, while a network-based intrusion detection system resides on the network. intrusion detection systems work by either looking for signatures of known attacks or deviations of normal activity.
intrusion detection systems work by either looking for signatures of known attacks or deviations of normal activity. These deviations or anomalies are pushed up the stack and examined at the protocol and application layer. They can effectively detect things such as Xmas tree scans, DNS poisonings, and other malformed packets.
IPS or intrusion prevention system, is definitely the next level of security technology with its capability to provide security at all system levels from the operating system kernel to network data packets. It provides policies and rules for network traffic along with an IDS for alerting system or network administrators to suspicious traffic, but allows the administrator to provide the action upon being alerted. Where IDS informs of a potential attack, an IPS makes attempts to stop it.
 These security measures are available as intrusion detection systems (IDS) and intrusion prevention systems (IPS), which become part of your network to detect and stop potential incidents.
Signature-Based Detection compares signatures against observed events to identify possible incidents. This is the simplest detection method because it compares only the current unit of activity (such as a packet or a log entry, to a list of signatures) using string comparison operations.

Micro kernel is a kernel which run services those are minimal for operating system performance. In this kernel all other operations are performed by processor. Macro Kernel is a combination of micro and monolithic kernel. In monolithic kernel all operating system code is in single executable image.

Micro kernel is a kernel which run services those are minimal for operating system performance. In this kernel all other operations are performed by processor. Macro Kernel is a combination of micro and monolithic kernel. In monolithic kernel all operating system code is in single executable image.

Monolithic kernels are faster than microkernels. The first microkernel Mach was 50% slower than Monolithic kernel, while later version like L4 were only 2% or 4% slower than the Monolithic kernel .

Monolithic kernels are faster than microkernels. The first microkernel Mach was 50% slower than Monolithic kernel, while later version like L4 were only 2% or 4% slower than the Monolithic kernel .

Adding a new feature to a monolithic system means recompiling the whole kernel, whereas with microkernels you can add new features or patches without recompiling.

Adding a new feature to a monolithic system means recompiling the whole kernel, whereas with microkernels you can add new features or patches without recompiling.

Monolithic kernels use signals and sockets to ensure IPC, microkernel approach uses message queues. 1st gen microkernels poorly implemented IPC so were slow on context switches.

Monolithic kernels use signals and sockets to ensure IPC, microkernel approach uses message queues. 1st gen microkernels poorly implemented IPC so were slow on context switches.

To write a microkernel, more code is required.To write a monolithic kernel, less code is required.

To write a microkernel, more code is required.To write a monolithic kernel, less code is required.
Parameters are temporary variable names within functions. The argument can be thought of as the value that is assigned to that temporary variable .
An argument in context with functions is the actual value that is passed to the function ( as input) ,when it is called. However parameter refers to the variables that are used in the function declaration/definition to represent those arguments that were send to the function during the function call .
The major difference between actual and formal arguments is that actual arguments are the source of information; calling programs pass actual arguments to called functions. The called functions access the information using corresponding formal arguments.
The arguments passed to the functions while the function is called is known as the actual arguments, whereas the arguments declared in the function header is called as formal arguments.
Cross-site Scripting (XSS) refers to client-side code injection attack wherein an attacker can execute malicious scripts (also commonly referred to as a malicious payload) into a legitimate website or web application .
Cross-site scripting carried out on websites accounted for roughly 84% of all security vulnerabilities documented by Symantec as of 2007.
Example :Let us imagine, a hacker has discovered XSS vulnerability in Gmail and inject malicious script. When a user visit the site, it will execute the malicious script. The malicious code can be used to redirect users to fake gmail page or capture cookies. Using this stolen cookies, he can login into your account and change password.
ageing is a scheduling technique used to avoid starvation. Fixed priority scheduling is a scheduling discipline, in which tasks queued for utilizing a system resource are assigned a priority each.
Basically Aging is a technique of gradually increasing the priority of processes that wait in the system for a long period of time.

Python is easy to learn for even a novice developer. Its code is easy to read and you can do a lot of things just by looking at it. Also, you can execute a lot of complex functionalities with ease, thanks to the standard library.

Python is easy to learn for even a novice developer. Its code is easy to read and you can do a lot of things just by looking at it. Also, you can execute a lot of complex functionalities with ease, thanks to the standard library.

 Supports multiple systems and platforms.

 Supports multiple systems and platforms.

python code is executed in n interpreter which makes slow execution of the code.

python code is executed in n interpreter which makes slow execution of the code.

Python allows for a more productive coding environment than massive languages like C# and Java. Experienced coders tend to stay more organized and productive when working with Python, as well .

Python allows for a more productive coding environment than massive languages like C# and Java. Experienced coders tend to stay more organized and productive when working with Python, as well .

"Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers,"

"Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers,"

Retail Industry : Data Mining has its great application in Retail Industry because it collects large amount of data from on sales, customer purchasing history, goods transportation, consumption and services.

Retail Industry : Data Mining has its great application in Retail Industry because it collects large amount of data from on sales, customer purchasing history, goods transportation, consumption and services.
Credit card spending by customer groups can be identified by using data mining.
The hidden correlation’s between different financial indicators can be discovered by using data mining.

Intrusion Detection : Any action that will compromise the integrity and confidentiality of a resource is an intrusion. The defensive measures to avoid an intrusion includes user authentication, avoid programming errors, and information protection.

Intrusion Detection : Any action that will compromise the integrity and confidentiality of a resource is an intrusion. The defensive measures to avoid an intrusion includes user authentication, avoid programming errors, and information protection.

Telecommunication Industry :Today the telecommunication industry is one of the most emerging industries providing various services such as fax, pager, cellular phone, internet messenger, images, e-mail, web data transmission, etc

Telecommunication Industry :Today the telecommunication industry is one of the most emerging industries providing various services such as fax, pager, cellular phone, internet messenger, images, e-mail, web data transmission, etc
Concurrent programming is a form of computing in which several computations are executed during overlapping time periods—concurrently—instead of sequentially (one completing before the next starts).
Concurrent programming is characterized by programming with more than one process.Concurrent programming involves the notations for expressing potential parallelism so that operations may be executed in parallel and the techniques for solving the resulting synchronization and communication problems.
Quality assurance (QA) is a way of preventing mistakes or defects in manufactured products and avoiding problems when delivering solutions or services to customers.The methods by which this is accomplished are many and varied, and may include ensuring conformance to one or more standards, such as ISO 9000 or a model such as CMMI.
Quality assurance includes two principles: "Fit for purpose" (the product should be suitable for the intended purpose); and "right first time" (mistakes should be eliminated).
Agile software development methodology is an process for developing software (like other software development methodologies –Waterfall model, V-Model, Iterative model etc.) however Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality.
The addresses of an object's polymorphic methods is stored in a method table in the object.  When invoking some polymorphic method at run time the method name is looked up in this table to get the address.  A method table contains the names and addresses of the object's dynamically bound (polymorphic) methods.  The method table is the same for all objects belonging to the same class, so is stored in the Class object (for the object's type, here Integer or Double).  (In other languages method tables are called vtables.)
Example :
#include<iostream>
using namespace std;

class A
{
public:
    int i;
    A(){i=100;}
};

class B : public A
{
public:
    int j;
    B(){i = -1; j = 99;}
};

void func(A& myA)
{
    cout<<myA.i << endl;
}

int main()
{
    B b;
    A* a = new B();
    func(*a);
    func(b);
    delete a;
    return 0;
}
 
Virtual Table is a lookup table of function pointers used to dynamically bind the virtual functions to objects at run time. It is not intended to be used directly by the program, and as such there is no standardized way to access it.
Virtual Table is created even for classes that have virtual base classes. In this case, the vtable has pointer to the shared instance of the base class along with the pointers to the classe's virtual functions if any.

_vptr :

This vtable pointer or _vptr, is a hidden pointer added by the Compiler to the base class. And this pointer is pointing to the virtual table of that particular class.
Expalnation :

Here in function main b pointer gets assigned to D1's _vptr and now starts pointing to D1's vtable. Then calling to a function1(), makes it's _vptr startightway calls D1's vtable function1() and so in turn calls D1's method i.e. function1() as D1 has it's own function1()defined it's class.

Where as pointer b calling to a function2(), makes it's _vptr points to D1's vatble which in-turn pointing to Base class's vtablefunction2 () as shown in the diagram (as D1 class does not have it's own definition or function2()).
Register are used to quickly accept, store, and transfer data and instructions that are being used immediately by the CPU, there are various types of Registers those are used for various purpose. Among of the some Mostly used Registers named as AC or Accumulator, Data Register or DR, the AR or Address Register, program counter(PC), Memory Data Register (MDR) ,Index register,Memory Buffer Register.

With a clustered index the rows are stored physically on the disk in the same order as the index. Therefore, there can be only one clustered index.
With a non clustered index there is a second list that has pointers to the physical rows. You can have many non clustered indexes, although each new index will increase the time it takes to write new records.

With a clustered index the rows are stored physically on the disk in the same order as the index. Therefore, there can be only one clustered index.
With a non clustered index there is a second list that has pointers to the physical rows. You can have many non clustered indexes, although each new index will increase the time it takes to write new records.

The real difference [between clustered and unclustered indexes] is that a clustered index will reorder the records on disk, whereas an unclustered index will not.

The real difference [between clustered and unclustered indexes] is that a clustered index will reorder the records on disk, whereas an unclustered index will not.

A clustered index alters the way that the rows are stored. When you create a clustered index on a column (or a number of columns), SQL server sorts the table’s rows by that column(s). It is like a dictionary, where all words are sorted in alphabetical order in the entire book.
A non-clustered index, on the other hand, does not alter the way the rows are stored in the table. It creates a completely different object within the table that contains the column(s) selected for indexing and a pointer back to the table’s rows containing the data. It is like an index in the last pages of a book, where keywords are sorted and contain the page number to the material of the book for faster reference.

A clustered index alters the way that the rows are stored. When you create a clustered index on a column (or a number of columns), SQL server sorts the table’s rows by that column(s). It is like a dictionary, where all words are sorted in alphabetical order in the entire book.
A non-clustered index, on the other hand, does not alter the way the rows are stored in the table. It creates a completely different object within the table that contains the column(s) selected for indexing and a pointer back to the table’s rows containing the data. It is like an index in the last pages of a book, where keywords are sorted and contain the page number to the material of the book for faster reference.
The inode is a data structure in a Unix-style file system that describes a file system object such as a file or a directory. Each inode stores the attributes and disk block location(s) of the object's data.
When a file is created inside a directory then the file-name and Inode number are assigned to file. These two entries are associated with every file in a directory. The user might think that the directory contains the complete file and all the extra information related to it but this might not be the case always.
File system object attributes may include metadata (times of last change,access, modification), as well as owner and permission data.
A red–black tree is a kind of self-balancing binary search tree. Each node of the binary tree has an extra bit, and that bit is often interpreted as the color (red or black) of the node. These color bits are used to ensure the tree remains approximately balanced during insertions and deletions .

1) Every node has a color either red or black.
2) Root of tree is always black.
3) There are no two adjacent red nodes (A red node cannot have a red parent or red child).
4) Every path from root to a NULL node has same number of black nodes.
struct t_red_black_node {
    enum { red, black } colour;
    void *item;
    struct t_red_black_node *left,
                     *right,
                     *parent;
    }
Example
 
Super Block: Each filesystem has one super block (+ duplicate super block) it contains info about
1. type of filesystem (ext2, ext3...)
2. the block size
3. pointers to a list of free blocks
4. the inode number of the root directory
a boot block located in the first few sectors of a file system. The boot block contains the initial bootstrap program used to load the operating system. Typically, the first sector contains a bootstrap program that reads in a larger bootstrap program from the next few sectors, and so forth.
 
 
The two phase commit protocol is a distributed algorithm which lets all sites in a distributed system agree to commit or rollback a transaction based upon consensus of all participating sites.If any database server is unable to commit its portion of the transaction, all database servers participating in the transaction must be prevented from committing their work.
Hadoop File System was developed using distributed file system design. It is run on commodity hardware. Unlike other distributed systems, HDFS is highly fault tolerant and designed using low-cost hardware.
According to The Apache Software Foundation, the primary objective of HDFS is to store data reliably even in the presence of failures including Name Node failures, Data Node failures and network partitions. The Name Node is a single point of failure for the HDFS cluster and a Data Node stores data in the Hadoop file management system.
HDFS uses a master/slave architecture in which one device (the master) controls one or more other devices (the slaves).
Features of HDFS
It is suitable for the distributed storage and processing.
Hadoop provides a command interface to interact with HDFS.
The built-in servers of namenode and datanode help users to easily check the status of cluster.
Streaming access to file system data.
Lex is a program designed to generate scanners, also known as tokenizers, which recognize lexical patterns in text. Lex is an acronym that stands for "lexical analyzer generator."
Lex is short for "lexical analysis". Lex takes an input file containing a set of lexical analysis rules or regular expressions. For output, Lex produces a C function which when invoked, finds the next match in the input stream.
Yacc (for "yet another compiler compiler." ) is the standard parser generator for the Unix operating system. An open source program, yacc generates code for the parser in the C programming language. The acronym is usually rendered in lowercase but is occasionally seen as YACC or Yacc
The input subroutine produced by Yacc calls a user-supplied routine to return the next basic input item. Thus, the user can specify his input in terms of individual input characters, or in terms of higher level constructs such as names and numbers. The user-supplied routine may also handle idiomatic features such as comment and continuation conventions, which typically defy easy grammatical specification.
Yacc has also been used for less conventional languages, including a phototypesetter language, several desk calculator languages, a document retrieval system, and a Fortran debugging system.
Difference between LL parsing and LR parsing is that LL parser begin at the start symbol and try to apply productions to arrive at the target string, whereas LR parser begin at the target string and try to arrive back at the start symbol.
LL parsing, also known as top-down parsing and LR parsing, also known as bottom-up parsing .
LL starts with only the root non terminal on the stack, LR ends with only the root non terminal on the stack .
LL uses grammar rules in an order which corresponds to pre-order traversal of the parse tree, LR does a post-order traversal.
LL continuously pops a non terminal off the stack, and pushes a corresponding right hand side; LR tries to recognize a right hand side on the stack, pops it, and pushes the corresponding non terminal .
LL reads terminal when it pops one off the stack, LR reads terminals while it pushes them on the stack .
 
map uses a red-black tree as the data structure, so the elements you put in there are sorted, and insert/delete is O(log(n)). The elements need to implement at least operator<.
hash map uses a hash, so elements are unsorted, insert/delete is O(1). Elements need to implement at least operator== and you need a hash function.
The main difference otherwise is a difference in the speed at which you can access individual elements. Maps are usually stored as binary trees and hash maps are stored as hash tables. This means that if you have N elements in your container, then accessing an element in a map requires O(log(N)) time and the same operation in a hash map is O(1). So hash maps are faster, in general than maps.

use a hash table where the key is hashed to a slot in the table and the value is stored in a list tied to that key.
map is implemented as a balanced binary search tree (usually a red/black tree).

use a hash table where the key is hashed to a slot in the table and the value is stored in a list tied to that key.
map is implemented as a balanced binary search tree (usually a red/black tree).
A polyphase merge sort is an algorithm which decreases the number of runs at every iteration of the main loop by merging runs into larger runs. It is used for external sorting.
 In this type of sort, the tapes being merged, and the tape to which the merged sub files are written, vary continuously throughout the sort. In this technique, the concept of a pass through records is not as clear-cut as in the straight or the natural merge.
Example :
Select Operation : This operation is used to select rows from a table (relation) that specifies a given logic, which is called as a predicate. The predicate is a user defined condition to select rows of user's choice.
Project Operation : If the user is interested in selecting the values of a few attributes, rather than selection all attributes of the Table (Relation), then one should go for PROJECT Operation.
Example : Selection
Notation uses lower case sigma:
σcondition(relation)
Example :Projection
A hub is the most basic networking device that connects multiple computers or other network devices together.In a hub, a frame is passed along or "broadcast" to every one of its ports. It doesn't matter that the frame is only destined for one port. they use protocols such as ICMP to communicate with each other and configure the best route between any two hosts.
Arcesium is a post-trade technology and professional services firm. We offer a new way for hedge fund managers to scale their business while maintaining control of critical non-investment activities. Arcesium in terms of software development would be either at par with Shaw or gonna be better since the higher management is from Shaw .
Templates are a feature of the C++ programming language that allows functions and classes to operate with generic types. 
A template is a blueprint or formula for creating a generic class or a function. The library containers like iterators and algorithms are examples of generic programming and have been developed using template concept.

Templates are often used in larger code bbase for the purpose of code reusability and flexibility of the programs.
The concept of templates can be used in two different ways:

Templates are often used in larger code bbase for the purpose of code reusability and flexibility of the programs.
The concept of templates can be used in two different ways:
Function Templates
Class Templates
Function Template
The general form of a template function definition is shown here:
template <class type> ret-type func-name(parameter list) {
   // body of function
} 
Here, type is a placeholder name for a data type used by the function. This name can be used within the function definition.
for detail :http://www.geeksforgeeks.org/template-specialization-c/
A heap overflow is a type of buffer overflow that occurs in the heap data area. Heap overflows are exploitable in a different manner to that of stack-based overflows. Memory on the heap is dynamically allocated by the application at run-time and typically contains program data.
The heap overflow is very small, and hard to detect. 
The canonical heap overflow technique overwrites dynamic memory allocation linkage (such as malloc meta data) and uses the resulting pointer exchange to overwrite a program function pointer.
Heap overflows actually include a class of exploits that are more complicated than those explained in this tutorial. Some of these exploits attack vulnerabilities in memory allocating functions such as malloc in lib-c.
A segmentation fault occurs when a program attempts to access a memory location that it is not allowed to access, or attempts to access a memory location in a way that is not allowed (for example, attempting to write to a read-only location, or to overwrite part of the operating system).
Segmentation faults are a common class of error in programs written in languages like C that provide low-level memory access.
Segmentation fault is raised by hardware when any program attempts to access the memory location which is not allow to access, or attempts to access in wrong manner.
Newer programming languages may employ mechanisms designed to avoid segmentation faults and improve memory safety. For example, the Rust programming language employs an 'Ownership' based model to ensure memory safety.
Information about files(data) are sometimes called metadata. So you can even say it in another way, "An inode is metadata of the data."
 Inode : Its a complex data-structure that contains all the necessary information to specify a file. It includes the memory layout of the file on disk, file permissions, access time, number of different links to the file etc.
 Global File table : It contains information that is global to the kernel e.g. the byte offset in the file where the user's next read/write will start and the access rights allowed to the opening process.
Process file descriptor table : maintained by the kernel, that in turn indexes into a system-wide table of filesopened by all processes, called the file table .
stdio.h> searches in standard C library locations, whereas "stdio.h" searches in the current directory as well. ... You use #include "double quoted" when you want to say: "look for a file with this name in my own application's include directory; however, if it can't be found, look in the system's include directory".
Thrashing is a state in which our CPU perform 'productive' work less and 'swapping' more. CPU is busy in swapping pages, so much that it can not respond to user program as much as required.  Thrashing can potentially result in total collapse of the hard drive of the computer.
When thrashing occurs you will notice the computer hard drive always working and a decrease in system performance. Thrashing is bad on the hard drive because of the amount of work the hard drive has to do and if left unfixed can cause an early hard drive failure.
A dangling pointer is one that has a value (not NULL) which refers to some memory which is not valid for the type of object you expect. For example if you set a pointer to an object then overwrote that memory with something else unrelated or freed the memory if it was dynamically allocated.
                  Dangling pointer
A TCP connection controls its transmission rate by limiting its number of transmitted-but-yet-to-be-acknowledged segments. 
TCP’s congestion control scheme is based on a congestion window. The current value of the congestion window (cwnd) is stored in the TCB of each TCP connection and the window that can be used by the sender is constrained by min(cwnd,rwin,swin)min(cwnd,rwin,swin) where swinswin is the current sending window and rwinrwin the last received receive window. The Additive Increase part of the TCP congestion control increments the congestion window by MSS bytes every round-trip-time. In the TCP literature, this phase is often called the congestion avoidance phase. The Multiplicative Decrease part of the TCP congestion control divides the current value of the congestion window once congestion has been detected.
A socket consists of three things:

An IP address
A transport protocol
A port number

An IP address
A transport protocol
A port number
A port is a number between 1 and 65535 inclusive that signifies a logical gate in a device. Every connection between a client and server requires a unique socket.
For example:
1030 is a port.
(10.1.1.2 , TCP , port 1030) is a socket.
A port is one half of a protocol demuxing namespace. Typically we use TCP or UDP ports, where each port represents a single service. A server process listens on a port and accepts incoming connections (TCP) or incoming packets (UDP). The client allocates a local port number for initiating the connection.
For socket:
An ip address with port is know as socket.

Socket is the API's abstraction for a IP-port pair. It handles the network and transfer layer of communication. It can be thought of as a application's interface to the network.
A port on the other hand is the destination/origin of a packet. A IP address is further divided into ports so that applications can share the network without conflict.

Socket is the API's abstraction for a IP-port pair. It handles the network and transfer layer of communication. It can be thought of as a application's interface to the network.
A port on the other hand is the destination/origin of a packet. A IP address is further divided into ports so that applications can share the network without conflict.
The basic function that any switch is supposed to perform is to receive information from any source connected to it and dispatch that information to the appropriate destination only. This thing differentiates switches from hubs. Hub gets the information and forwards that to every other device in the network.
const int *p
      1. => int const * 
      2. => pointer to a const int 
      so the pointer "points" to an int that can't be changed
 int * const 
      2. => const pointer to int 
      so the pointer "points" to an int that can be changed, 
      but the pointer can't change
A cursor is the position indicator on a computer display screen where a user can enter text. In an operating system with a graphical user interface (GUI), the cursor is also a visible and moving pointer that the user controls with a mouse, touch pad, or similar input device. A cursor library is software, often implemented as a part of a database system or a data access API, that is used to manage attributes of data returned from a data source (a result set). 

SQL is a Structured Query Language used to issue a single query or execute a single insert/update/delete.
PL-SQL is a  programming language SQL, used to write full programs using variables, loops,operators etc. to carry out multiple selects/inserts/updates/deletes.

SQL is a Structured Query Language used to issue a single query or execute a single insert/update/delete.
PL-SQL is a  programming language SQL, used to write full programs using variables, loops,operators etc. to carry out multiple selects/inserts/updates/deletes.

SQL is a data oriented language used to select and manipulate sets of data.
	PL/SQL is a procedural language used to create applications.

SQL is a data oriented language used to select and manipulate sets of data.
	PL/SQL is a procedural language used to create applications.

SQL you can execute only one query at a time, where in PL/SQL you can execute an number of queries in one block and get executed all there queues at one command .

SQL you can execute only one query at a time, where in PL/SQL you can execute an number of queries in one block and get executed all there queues at one command .

SQL is used to code queries, DML and DDL statements. PL/SQL is used to code program blocks, triggers, functions, procedures and packages.

SQL is used to code queries, DML and DDL statements. PL/SQL is used to code program blocks, triggers, functions, procedures and packages.

We can embed SQL in a PL/SQL program, but we cannot embed PL/SQL within a SQL statement .

We can embed SQL in a PL/SQL program, but we cannot embed PL/SQL within a SQL statement .
A trigger (from the Dutch trekken, meaning to pull) is a lever which, when pulled by the finger, releases the hammer on a firearm. In a database, a trigger is a set of Structured Query Language (SQL) statements that automatically "fires off" an action when a specific operation, such as changing data in a table, occurs.
 For example, when a new record (representing a new worker) is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries.
Trigger is used :
Automatically generate derived column values .
Prevent invalid transactions .
Enforce complex security authorizations .
Enforce referential integrity across nodes in a distributed database .
Enforce complex business rules.
 Linux is based upon the UNIX philosophy and supports the standard POSIX system call interface. Windows on the other hand only provides for POSIX using an emulation layer.
Windows requires it's users to purchase a license to use the software (often the license cost is included in the price of a new computer). Linux is licensed such that it's freely distributable at no cost.
Flexibility: It is used for high performance applications, desktop applications and embedded applications. You can save disk space by installing components required for a particular use. You can restrict specific computers instead of all computers.
Windows exposes partitions and devices at drive letters. Whether you have multiple hard drives, multiple partitions on the same hard drive, or removable devices connected, each file system is available under its own drive letter.

Linux doesn’t have drive letters. Instead, it makes other file systems accessible at arbitrary directories. (Windows can do this too, but this isn’t how it works out of the box.)

Linux doesn’t have drive letters. Instead, it makes other file systems accessible at arbitrary directories. (Windows can do this too, but this isn’t how it works out of the box.)
The proc file-system (proc fs) is a special filesystem in Unix-like operating systems that presents information about processes and other system information in a hierarchical file-like structure, providing a more convenient and standardized method for dynamically accessing process data held in the kernel than traditional tracing methods or direct access to kernel memory.
Within the /proc/ directory, one can find a wealth of information detailing the system hardware and any processes currently running. In addition, some of the files within the /proc/ directory tree can be manipulated by users and applications to communicate configuration changes to the kernel.
The /proc file system is nicely documented in the proc man page. You can access this document by running the below command on a linux system.
The proc filesystem provides a method of communication between kernel space and user space. For example, the GNU version of the process reporting utility ps uses the proc file system to obtain its data, without using any specialized system calls.
A scripting language is a programming language that employs a high-level construct to interpret and execute one command at a time. In general, scripting languages are easier to learn and faster to code in than more structured and compiled languages such as C and C++ .
A scripting language can be viewed as a domain-specific language for a particular environment; in the case of scripting an application, this is also known as an extension language.
Scripting languages came about largely because of the development of the Internet as a communications tool.JavaScript, ASP, JSP, PHP, Perl, Tcl and Python are examples of scripting languages.
Scripting languages like JavaScript are often used to facilitate enhanced features of websites. 
 
OS makes a DNS lookup and replies the IP address to the browser. browser opens a TCP connection to server (this step is much more complex with HTTPS) browser sends the HTTP request through TCP connection. ... browser renders response, or offers a download dialog for unrecognized types.
When a variable is declared as reference, it becomes an alternative name for an existing variable. A variable can be declared as reference by putting ‘&’ in the declaration.
for detail :http://www.geeksforgeeks.org/references-in-c/
Generics are a facility of generic programming that were added to the Java programming language in 2004 within the official version J2SE 5.0. They were designed to extend Java's type system to allow “a type or method to operate on objects of various types while providing compile-time type safety.”
CMOS (complementary metal-oxide-semiconductor) is the term usually used to describe the small amount of memory on a computer motherboard that stores the BIOS settings. Some of these BIOS settings include the system time and date as well as hardware settings .
CMOS is also sometimes referred to as complementary-symmetry metal–oxide–semiconductor (or COS-MOS) .
Like most RAM chips, the chip that stores your BIOS settings is manufactured using the CMOS process. It holds a small amount of data, usually 256 bytes. The information on the CMOS chip includes what types of disk drives are installed on your computer, the current date and time of your system clock, and your computer's boot sequence.
CMOS is used in static RAM, digital logic circuits, microprocessors, micro controllers, image sensors, and the conversion of computer data from one file format to another.
The Basic Input Output System, usually referred to as BIOS, is software stored on a small memory chip on the motherboard.
 It also manages data flow between the computer's operating system and attached devices such as the hard disk,video adapter, keyboard, mouse and printer.
The BIOS includes instructions on how to load basic computer hardware and includes a test referred to as a POST (Power On Self Test) that helps verify the computer meets requirements to boot up properly. If the computer does not pass the POST, you will receive a combination of beeps indicating what is malfunctioning within the computer.
The BIOS additionally provides an abstraction layer for the hardware, i.e., a consistent way for application programs and operating systems to interact with the keyboard, display, and other input/output (I/O) devices.
There are possibly of many IP connection between two system (identified by their IP address) for different application on each end . UDP "Source Port" field identified the associated application in the source system and "Destination Port" the associated application in the destination system .

The key difference is that tuples are immutable. This means that you cannot change the values in a tuple once you have created it.
So if you're going to need to change the values use a List.

The key difference is that tuples are immutable. This means that you cannot change the values in a tuple once you have created it.
So if you're going to need to change the values use a List.
Tuples can be used as keys for dicts and properly implement __hash__(), lists do not, and are not hashable.
Tuples have structure, lists have order.
The literal syntax of tuples is shown by parentheses whereas the literal syntax of lists is shown by square brackets .
Tuples are heterogeneous while lists are homogeneous. One has to deal individually with the items.

	 

Dynamic (run time) polymorphism is the polymorphism existed at run-time. Here, Java compiler does not understand which method is called at compilation time. Only JVM decides which method is called at run-time. Method overloading and method overriding using instance methods are the examples for dynamic polymorphism.

Dynamic (run time) polymorphism is the polymorphism existed at run-time. Here, Java compiler does not understand which method is called at compilation time. Only JVM decides which method is called at run-time. Method overloading and method overriding using instance methods are the examples for dynamic polymorphism.
Whenever we call the method on to the object based on the object corresponding class method will be executed dynamically.
Example : 
public class DynamicTest {

    public static void main(String args[]) {
        Vehicle vehicle = new Car(); //here Type is vehicle but object will be Car
        vehicle.start();       //Car's start called because start() is overridden method
    }
}

class Vehicle {

    public void start() {
        System.out.println("Inside start method of Vehicle");
    }
}

class Car extends Vehicle {

    @Override
    public void start() {
        System.out.println("Inside start method of Car");
    }
}
 
A UNIX shell script is a human-readable text file containing a group of commands that could also be manually executed one-by-one at the UNIX operating system command prompt and these command sequences in order to make ones life at the shell easier and more productive.
The following is an example of a basic shell script:
 
echo "Text Line 1"

print "Text Line 2"

exit 0
 
AJAX is an acronym for Asynchronous JavaScript and XML. It is a group of inter-related technologies like JavaScript, DOM, XML, HTML, CSS etc.
the Ajax model, web applications are able to make quick, incremental updates to the user interface without reloading the entire browser page. This makes the application faster and more responsive to user actions.
Although X in Ajax stands for XML, JSON is used more than XML nowadays because of its many advantages such as being lighter and a part of JavaScript. Both JSON and XML are used for packaging information in Ajax model.
MongoDB is an open-source document database and leading NoSQL database. MongoDB is written in C++. This tutorial will give you great understanding on MongoDB concepts needed to create and deploy a highly scalable and performance-oriented database.
MongoDB supports field, range queries, regular expression searches. Queries can return specific fields of documents and also include user-defined JavaScript functions. Queries can also be configured to return a random sample of results of a given size.
MongoDB scales horizontally using sharding The user chooses a shard key, which determines how the data in a collection will be distributed .
JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. Squarespace uses JSON to store and organize site content created with the CMS.
Example
var myJSON = '{ "name":"John", "age":31, "city":"New York" }';
var myObj = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myObj.name;
 
The primary difference between a div and a span is their default behavior. By default, a <div> is a block level element and a <span> is an inline element.

While a span allows you to separate things from the other elements around them on a page or within a document, it does not cause a line break. This is why it is perfect for in-line styling, like coloring a single word in a sentence to draw more attention to it.
But a div, by default, creates a line break because it is used to make separate containers or boxes within a page or document, hence the name division. So the proper way to use a div is as a containing element, rather than an inline styling element.

While a span allows you to separate things from the other elements around them on a page or within a document, it does not cause a line break. This is why it is perfect for in-line styling, like coloring a single word in a sentence to draw more attention to it.
But a div, by default, creates a line break because it is used to make separate containers or boxes within a page or document, hence the name division. So the proper way to use a div is as a containing element, rather than an inline styling element.
Example of a HTML <span> tag
Example text that is red text and an example of a span tag.
HTML code:

<p>Example text that is <span style="color:red;">red text</span> and an example of a span tag.</p>
Example of a HTML <div> tag
An example of a div tag that has a maximum width of 200 pixels and a silver background.
 
HTML code:

<div style="width: 200px; background-color:#E5E4E2;padding:10px;margin-bottom:2em;">
<p>An example of a div tag that has a maximum width of 200 pixels and a silver background.</p>
</div>
Android is an open source and Linux-based Operating System for mobile devices such as smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies.
The goal of android project is to create a successful real-world product that improves the mobile experience for end users.
Android Inc was founded in Palo Alto of California, U.S. by Andy Rubin, Rich miner, Nick sears and Chris White in 2003. Later Android Inc. was acquired by Google in 2005. After original release there have been number of updates in the original version of Android.
Versions usually come with a numerical code and a name that’s so far been themed after sweets and desserts, running in alphabetical order.
Android 1.5 Cupcake
Android 1.6 Donut
Android 2.1 Eclair
Android 2.2 Froyo
Android 2.3 Gingerbread
Android 3.2 Honeycomb - The first OS design specifically for tablets, launching on the Motorola Xoom
Android 4.0 Ice Cream Sandwich: The first OS to run on smartphones and tablets, ending the 2.X naming convention.
Android 4.1 Jelly Bean: Launched on the Google Nexus 7 tablet by Asus
Android 4.2 Jelly Bean: Arrived on the LG Nexus 4
Android 4.3 Jelly Bean
Android 4.4 KitKat: Launched on the LG Nexus 5
Android 5.0 Lollipop: Launched on the Motorola Nexus 6 and HTC Nexus 9
Android 6.0 Marshmallow: Launched on the LG Nexus 5X and Huawei Nexus 6P
Android 7.0 Nougat
Android 7.1 Nougat: Launched on the HTC-made Google Pixel and Pixel XL
Android 8.0 O: Currently in beta form, only available for developers (and the curious)
Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted web sites.XSS attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user.
A cross-site scripting vulnerability may be used by attackers to bypass access control such as the same origin policy.
A successful cross site scripting attack can have devastating consequences for an online business's reputation and its relationship with its clients.

In order for an XSS attack to take place the vulnerable website needs to directly include user input in its pages. An attacker can then insert a string that will be used within the web page and treated as code by the victim’s browser.
The following server-side pseudo-code is used to display the most recent comment on a web page.
print "<html>"
print "<h1>Most recent comment</h1>"
print database.latestComment
print "</html>"

In order for an XSS attack to take place the vulnerable website needs to directly include user input in its pages. An attacker can then insert a string that will be used within the web page and treated as code by the victim’s browser.
The following server-side pseudo-code is used to display the most recent comment on a web page.
print "<html>"
print "<h1>Most recent comment</h1>"
print database.latestComment
print "</html>"
The transient keyword may be used as a property modifier in Java and is directly related with serialization. In short the properties declared as transient are not serialized by the default serialization mechanism.
transient keyword is used along with instance variable to exclude them from serialization process.
The transient access modifier is used at the time of object serialization in order not to serialize the instance variable value.
	In the following code snippet, the content of the variable “nopersist” would not be saved. The content of the variable “number” would be saved.
	class SampleSerialize 
{
   transient int nopersist; // will not persist
   int number; // will persist
   ......
   ......
}
 

class SampleSerialize 
{
   transient int nopersist; // will not persist
   int number; // will persist
   ......
   ......
}
 
Java provides a mechanism, called object serialization where an object can be represented as a sequence of bytes that includes the object's data as well as information about the object's type and the types of data stored in the object.
It is mainly used in Hibernate, RMI, JPA, EJB and JMS technologies.
A class must implement Serializable interface present in java.io package in order to serialize its object successfully. 
Example :
import java.io.Serializable;  
public class Student implements Serializable{  
 int id;  
 String name;  
 public Student(int id, String name) {  
  this.id = id;  
  this.name = name;  
 }  
}  
 
As per the Second Normal Form there must not be any partial dependency of any column on primary key. It means that for a table that has concatenated primary key, each column in the table that is not part of the primary key must depend upon the entire concatenated key for its existence.
A database is in second normal form if it satisfies the following conditions:
It is in first normal form
All non-key attributes are fully functional dependent on the primary key
A hypervisor is one of the most important components of comprehensive, server-based, distributed manufacturing automation systems. This abstraction allows the underlying host machine hardware to independently operate one or more virtual machine as guests, allowing multiple guest VMs to effectively share the system's physical compute resources, such as procesor cycles, memory space, network bandwidth and so on.
Secure Socket Shell, is a network protocol that provides administrators with a secure way to access a remote computer.
SSH provides a secure channel over an unsecured network in a client-server architecture, connecting an SSH client application with an SSH sever.
The SSH client drives the connection setup process and uses public key cryptography to verify the identity of the SSH server.
SSH is widely used by network administrators for managing systems and applications remotely, allowing them to log in to another computer over a network, execute commands and move files from one computer to another.
Telnet is a protocol that allows you to connect to remote computers (called hosts) over a TCP/IP network (such as the Internet). For example, typing telnet hostname would connect a user to a host named hostname.
The term telnet is also used to refer to the software that implements the client part of the protocol. Telnet client applications are available for virtually all computer platform.
Telnet is used most often for remote management but also sometimes for the initial setup for some devices .
The tlntadmn commands allow you to remotely manage a computer running Telnet Server. These commands are run from the command prompt. Used without parameters, tlntadmn displays local server settings.
volatile is a qualifier that is applied to a variable when it is declared. It tells the compiler that the value of the variable may change at any time-without any action being taken by the code the compiler finds nearby. 
This keyword prevents an optimizing compiler from optimizing away subsequent reads or writes and thus incorrectly reusing a stale value or omitting writes. 
Syntax
volatile int foo;
int volatile foo;
This automatically precludes it being a member function! An object has to EXISTbefore it has a "this" pointer and thus a Vitale. ... Constructor can not be virtual, because when constructor of a class is executed there is no Vitale in the memory, means no virtual pointer defined yet.
TcpEndpoint objects allow you to easily establish and communicate over TCP/IP network connections between client and server processes, possibly residing on different hosts .
	The TcpEndpoint class follows a telephone-like model of networking: clients "call" servers and servers "answer" clients. Once a network connection is established between a client and a server, the two can "talk" to each other by reading from and writing to the connection:
Client <----------------------> Server
 

The TcpEndpoint class follows a telephone-like model of networking: clients "call" servers and servers "answer" clients. Once a network connection is established between a client and a server, the two can "talk" to each other by reading from and writing to the connection:
Client <----------------------> Server
 
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int r = 3, c = 4;
    int *arr = (int *)malloc(r * c * sizeof(int));
 
    int i, j, count = 0;
    for (i = 0; i <  r; i++)
      for (j = 0; j < c; j++)
         *(arr + i*c + j) = ++count;
 
    for (i = 0; i <  r; i++)
      for (j = 0; j < c; j++)
         printf("%d ", *(arr + i*c + j));
 
   /* Code for further processing and free the 
      dynamically allocated memory */
   
   return 0;
}
  output :
 
  1  2  3  4
  5  6  7  8
  9  10 11 12 
ARP (Address Resolution Protocol) converts an Internet protocol(IP) address to its corresponding physical network address.
The protocol operates below the network layer as a part of the interface between the OSI network and OSI link layer.
ARP provides the protocol rules for making this correlation and providing address conversion in both directions.
The purpose of Address Resolution Protocol (ARP) is to find out the MAC address of a device in your Local Area Network, for the corresponding IPv4 address, which network application is trying to communicate.
 It is used by network devices, including routers, to send error messages and operational information indicating, for example, that a requested service is not available or that a host or router could not be reached.
ICMP helps you gather information about a network. ICMP is an IP packet with an added header to define the ICMP protocol .
 
When two or more objects are derived from a common base class, we can prevent multiple copies of the base class being present in an object derived from those objects by declaring the base class as virtual when it is being inherited. Such a base class is known as virtual base class. 
Virtual base classes, used in virtual inheritance, is a way of preventing multiple "instances" of a given class appearing in an inheritance hierarchy when using multiple inheritance.
Node.js is a very powerful JavaScript-based framework/platform built on Google Chrome's JavaScript V8 Engine.
 Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36.
Node.js is an open source, cross-platform runtime environment for developing server-side and networking applications.
Node.js enables JavaScript to be used for sever side scripting, and runs scripts server-side to produce dynamic web page content before the page is sent to the user's web browser.
Node.js connects the ease of a scripting language (JavaScript) with the power of Unix network programming .
Like linear search and binary search, ternary search is a searching technique that is used to determine the position of a specific value in an array.
A ternary search determines either that the minimum or maximum cannot be in the first third of the domain or that it cannot be in the last third of the domain, then repeats on the remaining two-thirds.
A ternary search is an example of a divide and conquer algorithm .
Stock market prediction is the act of trying to determine the future value of a company stock or other financial instrument traded on an exchange. The successful prediction of a stock's future price could yield significant profit.
The efficient market hypothesis suggests that stock prices reflect all currently available information and any price changes that are not based on newly revealed information thus are inherently unpredictable.
 
Primary Key is used to identify a row (record) in a table, whereas Unique-key is to prevent duplicate values in a column (with the exception of a null entry).
PRIMARY KEY is always not null but columns with unique constraint can hold NULL values .
When you create a UNIQUE constraint, the database automatically creates a UNIQUE index. For MS SQL Server databases, a PRIMARY KEY will generate a unique CLUSTERED INDEX. A UNIQUE constraint will generate a unique NON-CLUSTERED INDEX.
There will be only one primary key in a table whereas More than one unique key will be there in a table.       
Every primary is a unique but every unique is not primary .
Pseudocode:
curNodePtr := FirstNode

if curNodePtr == NULL
  return 'Less Nodes in the List'

forever:

  tmpPtr := curNodePtr
  count := 0

  forever:

    if tmpPtr == NULL || count == N
      break

    tmpPtr := tmpPtr.NEXT
    count++

  if tmpPtr == NULL
    if count == n
      return curNodePtr
    else
      return 'Less Nodes in the List'

  curNodePtr := curNodePtr.NEXT 
Complexity:
Time Complexity: O(n^2) - For traversing each node after curNode.
Space Complexity: O(1)
In graph theory and computer science, the lowest common ancestor (LCA) of two nodes v and w in a tree or directed acyclic graph (DAG) T is the lowest (i.e. deepest) node that has both v and w as descendants, where we define each node to be a descendant of itself (so if v has a direct connection from w, w is the lowest common ancestor).
Example :
In this tree, the lowest common ancestor of the nodes x and y is marked in dark green. Other common ancestors are shown in light green.
Message passing is a type of communication between process or objects in computer science.
Message passing is used ubiquitously in modern computer software. It is used as a way for the objects that make up a program to work with each other and as a means for objects and systems running on different computers (e.g., the Internet) to interact.
An Interface is basically a kind of class like class Interface contain method and variable but with a measure difference in it contain a abstract method and final fields.
This means that Interface do not specify or to Implement for these method and data field contain only constant.
Syntax for declaring the Interface :
[access specifier] interface <interface name>

{

  return type method name1(Parameter list);

  return type method name2(Parameter list);

------------------------------------------------------

return type method nameN(Parameter list);

Final constant value 1;

Final constant value 2;

-----------------

--------------

Final constant value N;

}
Example :
interface printable{  
void print();  
}  
class A6 implements printable{  
public void print(){System.out.println("Hello");}  
  
public static void main(String args[]){  
A6 obj = new A6();  
obj.print();  
 }  
}  

output :
Hello
 
An Abstract class is a class just opposite to final modifier .An abstract class is a class that does not have body of the method that means we  declare the method only not implemented .
Syntax For Abstract Class :
We used Abstract Keyword for declare the class and declaration of the method .
  
abstract class <class name>
{
   abstract method Name1(Parameter list);
   abstract method Name2(Parameter list);

    -----------------
     
return type method name3(Parameter list)
{
       body of the method
}
}
An abstract class cannot be instanced.
An abstract method of an abstract class must be define in is sub class  .It can be used to create  object reference because java approach to run time  polymorphism is implemented to super .class references .
 Example :
abstract class Bike{  
  abstract void run();  
}  
class Honda4 extends Bike{  
void run(){System.out.println("running safely..");}  
public static void main(String args[]){  
 Bike obj = new Honda4();  
 obj.run();  
}  
} 
 
Most differences between the features of the two languages arise due to the use of different programming paradigm. C breaks down to functions while JAVA breaks down to Objects. C is more procedure-oriented while JAVA is data-oriented.
Java uses a “Garbage Collector” which manages memory automatically so the programmer doesn’t have to handle that.
Java doesn't support the enum keyword used in C to define types that consist of fixed sets of named values. This is surprising for a strongly typed language like Java, but there are ways to simulate this feature with object constants.
Java doesn't support C struct and union types. A Java class can be thought of as an enhanced struct, however.
Operator overloading in C is an important feature which is not supported in Java language.
In computer science, a self-balancing (or height-balanced) binary search tree is any node-based binary search tree that automatically keeps its height (maximal number of levels below the root) small in the face of arbitrary item insertions and deletions .
AVL trees are used for performing search operations on high dimension external data storage. For example, a phone call list may generate a huge database which may be recorded only on external hard drives, hard-disks or other storage devices .
The structure of the nodes of a balanced tree can be represented like:

struct NodeAVL{
 int key;
 int ech;
 node *left, *right;
}; 
Where:
- key represents the tag of the node(integer number),
- ech represents the balancing factor
- left and right represent pointers to the left and right children.
Example :
 AVL tree with balance factors 
Deleting a derived class object using a pointer to a base class that has a non-virtual destructor results in undefined behavior. To correct this situation, the base class should be defined with a virtual destructor.
for detail review :http://stackoverflow.com/questions/461203/when-to-use-virtual-destructors
Windows Azure, which was later renamed as Microsoft Azure in 2014, is a cloud computing platform, designed by Microsoft to successfully build, deploy, and manage applications and services through a global network of data centers.
Microsoft Azure is widely considered both a Platform as Service (PaaS) and Infrastructure as a Service (IaaS) offering.
C++ supports both procedural and object oriented programming paradigms; therefore C++ is also called a hybrid language.
C++ allows the declaration of variable anywhere in the scope i.e at time of its First use.
 C++ supports Exception Handling while C does not.
C++ provides Boolean or String data types. It supports both user-defined and built-in data types.
Data is hidden in C++ and is not accessible to external functions. Hence, is more secure .
C++ program file is saved with .CPP extension.
C++ does provide references too. It considers them as aliases to another variable or object. They are safer than pointers where they can be used.

	 
Bing is a web search engine owned and operated by Microsoft. The service has its origins in Microsoft's previous search engines: MSN Search, Windows Live Search and later Live Search. Bing provides a variety of search services, including web, video, image and map search products.
Benefits of Bing :
Search for cash with Bing Rewards .

Search quality: as good or better than Google's .

Search quality: as good or better than Google's .

Bing gets the picture .

Bing gets the picture .

Bing gives more auto complete suggestions than Google does in most cases.

Bing gives more auto complete suggestions than Google does in most cases.
Encapsulation is an Object Oriented Programming concept that binds together the data and functions that manipulate the data, and that keeps both safe from outside interference and misuse. 
Encapsulation in Java is a mechanism of wrapping the data (variables) and code acting on the data (methods) together as a single unit. In encapsulation, the variables of a class will be hidden from other classes, and can be accessed only through the methods of their current class. Therefore, it is also known as data hiding.
        Example :
Public class EncapsulationDemo{
    private int ssn;
    private String empName;
    private int empAge;

    //Getter and Setter methods
    public int getEmpSSN(){
        return ssn;
    }

    public String getEmpName(){
        return empName;
    }

    public int getEmpAge(){
        return empAge;
    }

    public void setEmpAge(int newValue){
        empAge = newValue;
    }

    public void setEmpName(String newValue){
        empName = newValue;
    }

    public void setEmpSSN(int newValue){
        ssn = newValue;
    }
}
public class EncapsTest{
    public static void main(String args[]){
         EncapsulationDemo obj = new EncapsulationDemo();
         obj.setEmpName("Mario");
         obj.setEmpAge(32);
         obj.setEmpSSN(112233);
         System.out.println("Employee Name: " + obj.getEmpName());
         System.out.println("Employee SSN: " + obj.getEmpSSN());
         System.out.println("Employee Age: " + obj.getEmpAge());
    } 
}
Output:
Employee Name: Mario
Employee SSN: 112233
Employee Age: 32
Cloud computing is a general term for the delivery of hosted services over the internet.
Simply put, cloud computing is the delivery of computing services—servers, storage, databases, networking, software, analytics and more—over the Internet (“the cloud”) .
Examples of cloud services include online data storage and backup solutions, Web-based e-mail services, hosted office suites and document collaboration services, database processing, managed technical support services and more. 
Pseudo Code : 
public class Singleton {
    private Singleton() {}

    private static class SingletonHolder {
        private static final Singleton INSTANCE = new Singleton();
    }

    public static Singleton getInstance() {
        return SingletonHolder.INSTANCE;
    }
}
 
A load balancer is a device that acts as a reverse proxy and distributes network or application traffic across a number of servers.
Load Balancers that optimize the performance of servers delivering important content to in house users as well as co-workers form other companies or the general public.
Load balancing usually involves dedicated software or hardware, such as a multilayer Switch or a Domain Name Service server process .
Software as a service (or SaaS) is a way of delivering applications over the Internet—as a service. Instead of installing and maintaining software, you simply access it via the Internet, freeing yourself from complex software and hardware management.
SaaS is typically accessed by users using a thin client via a web browser.
Examples of where SaaS can be used by enterprises:
Accounting and invoicing
Tracking sales
Planning
Performance monitoring 
Communications (including web mail and messaging)
The registry is a single place for keeping such information as what hardware is attached, what system options have been selected, how computer memory is set up, and what application programs are to be present when the operating system is started.
The Windows Registry is meant to solve that problem by providing a single place for all settings across all applications.
Java is platform independent because of the machine independent code also called "Byte Code". Which make java a purely platform independent.
Which can be once complied, can be run anywhere on any platform. Only necessity is the availability of Java Run-time Environment (JVM) .
 
A memory leak is the gradual loss of available computer memory when a program (an application or part of the operating system) repeatedly fails to return memory that it has obtained for temporary use.
Memory leak occurs when programmers create a memory in heap and forget to delete it.
A memory leak is also known as a space leak.
A transient event is a short-lived burst of energy in a system caused by a sudden change of state.
The transient is the behavior of the circuit (for example) after a certain action, and this behavior didn't last for a long time. After this transient period the steady state behavior dominate, i.e. the steady state solution is at t tends to infinity.
An example of transient oscillation can be found in digital (pulse) signals in computer networks .
 
Synchronized methods are methods that are used to control access to an object. A thread only executes a synchronized method after it has acquired the lock for the method's object or class. Synchronized statements are similar to synchronized methods. A synchronized statement can only be executed after a thread has acquired the lock for the object or class referenced in the synchronized statement .
Synchronized methods :
Example:
Public synchronized void increment()
{
X++;
}
Synchronize statement :
Example:
public void run()
{
synchronized(p1)
{ //synchronize statement. P1 here is an object of some class P
p1.display(s1);
}
}
 
Invoking the run() method from main thread, the run() method goes onto the current call stack rather than at the beginning of a new call stack.
	class HelloTest extends Thread{  
 public void run(){  
   System.out.println("running...");  
 }  
 public static void main(String args[]){  
  HelloTest t1=new HelloTest();  
  t1.run();//fine, but does not start a separate call stack  
 }  
}  


Output :

class HelloTest extends Thread{  
 public void run(){  
   System.out.println("running...");  
 }  
 public static void main(String args[]){  
  HelloTest t1=new HelloTest();  
  t1.run();//fine, but does not start a separate call stack  
 }  
}  


Output :
          running...
A package is a name space that organizes a set of related classes and interfaces.
A Package can be defined as a grouping of related types (classes, interfaces, enumerations and annotations ) providing access protection and namespace management.
Using package it becomes easier to locate the related classes.
In java there are already many predefined packages that we use while programming.
For example:  java.lang, java.io, java.util  etc.
Defining a Package:
This statement should be used in the beginning of the program to include that program in that particular package.
 package <package name> .
Example:
package hello;
public class Trap {
   public void id ()
   {
       System.out.println ("Trap");
   }
}
The C library function void *realloc(void *ptr, size_t size)attempts to resize the memory block pointed to by ptr that was previously allocated with a call to malloc or calloc.
Declaration
Following is the declaration for realloc() function.
void *realloc(void *ptr, size_t size)
for detail review : http://www.geeksforgeeks.org/g-fact-66/
Pseudo Code : 
Important Fact :
S1: Stack 1
S2: Stack 2
x: Data (A,B,etc)
 Enqueue(S1,x){
    
     push(S1,x);

}
Dequeue(S1,S2)
{

    if(S2 is not empty)
     
     return(pop(s2));

}
  else {
     
     while(S1 is not empty)
        
{
        x=pop(S1);
        push(S2,x);    

}
   return(pop(s2))
}
Time Complexity : 
Best case: O(1)
Average case: O(1)
Worst case: O(n)
 
Windows 8 doesn’t have a Start Menu. Instead, it has a ‘Charms Bar’ (see right) which is where you go to shut down and use other tools such as ‘Search’.
Traditionally, users type in passwords in order to gain access to their locked computers. Windows 8 adds the picture password. When logging in, users are presented with a picture and by touching features in the photo in the right order they can unlock the device.

Windows 8 includes hundreds of small features. For instance, faster boot times, Airplane mode, enhanced copy/move/paste operations, native antivirus program (Windows Defender now includes all features of Microsoft Security Essential), fully customizable lock screen, custom refresh image and better multi-monitor support.

Windows 8 includes hundreds of small features. For instance, faster boot times, Airplane mode, enhanced copy/move/paste operations, native antivirus program (Windows Defender now includes all features of Microsoft Security Essential), fully customizable lock screen, custom refresh image and better multi-monitor support.
Compatibility is always an issue when talking about operating systems. Luckily, they are both compatible with almost all applications and programs. The only key difference is that Windows 8 was developed at a later time, giving it an edge for troubleshooting current compatibility issues .
For Windows 8, a clean install also contains the extended Windows Defender technology, which, for the first time incorporates complete anti malware functionality – also optimized for memory and resource use. (This functionality does not exist on a clean install of Windows 7 where we would recommend that you add security software) .
Addition/Deletion of an element from the list at any index which is an O(1) operation in Lists as compared to Arrays.
Arrays are good for random access and good for sequential access (both are in constant time). Linked lists on the other hand are constant for sequential, but linear for random access.
As the linked list doesn't have a size limit, we can go on adding new nodes (elements) and increasing the size of the list to any extent.
Data structures such as stack and queues can be easily implemented using linked list.
An important advantage of linked lists over arrays is that the linked list uses exactly as much memory as it needs, and can be made to expand to fill all available memory locations if needed.
It is not necessary to know in advance the number of elements to be stored in the list and therefore, need not allocate. d as and when necessary.
A makefile is used with the Unix make utility to determine which portions of a program to compile.
Make provides most help when the program consists of many component files.
Makefiles are special format files that together with the make utility will help you to automagically build and manage your projects .
The make utility
make
this program will look for a file named makefile in your directory, and then execute it.
If you have several makefiles, then you can execute them with the command:
make -f MyMakefile
Extern : 
The extern keyword is used before a variable to inform the compiler that this variable is declared somewhere else.
An external variable may also be declared inside a function. In this case the extern keyword must be used, otherwise the compiler will consider it a definition of a local .
A variable that is explicitly declared to be external cannot be redefined since it is declared in another source file nor any additional storage tp be allocated to it.An external declaration merely serves to declare for the remainder of that source  such that a variable exists and has been created earlier.
      Example :

int num =  75 ;  

void display();

void main()
{
 extern int num ;
             printf("nNum : %d",num);
 display();
}

void display()
{
 extern int num ;
             printf("nNum : %d",num);
}
Output :
Num : 75
Num : 75
Static Variable :

int num =  75 ;  

void display();

void main()
{
 extern int num ;
             printf("nNum : %d",num);
 display();
}

void display()
{
 extern int num ;
             printf("nNum : %d",num);
}
Output :
Num : 75
Num : 75
Static Variable :

Static variables have a property of preserving their value even after they are out of their scope . Hence, static variables preserve their previous value in their previous scope and are not initialized again in the new scope.

Static variables have a property of preserving their value even after they are out of their scope . Hence, static variables preserve their previous value in their previous scope and are not initialized again in the new scope.

Default initial value of static integral type variables are zero otherwise null.

Default initial value of static integral type variables are zero otherwise null.

Static variables may be initialized in their declarations; however, the initializes must be constant expressions, and initialization is done only once at compile time when memory is allocated for the static variable.

Static variables may be initialized in their declarations; however, the initializes must be constant expressions, and initialization is done only once at compile time when memory is allocated for the static variable.
      Example :

#include <stdio.h>
static int i=10;
int main(){
    i=5;
    for(i=0;i<5;i++){
         static int a=10; //This statement will execute
                          //only time.
         printf("%d",a++);//This statement will execute
                          //five times.
    }  
    return 0;
}

Output: 10 11 12 13 14
 
Virtual Memory is a space where large programs can store themselves in form of pages while their execution and only the required pages or portions of processes are loaded into the main memory .
The operating system manages virtual address spaces and the assignment of real memory to virtual memory.
The purpose of virtual memory is to enlarge the address space, the set of addresses a program can utilize. For example, virtual memory might contain twice as many addresses as main memory.
 
Hashing is one simple option for this. We can put all words in a hash table .But 
the worst case running time would be O(n) where n would be the total number of elements in dictionary . 
so we have used Trie which have 
 Worst case time taken in case of Trie is O(m) where m is the length of string .

 for detail review :http://www.geeksforgeeks.org/data-structure-dictionary-spell-checker/
A stack frame is a memory management strategy used to create and destroy temporary (automatic) variables in some programming languages .
The stack frame is a procedure contains all necessary information to save and restore the state of a procedure.
Each stack frame contains space for actual parameter, local variables, temporary locations etc .
The stack frames are allocated in a region of memory called the call stack .
Threads can directly communicate with other threads of its process; processes must use inter process communication to communicate with sibling processes.
Both process and threads are independent path of execution but one process can have multiple Threads.
Each process has its own code, data and kernel context (VM structures, descriptor table, etc). While the threads of a process, they share the same code, data and kernel context.
New threads are easily created. However the creation of new processes require duplication of the parent process.
Processes are heavily dependent on system resources available while threads require minimal amounts of resource, so a process is considered as heavyweight while a thread is termed as a lightweight process.
Defragmentation is the process of locating the non contiguous fragments of data into which a computer file may be divided as it is stored on a hard disk, and rearranging the fragments and restoring them into fewer fragments or into the whole file.
It also attempts to create larger regions of free space using compaction to impede the return of fragmentation .
Defragmentation works by locating file fragments that are scattered and putting them back together. The purpose is to decrease file access times and increase space on the hard-drive.


 
An access code is a password you use to access course content online. The content you access depends on the course, but can include things such as practice exam questions, interactive videos to help you understand course concepts, and course assignments.
Access code may refer to:
In authentication:
Password, a secret word
Personal Identification Number (PIN), a secret numeric code .
Cookie is a piece of code that are transmitted by a server to the client browser .
Cookies were designed to be a reliable mechanism for websites to remember stateful information .
Cookies may also be called a web cookie, Internet cookie,browser cookie or HTTP cookie.
Advantage :
Authorization .
Faster response .
 Pseudo code :
c=0 s1=Head;
while(Head!=0)
{
   c=c+1;
   s1=s1->next;

}
c=ceil(c/2);
while(c!=1){

     c=c-1;
     Head=Head->next;
}
return(Head);
 In level order traversal, we visit the nodes level by level from left to right. 


 
AVL tree is a self-balancing Binary Search Tree (BST) where  the height of the two child sub trees of any node differ by at most one .
If at any time they differ by more than one, rebalancing is done to restore this property. Lookup, insertion, and deletion .
       Example :
The above tree is AVL because differences between heights of left and right subtrees for every node is less than or equal to 1.
for detail refer : http://www.geeksforgeeks.org/avl-tree-set-1-insertion/
XML file validated by compile the XML file with a XML compiler (DTD or XML schema) .
DTD contain he pre-defined XML structure to cover the possible errors in the developed XML file .
XML file is valid if and only if its satisfy the following constraints .
Every opening tag must contain the corresponding closing tag .
No-overlapping tag in a XML file .
It is not possible to test for NULL values with comparison operators, such as =, <, or <>.
We will have to use the IS NULL and IS NOT NULL operators .
Syntax :
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
HashMap is similar to Hash table with two exceptions .Basically HashMap methods are unsynchronized and it can allow null key and also null value which cannot allow in Hash table .HashMap maintain the key and value pairs <Key,Value> .
It is not an ordered collection which means it does not return the keys and values in the same order in which they have been inserted into the HashMap. It neither does any kind of sorting to the stored keys and Values.
Create and add objects in Hash-map in Java 
HashMap<String, Integer> cache = new HashMap<String, Integer>();
Trie is an ordered tree data structure that uses strings as keys. Unlike Binary Trees, Tries  store keys associated with the node. The key is actually determined based on the position of the node on the tree.All the descendants of a node have a common prefix of the string associated with that node, and the root is associated with the empty string .
Since this data structure is a prefix tree, trie is commonly used in Dictionaries, Phone Directories and matching algorithms.
A trie for keys "A","to", "tea", "ted", "ten", "i", "in", and "inn".
Optimization using dynamic programming :
#include<iostream>
 
using namespace std;
#define tiff(i,n) for(int i=0;i<n;i++)
 
struct ds{
  
 int zero;
 int ones;
  
};
typedef struct ds solution;
solution arr[10000];
 
solution easyopti(int n){
 if(n<0)
 {
  solution tmp ;
  tmp.zero =0;
  tmp.ones =0;
 return tmp;
 }
  
  
  arr[0].zero=1;
  arr[0].ones=0;
   
  arr[1].zero=1;
  arr[1].ones=1;
   
  arr[2].zero=2;
  arr[2].ones=1;
   
  arr[3].zero=4;
  arr[3].ones=2;
  
 if(n==0)return arr[0];
  
 else if(n==1)return arr[1];
  
  else if(n==2)return arr[2];
  
 else if(n==3)return arr[3];
  
 else{
   
 for(int i = 4;i<=n;i++){
  arr[i].zero = arr[i-1].zero+arr[i-2].zero+arr[i-3].zero;
  arr[i].ones = arr[i-1].ones+arr[i-2].ones+arr[i-3].ones; 
 }
  
  }
 return arr[n];
}
int main(){
  
solution a= easyopti(10);
 cout<<a.zero<<"  "<<a.ones<<endl;
  
}
Post order are tree traversal are given below .

Traverse the left sub tree of R in post order.
Traverse the right sub tree of R in post order.
Process the root R.


Traverse the left sub tree of R in post order.
Traverse the right sub tree of R in post order.
Process the root R.
/* Recursive function to print the elements of a binary tree 
with postorder traversal*/
void postorder(struct btreenode *node)
{
  if (node != NULL)
  {
    postorder(node->left);   
    postorder(node->right);
    printf("%d", node->data);
  }
}
Example :
Post-order: A, C, E, D, B, H, I, G, F.
Inorder are tree traversal are given below

Traverse the left subtree of R in inorder.
Process the root R.
Traverse the right subtree of R in inorder.


Traverse the left subtree of R in inorder.
Process the root R.
Traverse the right subtree of R in inorder.
/* Recursive function to print the elements of a binary tree with 
inorder traversal*/
void inorder(struct btreenode *node)
{
  if (node != NULL)
  {
    inorder(node->left);   
    printf("%d", node->data);
    inorder(node->right);
  }
}
Example :
In-order: A, B, C, D, E, F, G, H, I.
Preorder are tree traversal are given below 
	
Process the root R.
Traverse the left subtree of R in preorder.
Traverse the right subtree of R in preorder.


Process the root R.
Traverse the left subtree of R in preorder.
Traverse the right subtree of R in preorder.
/* Recursive function to print the elements 
of a binary tree with preorder traversal*/
void preorder(struct btreenode *node)
{
  if (node != NULL)
  {
    printf("%d", node->data);
    preorder(node->left);
    preorder(node->right);
  }
}
Example :
Pre-order: F, B, A, D, C, E, G, I, H.
Inversion Count for an array indicates – how far (or close) the array is from being sorted. If array is already sorted then inversion count is 0. If array is sorted in reverse order that inversion count is the maximum. 
Formally speaking, two elements a[i] and a[j] form an inversion if a[i] > a[j] and i < j .
Example:
The sequence 2, 4, 1, 3, 5 has three inversions (2, 1), (4, 1), (4, 3).
code :
for(i=0 to n-2 ) 
{ 
   for(j=i+1 to n-1) 
     if(a[i] > a[j]) 
       count++; 
} 

Time-complexity = O(n^2) 

By merge-sort- it is O(n logn)
for detail review refer: http://www.geeksforgeeks.org/counting-inversions/
A stack is an abstract data type which operate basically two fundamental principals 

push() − Pushing (storing) an element on the stack.

push() − Pushing (storing) an element on the stack.

pop() − Removing (accessing) an element from the stack.

pop() − Removing (accessing) an element from the stack.
The order in which elements come off a stack gives rise to its alternative name, LIFO (for last in, first out).
Implementation of stack :Using Array
Pseudo Code :
Push(S,N,x,top)
{
if(top+1==N)
 {
   print("Stack is overflow");
}
else 
{
     top++;
     S[top]=x;
}

}
POP(S,N,top)
{
if(top==-1)
 {
   print("Stack is underflow");
     exit(1);
}
else 
{
     
     y=S[top];
      top--;
      return(y);
}

}
Uses of Stack :
Expression evaluation and syntax parsing .

Backtracking .

Backtracking .

Parsing .

Parsing .
Recursive Function .
 
 
 
 
 
New state : Initially process will be in New state . It means process is under creation or process is being created .
Ready state : Once the process is created it will be moved on to ready state . In the ready state there will be multiple number of process .
Running state : One of the process will be selected from the ready state and dispatched on to the running state .When the process in the running state it occupied the CPU and executing the instruction of the process and performing CPU time .In the running state one process at any point of the time .
Wait or Block state : If the running process required any input output then it will come to wait state .In the wait state there will be multiple number of process .It means multiple process will perform input output operation simultaneously .
Suspended Ready : If the resources are not sufficient to maintain the process in the ready state the some of the process will suspended and they will be moved on to suspended ready state . If the process in the suspended ready state it is reside in the backing store (Secondary memory) .
Suspend wait or Block state : If the resources are not sufficient to maintain the process in the wait or block state then some of the process (Low priority) will be suspended and they will be moved to the suspended waiting or block state. In this process is reside in the backing store .
          
 
                                   Cycle Detection (Single Instance)
If all the resources are of Single Instance Type then the Cycle in the Resource Allocation Graph is necessary and sufficient condition for occurring of deadlock .
If all the resources of a not single instance type then cycle in the resource allocation graph is just a necessary condition but not sufficient condition for occurring of deadlock ..
 

Monitors is a programming language compiler support type of solution achieved synchronization .
The Monitors is collection of variables , conditional variable and procedure combine together in a special kind of module and package .
The processes running outside the monitor cannot directly access the internal variables of the monitor but how ever they can call procedure of the Monitor .
Monitor has important property that only one process can be active inside the monitor at any point of time .

Monitors is a programming language compiler support type of solution achieved synchronization .
The Monitors is collection of variables , conditional variable and procedure combine together in a special kind of module and package .
The processes running outside the monitor cannot directly access the internal variables of the monitor but how ever they can call procedure of the Monitor .
Monitor has important property that only one process can be active inside the monitor at any point of time .
Syntax of Monitor :  
Pseudo code  
   Fibo(n)
{
     if(n==0)
     return(0) ;
    
     if(n==1)
     return(1);

    else
 return(fibo(n-1)+fibo(n-2));
   
 }
Recurrence relation
Example :
 Time Complexity :
         fibo(n)
           ||
          n-level-Complete Binary tree [upper bound]
           ||
          2^n -1 nodes
           ||
          2^n function calls
           || 
          O(2^n)
Pseudo code 
Reverse(head)
{
  r=head,p=q=null ;

  while(r)
{
    p=q;
    q=r;
    r=r->next;
    q->next=p;


}
  head=q;
  return(head);

}

Image Acquisition : This is the first step or process of the fundamental steps of digital image processing. Image acquisition could be as simple as being given an image that is already in digital form. Generally, the image acquisition stage involves pre processing, such as scaling etc.
Image Enhancement : Image enhancement is among the simplest and most appealing areas of digital image processing. Basically, the idea behind enhancement techniques is to bring out detail that is obscured, or simply to highlight certain features of interest in an image. Such as, changing brightness & contrast etc.
Image Restoration : Image restoration is an area that also deals with improving the appearance of an image. However, unlike enhancement, which is subjective, image restoration is objective, in the sense that restoration techniques tend to be based on mathematical or probabilistic models of image degradation.
Color Image Processing : Color image processing is an area that has been gaining its importance because of the significant increase in the use of digital images over the Internet. This may include color modeling and processing in a digital domain etc.
Wavelets and Multiresolution Processing : Wavelets are the foundation for representing images in various degrees of resolution. Images subdivision successively into smaller regions for data compression and for pyramidal representation.
Compression : Compression deals with techniques for reducing the storage required to save an image or the bandwidth to transmit it. Particularly in the uses of internet it is very much necessary to compress data.

Image Acquisition : This is the first step or process of the fundamental steps of digital image processing. Image acquisition could be as simple as being given an image that is already in digital form. Generally, the image acquisition stage involves pre processing, such as scaling etc.
Image Enhancement : Image enhancement is among the simplest and most appealing areas of digital image processing. Basically, the idea behind enhancement techniques is to bring out detail that is obscured, or simply to highlight certain features of interest in an image. Such as, changing brightness & contrast etc.
Image Restoration : Image restoration is an area that also deals with improving the appearance of an image. However, unlike enhancement, which is subjective, image restoration is objective, in the sense that restoration techniques tend to be based on mathematical or probabilistic models of image degradation.
Color Image Processing : Color image processing is an area that has been gaining its importance because of the significant increase in the use of digital images over the Internet. This may include color modeling and processing in a digital domain etc.
Wavelets and Multiresolution Processing : Wavelets are the foundation for representing images in various degrees of resolution. Images subdivision successively into smaller regions for data compression and for pyramidal representation.
Compression : Compression deals with techniques for reducing the storage required to save an image or the bandwidth to transmit it. Particularly in the uses of internet it is very much necessary to compress data.
Face detection can be regarded as a specific case of object-class detection. In object-class detection, the task is to find the locations and sizes of all objects in an image that belong to a given class. Examples include upper torsos, pedestrians, and cars.
Face-detection algorithms focus on the detection of frontal human faces. It is analogous to image detection in which the image of a person is matched bit by bit. Image matches with the image stores in database. Any facial feature changes in the database will invalidate the matching process.
refers :https://en.wikipedia.org/wiki/Face_detection
 
Edge detection includes a variety of mathematical methods that aim at identifying points in a digital image at which the image brightness changes sharply or, more formally, has discontinuities. The points at which image brightness changes sharply are typically organized into a set of curved line segments termed edges. The same problem of finding discontinuities in one-dimensional signals is known as step detection and the problem of finding signal discontinuities over time is known as change detection. Edge detection is a fundamental tool in image processing, machine vision and computer vision, particularly in the areas of feature detection and feature extraction . 
refers : https://en.wikipedia.org/wiki/Edge_detection
Searching a key :
To search a given key in Binary Search Tree, we first compare it with root, if the key is present at root, we return root. If key is greater than root’s key, we recur for right sub tree of root node. Otherwise we recur for left sub tree.
// C function to search a given key in a given BST
struct node* search(struct node* root, int key)
{
    // Base Cases: root is null or key is present at root
    if (root == NULL || root->key == key)
       return root;
    
    // Key is greater than root's key
    if (root->key < key)
       return search(root->right, key);
 
    // Key is smaller than root's key
    return search(root->left, key);
}
Insertion of a key :
A new key is always inserted at leaf. We start searching a key from root till we hit a leaf node. Once a leaf node is found, the new node is added as a child of the leaf node.
    100                               100
        /   \        Insert 40            /    \
      20     500    --------->          20     500 
     /  \                              /  \  
    10   30                           10   30
                                              \   
                                              40
// C program to demonstrate insert operation in binary search tree
#include<stdio.h>
#include<stdlib.h>
  
struct node
{
    int key;
    struct node *left, *right;
};
  
// A utility function to create a new BST node
struct node *newNode(int item)
{
    struct node *temp =  (struct node *)malloc(sizeof(struct node));
    temp->key = item;
    temp->left = temp->right = NULL;
    return temp;
}
  
// A utility function to do inorder traversal of BST
void inorder(struct node *root)
{
    if (root != NULL)
    {
        inorder(root->left);
        printf("%d \n", root->key);
        inorder(root->right);
    }
}
  
/* A utility function to insert a new node with given key in BST */
struct node* insert(struct node* node, int key)
{
    /* If the tree is empty, return a new node */
    if (node == NULL) return newNode(key);
 
    /* Otherwise, recur down the tree */
    if (key < node->key)
        node->left  = insert(node->left, key);
    else if (key > node->key)
        node->right = insert(node->right, key);   
 
    /* return the (unchanged) node pointer */
    return node;
}
  
// Driver Program to test above functions
int main()
{
    /* Let us create following BST
              50
           /     \
          30      70
         /  \    /  \
       20   40  60   80 */
    struct node *root = NULL;
    root = insert(root, 50);
    insert(root, 30);
    insert(root, 20);
    insert(root, 40);
    insert(root, 70);
    insert(root, 60);
    insert(root, 80);
  
    // print inoder traversal of the BST
    inorder(root);
  
    return 0;
}
Time Complexity: The worst case time complexity of search and insert operations is O(h) where h is height of Binary Search Tree. In worst case, we may have to travel from root to the deepest leaf node. The height of a skewed tree may become n and the time complexity of search and insert operation may become O(n).
for detail refer as :http://quiz.geeksforgeeks.org/binary-search-tree-set-1-search-and-insertion/
In order to find common node of two linked lists we need to consider one of the important factor - length of linked list. If length of both linked list is same then it is just a cake walk, iterate both linked list with same frequency(one node at a time) and check whether both linked list reference same node at any point, if intersection node exist we will find it, else reaches at end of list. However, problem is all about two linked list of different length.Refer following diagram, length of first linked list is 4 and 3 for second one. We will start with brute force approach followed by some time efficient ways.
Brute force approach- Iterate any given linked list for every node of another linked list and compare if both nodes are equals or not, if at any moment nodes passes equals() test that nodde is common node, otherwise no common node exist. Time and space complexity :-  Suppose length of linked lists are p and q respectively then, time complexity is O(pq) and space complexity is O(1).
/* Find common node, intersection of two Linked list- brute force approach */
private static Node getCommonNodeBruteForce(Node head1, Node head2) {
 Node commonNode = null;
 Node current = head2;
 if (head1 != null && head2 != null)
  /*For each node of linked list 1, traverse linked list 2*/
  while (head1 != null) {
 while (current != null) {
  if (current.equals(head1)) {
   commonNode = current;
   break;
  }
  current = current.next;
 }
 /*If commonNode is not null, it means we have found common node*/
 if (commonNode != null) {
  break;
 }
 /* Move linked list 1 head and reset current 
  * to head2 (for each node of linked list 1, traverse linked list 2)
  * */
   head1 = head1.next;
   current = head2;
  }
 return commonNode;
}
Method 2(Using difference of node counts)
1) Get count of the nodes in first list, let count be c1.
2) Get count of the nodes in second list, let count be c2.
3) Get the difference of counts d = abs(c1 – c2)
4) Now traverse the bigger list from the first node till d nodes so that from here onwards both the lists have equal no of nodes.
5) Then we can traverse both the lists in parallel till we come across a common node. (Note that getting a common node is done by comparing the address of the nodes)
for Detail refer this link :http://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/
Virtual Function is a function in base class, which is override in the derived class, and which tells the compiler to perform Late Binding on this function.Virtual Keyword is used to make a member function of the base class Virtual.
Example :
Definitions :

Overloading occurs when two or more methods in one class have the same method name but different parameters.

Overloading occurs when two or more methods in one class have the same method name but different parameters.

Overriding means having two methods with the same method name and parameters (i.e., method signature). One of the methods is in the parent class and the other is in the child class. Overriding allows a child class to provide a specific implementation of a method that is already provided its parent class .

Overriding means having two methods with the same method name and parameters (i.e., method signature). One of the methods is in the parent class and the other is in the child class. Overriding allows a child class to provide a specific implementation of a method that is already provided its parent class .
Overriding vs. Overloading
Here are some important facts about Overriding and Overloading:
When a method by an object is called, Java matches up the method name first and then the number and data type of parameters to decide which one of the overloaded methods to execute. i.e., compiler decides which method is to be called depending upon the number of parameters .
A subclass will override the method by facilitating its own functionality to it ( by using @override) .
Access modifier & Non access modifier can also be changed in overloading .
but in overriding Non access modifier – final :if a method can contain final keyword in a parent class we cannot override. static:if a method can contain static keyword child cannot override parent class methods but hide (child).
Polymorphism applies to overriding, not to overloading.
Overriding is a run-time concept while overloading is a compile-time concept .
An Example of Overriding
class Cat{
    public void hello(){
        System.out.println("woof ");
    }
}
class Help extends Cat{
    public void sniff(){
        System.out.println("sniff ");
    }
 
    public void hello(){
        System.out.println("bowl");
    }
}
 
public class OverridingTen{
    public static void main(String [] args){
        Cat cat = new Help();
        Cat.hello();
    }
}
In the example above, the cat variable is declared to be a Cat. During compile time, the compiler checks if the Cat class has the bark() method. As long as the Cat class has the bark() method, the code compilers. At run-time, a Help is created and assigned to cat. The JVM knows that cat is referring to the object of Help, so it calls the bark() method of Help. This is called Dynamic Polymorphism .
Output :
bowl
An Example of Overloading :
class Cat{
    public void Test(){
        System.out.println("woofing ");
    }
 
    //overloading method
    public void Test(int num){
    	for(int i=0; i<num; i++)
    		System.out.println("woofing ");
    }
}
In this overloading example, the two Test method can be invoked by using different parameters. Compiler know they are different because they have different method signature (method name and method parameter list).
output :
woofing
If the pivot divides the array into two pieces of roughly the same size each time, then Quicksort behaves like Mergesort with log n splits of the array. More precisely,
T(n) = f(n) + T(n/2) + T(n/2)
where f(n) is the time taken by Partition. Since Partition compares every key in
A[0 .. (n - 1)]
to the pivot x, the running time for partition is linear, with time complexity f(n) = n. So Quicksort has a time complexity function T given by
T(1) = 1 T(n) = 2T(n/2) + n
which, like mergesort, has the solution
T(n) = n log n + n and so is Θ(n log n).
But this is if the pivot divides the array in a balanced way.
Binary Search: Search a sorted array by repeatedly dividing the search interval in half. Begin with an interval covering the whole array. If the value of the search key is less than the item in the middle of the interval, narrow the interval to the lower half. Otherwise narrow it to the upper half. Repeatedly check until the value is found or the interval is empty.
Example:
The idea of binary search is to use the information that the array is sorted and reduce the time complexity to O(Logn).
source :http://quiz.geeksforgeeks.org/binary-search/
The solution uses a two pointers (traversing the list two items at a time)  If there is a loop, then the one pointer will go around the loop twice as fast as the another pointer. At one point, these two pointers will point to the same item. Here’s some code to make this clearer. 
bool hasLoop( Node *p )
{
    Node *p, *q;
    p = q = headNode;
    while( p && q && q->next )
    {
        if( p == q->next || p== q->next->next )
        {
            return true;
        }
        p = p->next;
        q = q->next->next;
    }
    return false;
}

To implement DFS we are using Stack data structure .
Time Complexity : O(V+E) .
Space Complexity : O(V+E) .
In DFT (Depth first traversal ) is printed and if adjacent is not present then using backtracking we print adjacent .

To implement DFS we are using Stack data structure .
Time Complexity : O(V+E) .
Space Complexity : O(V+E) .
In DFT (Depth first traversal ) is printed and if adjacent is not present then using backtracking we print adjacent .
        Application of DFS :

Using DFT we can check given graph is connected or not .
Using DFT we can find out number of connected component in a given graph .
Using DFT we can check given graph contain cycle or not .
Using DFT we can check given directed graph is strongly connected or not.
Find out Biconnected Component and Euler path .
Compute number of path  between two vertex .
Using DFT we can check a vertex in Articulation point or not .

Using DFT we can check given graph is connected or not .
Using DFT we can find out number of connected component in a given graph .
Using DFT we can check given graph contain cycle or not .
Using DFT we can check given directed graph is strongly connected or not.
Find out Biconnected Component and Euler path .
Compute number of path  between two vertex .
Using DFT we can check a vertex in Articulation point or not .
A vertex in a given graph is said to be articulation point iff by deleting that vertex together its edges then resulting graph is disconnected .
     DFS Pseudo code :

To implement BFT (Breadth first traversal) we are using Queue data structure .
BFT is also known as level order traversal .
In BFT all adjacent are printed .
Time Complexity : O(V+E) .
Space Complexity : O(V+E) .

To implement BFT (Breadth first traversal) we are using Queue data structure .
BFT is also known as level order traversal .
In BFT all adjacent are printed .
Time Complexity : O(V+E) .
Space Complexity : O(V+E) .
          Application :

Using BFT we can check given graph is connected or not.
Using BFT we can find out connected component in given graph .
Using BFT we can check given graph contain cycle or not .
Using BFT we can find out shortest path from given source to every vertex in a given unweighted graph (Dijkstra Algorithm) .
Using BFT we can check given graph is bipartite graph or not .
Queue and Greedy Technique .
Using for Topology sort and Dijkstra algorithm .
Find Transitive closure of a graph . 

Using BFT we can check given graph is connected or not.
Using BFT we can find out connected component in given graph .
Using BFT we can check given graph contain cycle or not .
Using BFT we can find out shortest path from given source to every vertex in a given unweighted graph (Dijkstra Algorithm) .
Using BFT we can check given graph is bipartite graph or not .
Queue and Greedy Technique .
Using for Topology sort and Dijkstra algorithm .
Find Transitive closure of a graph . 
    
 

Bridge is LAN device and its operation is based on MAC protocol .
Bridge is used to connecting similar LAN.
Initially the Bridge table of the Bridge will be empty .

Bridge is LAN device and its operation is based on MAC protocol .
Bridge is used to connecting similar LAN.
Initially the Bridge table of the Bridge will be empty .
Whenever  frame reaches to the Bridge it will store in a buffer and a Dummy frame is created with destination address of the frame and is broadcast on the other LAN .
If their is reply then Bridge will update the table with destination address this is known as Learning .
 Now the data that is stored in a buffer of the Bridge is transmitted to the other side of the LAN this is known as Forwarding.
When the data is transmitted to the same side of the LAN it is known as Blocking .
When Bridge known the complete information of the network its is Stable and Converse .
        

Router is WAN device an its operation is based on IP address .
Router is used for connecting different classes of networks .
By default Router is Broadcast Domain Separator .
Router is used for connecting different networks (Bus topology , Ring topology) .
Router is not a multi-protocol convertor because it cannot convert one model of the packet to another .
By default Router is a Collision Domain Separator .

Router is WAN device an its operation is based on IP address .
Router is used for connecting different classes of networks .
By default Router is Broadcast Domain Separator .
Router is used for connecting different networks (Bus topology , Ring topology) .
Router is not a multi-protocol convertor because it cannot convert one model of the packet to another .
By default Router is a Collision Domain Separator .

Text Based Protocol

  By default SMTP is text based protocol but we can send Graphical data with the help of MIME (Multi-media Internet Mail Extension) 



SMTP uses port 25.


SMTP is a Post protocol it is used for sending the mail into mail server.


POP3 or (IMAP4) are known for the Pull protocol because they are used for retrieving the mail from mail server .


SMTP combine with POP3 or IMAP4 is client to client protocol with mediation done by mail server .


SMTP used TCP as a transport layer protocol.


SMTP is an asynchronies because the clocks of both clients need not synchronize.


SMTP follows store and forward technique with the respect of server .


Priority to the mail is provided by IMAP4 where as POP3 is considered all mail are equal.


IMAP4 providing security for the file mare are attached but this facility not available on POP3. 


Text Based Protocol

  By default SMTP is text based protocol but we can send Graphical data with the help of MIME (Multi-media Internet Mail Extension) 


  By default SMTP is text based protocol but we can send Graphical data with the help of MIME (Multi-media Internet Mail Extension) 

SMTP uses port 25.

SMTP uses port 25.

SMTP is a Post protocol it is used for sending the mail into mail server.

SMTP is a Post protocol it is used for sending the mail into mail server.

POP3 or (IMAP4) are known for the Pull protocol because they are used for retrieving the mail from mail server .

POP3 or (IMAP4) are known for the Pull protocol because they are used for retrieving the mail from mail server .

SMTP combine with POP3 or IMAP4 is client to client protocol with mediation done by mail server .

SMTP combine with POP3 or IMAP4 is client to client protocol with mediation done by mail server .

SMTP used TCP as a transport layer protocol.

SMTP used TCP as a transport layer protocol.

SMTP is an asynchronies because the clocks of both clients need not synchronize.

SMTP is an asynchronies because the clocks of both clients need not synchronize.

SMTP follows store and forward technique with the respect of server .

SMTP follows store and forward technique with the respect of server .

Priority to the mail is provided by IMAP4 where as POP3 is considered all mail are equal.

Priority to the mail is provided by IMAP4 where as POP3 is considered all mail are equal.

IMAP4 providing security for the file mare are attached but this facility not available on POP3. 

IMAP4 providing security for the file mare are attached but this facility not available on POP3. 

Weekly


Monthly


Overall

Error
Content Related Issue
Software Related Issue