- New Updates Alerts-Subscribe

Our Telegram Channel - Join Us

Our Free Email Alerts - Join Us

Important Note:Login & Check Your
Email Inbox and Activate Confirmation Link

Our Whatsapp Group - Join Us

Technical Interview Materials PDF-Free Download

Technical Interview Q & A PDF

Question 1. What Is An Object In C++?

Answer :

An object is a package that contains related data and instructions. The data relates to what the object represents, while the instructions define how this object relates to other objects and itself. 

• Question 2. What Is A Message?

Answer :

A message is a signal from one object to another requesting that a computation take place. It is roughly equivalent to a function call in other languages. 

• Question 3. What Is A Class?

Answer :

A class defines the characteristics of a certain type of object. It defines what its members will remember, the messages to which they will respond, and what form the response will take. 

• Question 4. What Is An Instance?

Answer :

An individual object that is a member of some class.

• Question 5. What Is A Super-class?

Answer : Given a class, a super-class is the basis of the class under consideration. The given class is defined as a subset (in some respects) of the super-class. Objects of the given class potentially posses all the characteristics belonging to objects of the super-class. • Question 6. What Is Inheritance? Answer :

Inheritance is property such that a parent (or super) class passes the characteristics of itself to children (or sub) classes that are derived from it. The sub-class has the option of modifying these characteristics in order to make a different but fundamentally related class from the super-class. 

• Question 7. To What Does Message Protocol Refer?

Answer :

An object’s message protocol is the exact form of the set of messages to which the object can respond.

• Question 8. What Is Polymorphism?

Answer :

Polymorphism refers to the ability of an object to respond in a logically identical fashion to messages of the same protocol, containing differing types of objects. Consider 1 + 5 and 1 + 5.1. In the former, the message “+ 5” is sent to an object of class integer (1). In the later, the message “+ 5.1” is sent to the same integer object. The form of the message (its protocol) is identical in both cases. What differs is the type of object on the right-hand side of these messages. The former is an integer object (5) while the later is a floating point object (5.1). The receiver (1) appears (to other objects) to respond in the same way to both messages. Internally, however, it knows that it must treat the two types of objects differently in order to obtain the same overall response. 

• Question 9. What Are Instance Variables?

Answer :

These represent an object’s private memory. They are defined in an object’s class.

• Question 10. What Are Class Variables?

Answer :

These represent a class’s memory which it shares with each of its instances.

• Question 11. What Is A Method?

Answer :

A method is a class’s procedural response to a given message protocol. It is like the definition of a procedure in other languages. 

• Question 12. In C++ What Is A Constructor? A Destructor?

Answer :

A constructors and destructors are methods defined in a class that are invoked automatically when an object is created or destroyed. They are used to initialize a newly allocated object and to cleanup behind an object about to be removed. 

• Question 13. Compare And Contrast C And C++.?

Answer :

Comparison: C++ is an extension to the C language. When C++ is used as a procedural language, there are only minor syntactical differences between them. 

Contrast: When used as a procedural language, C++ is a better C because:

• It vigorously enforces data typing conventions.

• It allows variables to be defined where they are used.

• It allows the definition of real (semantically significant) constants.

• It allows for automatic pointer dereferencing.

• It supports call-by-reference in addition to call-by-value in functions.

• It supports tentative variable declarations (when the type and location of a variable cannot be known before hand.

As an object oriented language, C++ introduces much of the OOP paradigm while allowing a mixture of OOP and procedural styles. 

• Question 14. What Is Operator Overloading?

Answer :

It is the process of, and ability to redefine the way an object responds to a C++ operator symbol. This would be done in the object’s class definition. 

• Question 15. What Is Cin And Cout?

Answer :

They are objects corresponding to a program’s default input and output files.

Contrast procedural and object oriented programming.

The procedural paradigm performs computation through a step-by-step manipulation of data items. Solving problems this way is akin to writing a recipe. ie: All the ingredients (data items) are defined. Next a series of enumerated steps (statements) are defined to transform the raw ingredients into a finished meal. The object oriented model, in contrast, combines related data and procedural information into a single package called an object. Objects are meant to represent logically separate entities (like real world objects). Objects are grouped together (and defined by) classes. (This is analogous to user defined data types in procedural languages.) Classes may pass-on their “makeup” to classes derived from them. In this way, Objects that are of a similar yet different nature need not be defined from scratch. Computation occurs though the intercommunication of objects. Programming this way is like writing a play. First the characters are defined with their attributes and personalities. Next the dialog is written so that the personalities interact. The sum total constitutes a drama. 

• Question 16. How Do You Link A C++ Program To C Functions?

Answer :

By using the extern “C” linkage specification around the C function declarations. You should know about mangled function names and type-safe linkages. Then you should explain how the extern “C” linkage specification statement turns that feature off during compilation so that the linker properly links function calls to C functions. 

• Question 17. Explain The Scope Resolution Operator.?

Answer :

The scope resolution operator permits a program to reference an identifier in the global scope that has been hidden by another identifier with the same name in the local scope. The answer can get complicated. It should start with “colon-colon,” however. (Some readers had not heard the term, “scope resolution operator,” but they knew what :: means. You should know the formal names of such things so that you can understand all communication about them.) If you claim to be well into the design or use of classes that employ inheritance, you tend to address overriding virtual function overrides to explicitly call a function higher in the hierarchy. That’s good knowledge to demonstrate, but address your comments specifically to global scope resolution. Describe C++’s ability to override the particular C behavior where identifiers in the global scope are always hidden by similar identifiers in a local scope. 

• Question 18. What Are The Differences Between A C++ Struct And C++ Class?

Answer :

The default member and base class access specifiers are different.

This is one of the commonly misunderstood aspects of C++. Believe it or not, many programmers think that a C++ struct is just like a C struct, while a C++ class has inheritance, access specifiers, member functions, overloaded operators, and so on. Some of them have even written books about C++. Actually, the C++ struct has all the features of the class. The only differences are that a struct defaults to public member access and public base class inheritance, and a class defaults to the private access specifier and private base class inheritance. Getting this question wrong does not necessarily disqualify you because you will be in plenty of good company. Getting it right is a definite plus. 

• Question 19. How Many Ways Are There To Initialize An Int With A Constant? 

There are two formats for initializers in C++ as shown in Example 1. Example 1(a) uses the traditional C notation, while Example 1(b) uses constructor notation. Many programmers do not know about the notation in Example 1(b), although they should certainly know about the first one. Many old-timer C programmers who made the switch to C++ never use the second idiom, although some wise heads of C++ profess to prefer it. A reader wrote to tell me of two other ways, as shown in Examples 2(a) and 2(b), which made me think that maybe the answer could be extended even further to include the initialization of an int function parameter with a constant argument from the caller. 

• Question 20. How Does Throwing And Catching Exceptions Differ From Using Setjmp And Longjmp? 

The throw operation calls the destructors for automatic objects instantiated since entry to the try block. Exceptions are in the mainstream of C++ now, so most programmers, if they are familiar with setjmp and longjmp, should know the difference. Both idioms return a program from the nested depths of multiple function calls to a defined position higher in the program. The program stack is “unwound” so that the state of the program with respect to function calls and pushed arguments is restored as if the calls had not been made. C++ exception handling adds to that behavior the orderly calls to the destructors of automatic objects that were instantiated as the program proceeded from within the try block toward where the throw expression is evaluated. It’s okay to discuss the notational differences between the two idioms. Explain the syntax of try blocks, catch exception handlers, and throw expressions. Then specifically address what happens in a throw that does not happen in a longjmp. Your answer should reflect an understanding of the behavior described in the answer just given. One valid reason for not knowing about exception handling is that your experience is exclusively with older C++ compilers that do not implement exception handling. I would prefer that you have at least heard of exception handling, though. It is not unusual for C and C++ programmers to be unfamiliar with setjmp/ longjmp. Those constructs are not particularly intuitive. A C programmer who has written recursive descent parsing algorithms will certainly be familiar with setjmp/ longjmp. Others might not, and that’s acceptable. In that case, you won’t be able to discuss how setjmp/longjmp differs from C++ exception handling, but let the interview turn into a discussion of C++ exception handling in general. That conversation will reveal to the interviewer a lot about your overall understanding of C++.

Source: Contents are provided by Technicalsymposium Google Group Members. 
Disclaimer: All the above contents are provided by Google Group members. 
Further, this content is not intended to be used for commercial purpose. is not liable/responsible for any copyright issues. Quick Links & Study Notes PDF- Free Download