Interview Questions(All Types Important)

  • Upload
    y7cs880

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

  • 8/8/2019 Interview Questions(All Types Important)

    1/69

    C INTERVIEW QUESTIONS

    1. What does static variable mean?

    Ans: Static variables are the variables which retain their values between the function calls. Theyare initialized only once their scope is within the function in which they are defined.

    2. What is a pointer?

    Ans: Pointers are variables which stores the address of another variable. That variable may be ascalar (including another pointer), or an aggregate (array or structure). The pointed-to object maybe part of a larger object, such as a field of a structure or an element in an array.

    3. What are the uses of a pointer?

    Ans: Pointer is used in the following casesi) It is used to access array elementsii) It is used for dynamic memory allocation.iii) It is used in Call by referenceiv) It is used in data structures like trees, graph, linked list etc.

    4. What is a structure?

    Ans: Structure constitutes a super data type which represents several different data types in asingle unit. A structure can be initialized if it is static or global.

    5. What is a union?

    Ans: Union is a collection of heterogeneous data type but it uses efficient memory utilizationtechnique by allocating enough memory to hold the largest member. Here a single area ofmemory contains values of different types at different time. A union can never be initialized.

    6. What are the differences between structures and union?

    Ans: A structure variable contains each of the named members, and its size is large enough tohold all the members. Structure elements are of same size.A union contains one of the named members at a given time and is large enough to hold thelargest member. Union element can be of different sizes.

    7. What are the differences between structures and arrays?

    Ans: Structure is a collection of heterogeneous data type but array is a collection ofhomogeneous data types.Array

    1-It is a collection of data items of same data type.

    2-It has declaration only3-.There is no keyword.4- array name represent the address of the starting element.Structure

    1-It is a collection of data items of different data type.2- It has declaration and definition3- keyword struct is used4-Structure name is known as tag it is the short hand notation of the declaration.

  • 8/8/2019 Interview Questions(All Types Important)

    2/69

    8. In header files whether functions are declared or defined?

    Ans: Functions are declared within header file. That is function prototypes exist in a headerfile,not function bodies. They are defined in library (lib).

    9. What are the differences between malloc () and calloc ()?

    Ans: Malloc Calloc 1-Malloc takes one argument Malloc(a);where a number of bytes 2-memoryallocated contains garbage values1-Calloc takes two arguments Calloc(b,c) where b no of object and c size of object2-It initializes the contains of block of memory to zerosMalloc takes one argument, memoryallocated contains garbage values.It allocates contiguous memory locations. Calloc takes two arguments, memory allocatedcontains all zeros, and the memory allocated is not contiguous.

    10. What are macros? What are its advantages and disadvantages?

    Ans: Macros are abbreviations for lengthy and frequently used statements. When a macro iscalled the entire code is substituted by a single line though the macro definition is of several

    lines.The advantage of macro is that it reduces the time taken for control transfer as in case offunction.The disadvantage of it is here the entire code is substituted so the program becomeslengthy if a macro is called several times.

    11. Difference between pass by reference and pass by value?

    Ans: Pass by reference passes a pointer to the value. This allows the callee to modify thevariable directly.Pass by value gives a copy of the value to the callee. This allows the callee tomodify the value without modifying the variable. (In other words, the callee simply cannotmodify the variable, since it lacks a reference to it.)

    12. What is static identifier?

    Ans: A file-scope variable that is declared static is visible only to functions within that file. Afunction-scope or block-scope variable that is declared as static is visible only within that scope.Furthermore, static variables only have a single instance. In the case of function- or block-scopevariables, this means that the variable is not automatic and thus retains its value acrossfunction invocations.

    13. Where is the auto variables stored?

    Ans: Auto variables can be stored anywhere, so long as recursion works. Practically, theyrestored onthe stack. It is not necessary that always a stack exist. You could theoretically allocate functioninvocation records from the heap.

    14. Where does global, static, and local, register variables, free memory and C Program

    instructions get stored?

    Ans: Global: Wherever the linker puts them. Typically the BSS segment on many platforms.Static: Again, wherever the linker puts them. Often, theyre intermixed with the globals. Theonly difference between globals and statics is whether the linker will resolve the symbols across

  • 8/8/2019 Interview Questions(All Types Important)

    3/69

    compilation units.Local: Typically on the stack, unless the variable gets register allocated andnever spills.Register: Nowadays, these are equivalent to Local variables. They live on the stackunless they get register-allocated.

    15. Difference between arrays and linked list?

    Ans: An array is a repeated pattern of variables in contiguous storage. A linked list is a set ofstructures scattered through memory, held together by pointers in each element that point to thenext element. With an array, we can (on most architectures) move from one element to the nextby adding a fixed constant to the integer value of the pointer. With a linked list, there is a nextpointer in each structure which says what element comes next.

    16. What are enumerations?

    Ans: They are a list of named integer-valued constants. Example:enum color { black , orange=4,yellow, green, blue, violet };This declaration defines the symbols black, orange, yellow,etc. to have the values 1, 4, 5, etc. The difference between an enumeration and a macrois that the enum actually declares a type, and therefore can be type checked.

    17. Describe about storage allocation and scope of global, extern, static, local and register

    variables?

    Ans:

    Globals have application-scope. Theyre available in any compilation unit that includes anappropriate declaration (usually brought from a header file). Theyre stored wherever the linkerputs them, usually a place called the BSS segment.Extern? This is essentially global.Static: Stored the same place as globals, typically, but only available to the compilation unit thatcontains them. If they are block-scope global, only available within that block and its subblocks.Local: Stored on the stack, typically. Only available in that block and its subblocks.

    (Although pointers to locals can be passed to functions invoked from within a scope where thatlocal is valid.)Register: See tirade above on local vs. register. The only difference is thatthe C compiler will not let you take the address of something youve declared as register.

    18. What are register variables? What are the advantages of using register variables?

    Ans: If a variable is declared with a register storage class,it is known as register variable.Theregister variable is stored in the cpu register instead of main memory.Frequently used variablesare declared as register variable as its access time is faster.

    19. What is the use of typedef?

    Ans: The typedef help in easier modification when the programs are ported to another machine.A descriptive new name given to the existing data type may be easier to understand the code.

    20. Can we specify variable field width in a scanf() format string? If possible how?

    Ans: All field widths are variable with scanf(). You can specify a maximum field width for agivenfield by placing an integer value between the % and the field type specifier. (e.g. %64s). Such aspecifier will still accept a narrower field width.

  • 8/8/2019 Interview Questions(All Types Important)

    4/69

    The one exception is %#c (where # is an integer). This reads EXACTLY # characters, and it istheonly way to specify a fixed field width with scanf().

    21. Out of fgets() and gets() which function is safe to use and why?

    Ans: fgets() is safer than gets(), because we can specify a maximum input length. Neither one iscompletely safe, because the compiler cant prove that programmer wont overflow the buffer hepass to fgets ().

    22. Difference between strdup and strcpy?

    Ans: Both copy a string. strcpy wants a buffer to copy into. strdup allocates a buffer usingmalloc().Unlike strcpy(), strdup() is not specified by ANSI .

    23. What is recursion?

    Ans: A recursion function is one which calls itself either directly or indirectly it must halt at a

    definite point to avoid infinite recursion.

    24. Differentiate between for loop and a while loop? What are it uses?

    Ans: For executing a set of statements fixed number of times we use for loop while when thenumber ofiterations to be performed is not known in advance we use while loop.

    25. What is storage class? What are the different storage classes in C?

    Ans: Storage class is an attribute that changes the behavior of a variable. It controls the lifetime,scope and linkage. The storage classes in c are auto, register, and extern, static, typedef.

    26. What the advantages of using Unions?Ans: When the C compiler is allocating memory for unions it will always reserve enough roomfor thelargest member.

    27. What is the difference between Strings and Arrays?

    Ans: String is a sequence of characters ending with NULL .it can be treated as a one dimensionalarrayof characters terminated by a NULL character.

    28. What is a far pointer? Where we use it?

    Ans: In large data model (compact, large, huge) the address B0008000 is acceptable because inthesemodel all pointers to data are 32bits long. If we use small data model(tiny, small, medium) theabove address wont work since in these model each pointer is 16bits long. If we are working ina small data model and want to access the address B0008000 then we use far pointer. Far pointeris always treated as a 32bit pointer and contains a segment address and offset address both of16bits each. Thus the address is represented using segment : offset format B000h:8000h. For anygiven memory address there are many possible far address segment : offset pair. The segment

  • 8/8/2019 Interview Questions(All Types Important)

    5/69

    register contains the address where the segment begins and offset register contains the offset ofdata/code from where segment begins.

    29. What is a huge pointer?

    Ans: Huge pointer is 32bit long containing segment address and offset address. Huge pointers

    arenormalized pointers so for any given memory address there is only one possible huge addresssegment: offset pair. Huge pointer arithmetic is doe with calls to special subroutines so itsarithmetic slower than any other pointers.

    30. What is a normalized pointer, how do we normalize a pointer?

    Ans: It is a 32bit pointer, which has as much of its value in the segment register as possible.Sincea segment can start every 16bytes so the offset will have a value from 0 to F. for normalizationconvert the address into 20bit address then use the 16bit for segment address and 4bit for theoffset address. Given a pointer 500D: 9407,we convert it to a 20bitabsolute address

    549D7,Which then normalized to 549D:0007.

    31. What is near pointer?

    Ans: A near pointer is 16 bits long. It uses the current content of the CS (code segment) register(ifthe pointer is pointing to code) or current contents of DS (data segment) register (if the pointer ispointing to data) for the segment part, the offset part is stored in a 16 bit near pointer. Using nearpointer limits the data/code to 64kb segment.

    32. In C, why is the void pointer useful? When would you use it?

    Ans: The void pointer is useful because it is a generic pointer that any pointer can be cast into

    andback again without loss of information.

    33. What is a NULL Pointer? Whether it is same as an uninitialized pointer?

    Ans: Null pointer is a pointer which points to nothing but uninitialized pointer may point toanywhere.

    34. Are pointers integer?

    Ans: No, pointers are not integers. A pointer is an address. It is a positive number.

    35. What does the error Null Pointer Assignment means and what causes this error?

    Ans: As null pointer points to nothing so accessing a uninitialized pointer or invalid locationmay cause an error.

    36. What is generic pointer in C?

    Ans: In C void* acts as a generic pointer. When other pointer types are assigned to genericpointer,conversions are applied automatically (implicit conversion).

  • 8/8/2019 Interview Questions(All Types Important)

    6/69

    37. Are the expressions arr and &arr same for an array of integers?

    Ans: Yes for array of integers they are same.

    38. IMP>How pointer variables are initialized?

    Ans: Pointer variables are initialized by one of the following ways.

    I. Static memory allocationII. Dynamic memory allocation

    39. What is static memory allocation?

    Ans: Compiler allocates memory space for a declared variable. By using the address of operator,thereserved address is obtained and this address is assigned to a pointer variable. This way ofassigning pointer value to a pointer variable at compilation time is known as static memoryallocation.

    40. What is dynamic memory allocation?

    Ans: A dynamic memory allocation uses functions such as malloc() or calloc() to get memorydynamically. If these functions are used to get memory dynamically and the values returned bythese function are assigned to pointer variables, such a way of allocating memory at run time isknown as dynamic memory allocation.

    41. What is the purpose of realloc?

    Ans: It increases or decreases the size of dynamically allocated array. The function realloc(ptr,n) uses two arguments. The first argument ptr is a pointer to a block of memory for whichthe size is to be altered. The second argument specifies the new size. The size may be increasedor decreased. If sufficient space is not available to the old region the function may create a newregion.

    42. What is pointer to a pointer?

    Ans: If a pointer variable points another pointer value. Such a situation is known as a pointer to apointer.Example:int *p1,**p2,v=10;P1=&v; p2=&p1;Here p2 is a pointer to a pointer.

    43. What is an array of pointers?

    Ans: if the elements of an array are addresses, such an array is called an array of pointers.

    44. Difference between linker and linkage?

    Ans: Linker converts an object code into an executable code by linking together the necessarybuilt infunctions. The form and place of declaration where the variable is declared in a programdetermine the linkage of variable.

  • 8/8/2019 Interview Questions(All Types Important)

    7/69

    45. Is it possible to have negative index in an array?

    Ans: Yes it is possible to index with negative value provided there are data stored in thislocation. Even if it is illegal to refer to the elements that are out of array bounds, the compilerwill not produce error because C has no check on the bounds of an array.

    46. Why is it necessary to give the size of an array in an array declaration?Ans: When an array is declared, the compiler allocates a base address and reserves enough spaceinmemory for all the elements of the array. The size is required to allocate the required space andhence size must be mentioned.

    47. What modular programming?

    Ans: If a program is large, it is subdivided into a number of smaller programs that are calledmodules or subprograms. If a complex problem is solved using more modules, this approach isknown as modular programming.

    48. What is a function?Ans: A large program is subdivided into a number of smaller programs or subprograms. Eachsubprogramspecifies one or more actions to be performed for the larger program. Such sub programs arecalled functions.

    49. What is an argument?

    Ans: An argument is an entity used to pass data from the calling to a called function.

    50. What are built in functions?

    Ans: The functions that are predefined and supplied along with the compiler are known as built-

    in functions. They are also known as library functions.

    51. Difference between formal argument and actual argument?

    Ans: Formal arguments are the arguments available in the function definition. They are precededbytheir own data type. Actual arguments are available in the function call. These arguments aregivenas constants or variables or expressions to pass the values to the function.

    52. Is it possible to have more than one main() function in a C program ?

    Ans: The function main() can appear only once. The program execution starts from main.

    53. What is the difference between an enumeration and a set of pre-processor # defines?

    Ans: There is hardly any difference between the two, except that #defines has a global effect(throughout the file) whereas an enumeration can have an effect local to the block if desired.Some advantages of enumeration are that the numeric values are automatically assigned whereasin #define we have to explicitly define them. A disadvantage is that we have no control over thesize of enumeration variables.

  • 8/8/2019 Interview Questions(All Types Important)

    8/69

    54. How are Structure passing and returning implemented by the complier?

    Ans: When structures are passed as argument to functions, the entire structure is typicallypushed onthe stack. To avoid this overhead many programmer often prefer to pass pointers to structureinstead of actual structures. Structures are often returned from functions in a location pointed to

    by an extra, compiler-supported hidden argument to the function.

    55. IMP>what is the similarity between a Structure, Union and enumeration?

    Ans: All of them let the programmer to define new data type.

    56. Can a Structure contain a Pointer to itself?

    Ans: Yes such structures are called self-referential structures.

    57. How can we read/write Structures from/to data files?

    Ans: To write out a structure we can use fwrite() as Fwrite( &e, sizeof(e),1,fp);Where e is astructure

    variable. A corresponding fread() invocation can read the structure back from file. callingfwrite() it writes out sizeof(e) bytes from the address &e. Data files written as memory imageswith fwrite(),however ,will not be portable, particularly if they contain floating point fields orPointers. This is because memory layout of structures is machine and compilerdependent. Therefore, structures written as memory images cannot necessarily be read back byprograms running on other machine, and this is the important concern if the data files yourewriting will ever be interchanged between machines.

    58. Write a program which employs Recursion?

    Ans: int fact(int n) { return n > 1 ? n * fact(n 1) : 1; }

    59.Write a program which uses Command Line Arguments?Ans:

    #includevoid main(int argc,char *argv[]){int i;clrscr();for(i=0;iprintf(\n%d,argv[i]);}

    60. Difference between array and pointer?

    Ans:

    Array

    1- Array allocates space automatically2- It cannot be resized3- It cannot be reassigned4- sizeof (arrayname) gives the number of bytes occupied by the array.

  • 8/8/2019 Interview Questions(All Types Important)

    9/69

    Pointer

    1-Explicitly assigned to point to an allocated space.2-It can be sized using realloc()3-pointer can be reassigned.4-sizeof (p) returns the number of bytes used to store the pointer variable p.

    61. What do the c and v in argc and argv stand for?

    Ans: The c in argc(argument count) stands for the number of command line argument theprogram isinvoked with and v in argv(argument vector) is a pointer to an array of character string thatcontain the arguments.

    62. IMP>what are C tokens?

    Ans: There are six classes of tokens: identifier, keywords, constants, string literals, operators andother separators.

    63. What are C identifiers?Ans: These are names given to various programming element such as variables, function,arrays.It is a combination of letter, digit and underscore.It should begin with letter. Backspace isnot allowed.

    64. Difference between syntax vs logical error?

    Ans:

    Syntax Error

    1-These involves validation of syntax of language.2-compiler prints diagnostic message.

    Logical Error1-logical error are caused by an incorrect algorithm or by a statement mistyped in such a waythat it doesnt violet syntax of language.2-difficult to find.

    65. What is preincrement and post increment?

    Ans: ++n (pre increment) increments n before its value is used in an assignment operation or anyexpression containing it. n++ (post increment) does increment after the value of n is used.

    66. Write a program to interchange 2 variables without using the third one.

    Ans:

    a ^= b; ie a=a^bb ^= a; ie b=b^a;a ^= b ie a=a^b;here the numbers are converted into binary and then xor operation is performed.You know, youre just asking have you seen this overly clever trick thats not worth applyingonmodern architectures and only really applies to integer variables?

  • 8/8/2019 Interview Questions(All Types Important)

    10/69

    67. What is the maximum combined length of command line arguments including the space

    between adjacent arguments?

    Ans: It depends on the operating system.

    68. What are bit fields? What is the use of bit fields in a Structure declaration?

    Ans: A bit field is a set of adjacent bits within a single implementation based storage unit that wewill call a word.The syntax of field definition and access is based on structure.Struct {unsigned int k :1;unsigned int l :1;unsigned int m :1;}flags;the number following the colon represents the field width in bits.Flag is a variable that containsthree bit fields.

    69. What is a preprocessor, what are the advantages of preprocessor?Ans: A preprocessor processes the source code program before it passes through the compiler.1- a preprocessor involves the readability of program2- It facilitates easier modification3- It helps in writing portable programs4- It enables easier debugging5- It enables testing a part of program6- It helps in developing generalized program

    70. What are the facilities provided by preprocessor?

    Ans:

    1-file inclusion2-substitution facility3-conditional compilation

    71. What are the two forms of #include directive?

    Ans:

    1.#includefilename2.#includethe first form is used to search the directory that contains the source file.If the search fails in thehome directory it searches the implementation defined locations.In the second form ,thepreprocessor searches the file only in the implementation defined locations.

    72. How would you use the functions randomize() and random()?

    Ans:

    Randomize() initiates random number generation with a random value.Random() generates random number between 0 and n-1;

    73. What do the functions atoi(), itoa() and gcvt() do?

    Ans:

  • 8/8/2019 Interview Questions(All Types Important)

    11/69

    atoi() is a macro that converts integer to character.itoa() It converts an integer to stringgcvt() It converts a floating point number to string

    74. How would you use the functions fseek(), freed(), fwrite() and ftell()?

    Ans:fseek(f,1,i) Move the pointer for file f a distance 1 byte from location i.fread(s,i1,i2,f) Enter i2 dataitems,each of size i1 bytes,from file f to string s.fwrite(s,i1,i2,f) send i2 data items,each of size i1 bytes from string s to file f.ftell(f) Return the current pointer position within file f.

    The data type returned for functions fread,fseek and fwrite is int and ftell is long int.

    75. What is the difference between the functions memmove() and memcpy()?

    Ans: The arguments of memmove() can overlap in memory. The arguments of memcpy()cannot.

    76. What is a file?

    Ans: A file is a region of storage in hard disks or in auxiliary storage devices.It contains bytes ofinformation .It is not a data type.

    77. IMP>what are the types of file?

    Ans: Files are of two types1-high level files (stream oriented files) :These files are accessed using library functions2-low level files(system oriented files) :These files are accessed using system calls

    78. IMP>what is a stream?

    Ans: A stream is a source of data or destination of data that may be associated with a disk orotherI/O device. The source stream provides data to a program and it is known as input stream. Thedestination stream eceives the output from the program and is known as output stream.

    79. What is meant by file opening?

    Ans: The action of connecting a program to a file is called opening of a file. This requirescreatingan I/O stream before reading or writing the data.

    80. What is FILE?

    Ans: FILE is a predefined data type. It is defined in stdio.h file.

    81. What is a file pointer?

    Ans: The pointer to a FILE data type is called as a stream pointer or a file pointer. A file pointerpoints to the block of information of the stream that had just been opened.

    82. How is fopen()used ?

    Ans: The function fopen() returns a file pointer. Hence a file pointer is declared and it is

  • 8/8/2019 Interview Questions(All Types Important)

    12/69

    assignedasFILE *fp;fp= fopen(filename,mode);filename is a string representing the name of the file and the mode represents:

    r for read operationw for write operationa for append operationr+,w+,a+ for update operation

    83How is a file closed ?

    Ans: A file is closed using fclose() functionEg. fclose(fp);Where fp is a file pointer.

    84. What is a random access file?

    Ans:A file can be accessed at random using fseek() functionfseek(fp,position,origin);fp file pointerposition number of bytes offset from originorigin 0,1 or 2 denote the beginning ,current position or end of file respectively.

    85. What is the purpose of ftell ?

    Ans: The function ftell() is used to get the current file represented by the file pointer.ftell(fp);returns a long integer value representing the current file position of the file pointed by the

    file pointer fp.If an error occurs ,-1 is returned.

    86. What is the purpose of rewind() ?

    Ans: The function rewind is used to bring the file pointer to the beginning of the file.Rewind(fp);Where fp is a file pointer.Also we can get the same effect byfeek(fp,0,0);

    87. Difference between a array name and a pointer variable?

    Ans: A pointer variable is a variable where as an array name is a fixed address and is not avariable. Apointer variable must be initialized but an array name cannot be initialized. An array name beinga constant value , ++ and operators cannot be applied to it.

    88. Represent a two-dimensional array using pointer?

    Ans:

    Address of a[I][j] Value of a[I][j]&a[I][j]or

  • 8/8/2019 Interview Questions(All Types Important)

    13/69

    a[I] + jor*(a+I) + j*&a[I][j] or a[I][j]or

    *(a[I] + j )or*( * ( a+I) +j )

    89. Difference between an array of pointers and a pointer to an array?

    Ans:

    Array of pointers

    1- Declaration is: data_type *array_name[size];2-Size represents the row size.3- The space for columns may be dynamically

    Pointers to an array1-Declaration is data_type ( *array_name)[size];2-Size represents the column size.

    90. Can we use any name in place of argv and argc as command line arguments ?

    Ans: yes we can use any user defined name in place of argc and argv;

    91. What are the pointer declarations used in C?

    Ans:

    1- Array of pointers, e.g , int *a[10]; Array of pointers to integer2-Pointers to an array,e.g , int (*a)[10]; Pointer to an array of into

    3-Function returning a pointer,e.g, float *f( ) ; Function returning a pointer to float4-Pointer to a pointer ,e.g, int **x; Pointer to apointer to int5-pointer to a data type ,e.g, char *p; pointer to char

    92. Differentiate between a constant pointer and pointer to a constant?

    Ans:

    const char *p; //pointer to a const character.char const *p; //pointer to a const character.char * const p; //const pointer to a char variable.const char * const p; // const pointer to a const character.

    93. Is the allocated space within a function automatically deallocated when the function

    returns?

    Ans: No pointer is different from what it points to .Local variables including local pointersvariables in a function are deallocated automatically when function returns.,But in case of alocal pointer variable ,deallocation means that the pointer is deallocated and not the block ofmemory allocated to it. Memory dynamically allocated always persists until the allocation isfreedor the program terminates.

  • 8/8/2019 Interview Questions(All Types Important)

    14/69

    94. Discuss on pointer arithmetic?

    Ans:

    1- Assignment of pointers to the same type of pointers.2- Adding or subtracting a pointer and an integer.3-subtracting or comparing two pointer.

    4-incrementing or decrementing the pointers pointing to the elements of an array. When a pointerto an integer is incremented by one , the address is incremented by two. It is done automaticallyby the compiler.5-Assigning the value 0 to the pointer variable and comparing 0 with the pointer. The pointerhaving address 0 points to nowhere at all.

    95. What is the invalid pointer arithmetic?

    Ans:

    i) adding ,multiplying and dividing two pointers.ii) Shifting or masking pointer.iii) Addition of float or double to pointer.

    iv) Assignment of a pointer of one type to a pointer of another type ?

    96. What are the advantages of using array of pointers to string instead of an array of

    strings?

    Ans:

    i) Efficient use of memory.ii) Easier to exchange the strings by moving their pointers while sorting.

    97. Are the expressions *ptr ++ and ++ *ptr same?

    Ans: No,*ptr ++ increments pointer and not the value pointed by it. Whereas ++ *ptrincrements the value being pointed to by ptr.

    98. What would be the equivalent pointer expression foe referring the same element as

    a[p][q][r][s] ?

    Ans : *( * ( * ( * (a+p) + q ) + r ) + s)

    99. Are the variables argc and argv are always local to main?

    Ans: Yes they are local to main.

    100. Can main () be called recursively?

    Ans: Yes any function including main () can be called recursively.

    101. IMP>Can we initialize unions?Ans: ANSI Standard C allows an initializer for the first member of a union. There is no standardwayof initializing any other member (nor, under a pre-ANSI compiler, is there generally any way ofinitializing a union at all).

    102. Whats the difference between these two declarations?

    Ans: struct x1 { };

  • 8/8/2019 Interview Questions(All Types Important)

    15/69

    typedef struct { } x2;The first form declares a structure tag; the second declares a typedef. The main difference is thatthe second declaration is of a slightly more abstract type.its users dont necessarily know that itis a structure, and the keyword struct is not used when declaring instances of it.

    103. Why doesnt this code: a[i] = i++; work?Ans: The subexpression i++ causes a side effect.it modifies is value.which leads to undefinedbehavior since i is also referenced elsewhere in the same expression.

    104.WHy doesnt struct x { };

    x thestruct;

    work?

    Ans:

    C is not C++. Typedef names are not automatically generated for structure tags.

    105. Why cant we compare structures?

    Ans:There is no single, good way for a compiler to implement structure comparison which isconsistent with Cs low-level flavor. A simple byte-by-byte comparison could founder onrandom bits present in unused holes in the structure (such padding is used to keep thealignment of later fields correct). A field-by-field comparison might require unacceptableamounts of repetitive code for large structures.

    106. How are structure passing and returning implemented?

    Ans: When structures are passed as arguments to functions, the entire structure is typicallypushed onthe stack, using as many words as are required. Some compilers merely pass a pointer to the

    structure, though they may have to make a local copy to preserve pass-by-value semantics.Structures are often returned from functions in a location pointed to by an extra,compiler-supplied hidden argument to the function. Some older compilers used a special,static locationfor structure returns, although this made structure-valued functions non-reentrant, which ANSI Cdisallows.

    C++

    1. What is a class?

    Ans: The objects with the same data structure (attributes) and behavior (operations) are calledclass.

    2. What is an object?

    Ans: It is an entity which may correspond to real-world entities such as students, employees,bank account. It may be concrete such as file system or conceptual such as scheduling policies inmultiprocessor operating system.Every object will have data structures called attributes and behavior called operations.

  • 8/8/2019 Interview Questions(All Types Important)

    16/69

    3. What is the difference between an object and a class?

    Ans: All objects possessing similar properties are grouped into class.Example :person is a class, ram, hari are objects of person class. All have similar attributes likename, age, sex and similar operations like speak, walk.

    Class person{private:char name[20];int age;char sex;public: speak();walk();};

    4. What is the difference between class and structure?

    Ans: In class the data members by default are private but in structure they are by default public

    5. Define object based programming language?

    Ans: Object based programming language support encapsulation and object identity withoutsupporting some important features of OOPs language.Object based language=Encapsulation + object Identity

    6. Define object oriented language?

    Ans: Object-oriented language incorporates all the features of object based programminglanguages along with inheritance and polymorphism.Example: c++, java.

    7. Define OOPs?

    Ans: OOP is a method of implementation in which programs are organized as co-operativecollection of objects, each of which represents an instance of some class and whose classes areall member of a hierarchy of classes united through the property of inheritance.

    8. What is public, protected, and private?

    Ans: These are access specifier or a visibility lebels .The class member that has been declared asprivate can be accessed only from within the class. Public members can be accessed from outsidethe class also. Within the class or from the object of a class protected access limit is same as thatof private but it plays a prominent role in case of inheritance

    9. What is a scope resolution operator?

    Ans: The scope resolution operator permits a program to reference an identifier in the globalscope that has been hidden by another identifier with the same name in the local scope.

    10. What do you mean by inheritance?

    Ans: The mechanism of deriving a new class (derived) from an old class (base class) is called

  • 8/8/2019 Interview Questions(All Types Important)

    17/69

    inheritance. It allows the extension and reuse of existing code without having to rewrite the codefrom scratch.

    11. What is abstraction?

    Ans: The technique of creating user-defined data types, having the properties of built-in data

    types and a set of permitted operators that are well suited to the application to be programmed isknown as data abstraction. Class is a construct for abstract data types (ADT).

    12. What is encapsulation?

    Ans: It is the mechanism that wraps the data and function it manipulates into single unit andkeeps it safe from external interference.

    13. How variable declaration in c++ differs that in c?

    Ans: C requires all the variables to be declared at the beginning of a scope but in c++ we candeclare variables anywhere in the scope. This makes the programmer easier to understandbecause the variables are declared in the context of their use.

    14. What are the c++ tokens?

    Ans: c++ has the following tokensI. keywordsII. IdentifiersIII. ConstantsIV. StringsV. operators

    15. What do you mean by reference variable in c++?

    Ans: A reference variable provides an alias to a previously defined variable.

    Data type & reference-name = variable name

    16. What do you mean by implicit conversion?

    Ans: Whenever data types are mixed in an expression then c++ performs the conversionautomatically.Here smaller type is converted to wider type.Example- in case of integer and float integer is converted into float type.

    17. What is the difference between method overloading and method overriding?

    Ans: Overloading a method (or function) in C++ is the ability for functions of the same name tobe defined as long as these methods have different signatures (different set of parameters).

    Method overriding is the ability of the inherited class rewriting the virtual method of the baseclass.

    18. What are the defining traits of an object-oriented language?

    The defining traits of an object-oriented language are:encapsulationinheritancepolymorphism

  • 8/8/2019 Interview Questions(All Types Important)

    18/69

    Ans:

    Polymorphism: is a feature of OOPL that at run time depending upon the type of object theappropriate method is called.

    Inheritance: is a feature of OOPL that represents the is a relationship between different

    objects (classes). Say in real life a manager is a employee. So in OOPL manger class is inheritedfrom the employee class.

    Encapsulation: is a feature of OOPL that is used to hide the information.

    19. What is polymorphism?

    Ans: Polymorphism is the idea that a base class can be inherited by several classes. A base classpointer can point to its child class and a base class array can store different child class objects.

    20. What do you mean by inline function?

    Ans: An inline function is a function that is expanded inline when invoked.ie. the compiler

    replaces the function call with the corresponding function code. An inline function is a functionthat is expanded in line when it is invoked. That is the compiler replaces the function call withthe corresponding function code (similar to macro).

    21 What is the difference between a NULL pointer and a void pointer?

    Ans: A NULL pointer is a pointer of any type whose value is zero. A void pointer is a pointer toan object of an unknown type, and is guaranteed to have enough bits to hold a pointer to anyobject. A void pointer is not guaranteed to have enough bits to point to a function (though ingeneral practice it does).

    22. What is difference between C++ and Java?

    Ans: C++ has pointers Java does not.Java is platform independent C++ is not.Java has garbage collection C++ does not.

    23. What do you mean by multiple inheritance in C++ ?

    Ans: Multiple inheritance is a feature in C++ by which one class can be of different types. Sayclass teaching Assistant is inherited from two classes say teacher and Student.

    24. What do you mean by virtual methods?

    Ans: virtual methods are used to use the polymorphism feature in C++. Say class A is inheritedfrom class B. If we declare say function f() as virtual in class B and override the same function in

    class A then at runtime appropriate method of the class will be called depending upon the type ofthe object.

    25. What do you mean by static methods?

    Ans: By using the static method there is no need creating an object of that class to use thatmethod. We can directly call that method on that class. For example, say class A has staticfunction f(), then we can call f() function as A.f(). There is no need of creating an object of classA.

  • 8/8/2019 Interview Questions(All Types Important)

    19/69

    26. How many ways are there to initialize an int with a constant?

    Ans: Two.There are two formats for initializers in C++ as shown in the example that follows. The firstformat uses the traditional C notation. The second format uses constructor notation.int foo = 123;

    int bar (123);

    27. What is a constructor?

    Ans: Constructor is a special member function of a class, which is invoked automaticallywhenever an instance of the class is created. It has the same name as its class.

    28. What is destructor?

    Ans: Destructor is a special member function of a class, which is invoked automaticallywhenever an object goes out of the scope. It has the same name as its class with a tilde characterprefixed.

    29. What is an explicit constructor?Ans: A conversion constructor declared with the explicit keyword. The compiler does not use anexplicit constructor to implement an implied conversion of types. Its purpose is reservedexplicitly for construction.

    30 What is the Standard Template Library?

    Ans: A library of container templates approved by the ANSI committee for inclusion in thestandard C++ specification. A programmer who then launches into a discussion of the genericprogramming model, iterators, allocators, algorithms, and such, has a higher than averageunderstanding of the new technology that STL brings to C++ programming.

    31. What problem does the namespace feature solve?Ans: Multiple providers of libraries might use common global identifiers causing a namecollision when an application tries to link with two or more such libraries. The namespacefeature surrounds a librarys external declarations with a unique namespace that eliminates thepotential for those collisions. This solution assumes that two library vendors dont use the samenamespace identifier, of course.

    32. What is the use of using declaration?

    Ans: A using declaration makes it possible to use a name from a namespace

    33. What is a template?

    Ans: Templates allow us to create generic functions that admit any data type as parameters andreturn a value without having to overload the function with all the possible data types. Untilcertain point they fulfill the functionality of a macro. Its prototype is any of the two followingones:template function_declaration;template function_declaration;

  • 8/8/2019 Interview Questions(All Types Important)

    20/69

    34. Differentiate between a template class and class template?

    Ans:

    Template class:

    A generic definition or a parameterized class not instantiated until the client provides the neededinformation. Its jargon for plain templates.

    Class template:A class template specifies how individual classes can be constructed much like the way a classspecifies how individual objects can be constructed. Its jargon for plain classes.

    35. What is the difference between a copy constructor and an overloaded assignment

    operator?

    Ans: A copy constructor constructs a new object by using the content of the argument object. Anoverloaded assignment operator assigns the contents of an existing object to another existingobject of the same class.

    36. What is a virtual destructor?

    Ans: The simple answer is that a virtual destructor is one that is declared with the virtualattribute.

    37. What is an incomplete type?

    Ans: Incomplete type refers to pointers in which there is non availability of the implementationof the referenced location or it points to some location whose value is not available formodification.Example:

    int *i=0400 // i points to address 400*i=0; //set the value of memory location pointed by i.Incomplete types are otherwise called uninitialized pointers.

    38. What do you mean by Stack unwinding?

    Ans: It is a process during exception handling when the destructor is called for all local objectsbetween the place where the exception was thrown and where it is caught.

    39. What is a container class? What are the types of container classes?

    Ans: A container class is a class that is used to hold objects in memory or external storage. Acontainer class acts as a generic holder. A container class has a predefined behavior and a well-known interface. A container class is a supporting class whose purpose is to hide the topologyused for maintaining the list of objects in memory. When a container class contains a group ofmixed objects, the container is called a heterogeneous container; when the container is holding agroup of objects that are all the same, the container is called a homogeneous container

    40. Name some pure object oriented languages?

    Ans: Smalltalk, Java, Eiffel, Sather.

    41. Name the operators that cannot be overloaded?

    Ans: sizeof, ., .*, .->, ::, ?:

  • 8/8/2019 Interview Questions(All Types Important)

    21/69

    42. What is an adaptor class or Wrapper class?

    Ans: A class that has no functionality of its own. Its member functions hide the use of a thirdparty software component or an object with the non-compatible interface or a non-object-oriented implementation.

    43. What is a Null object?Ans: It is an object of some class whose purpose is to indicate that a real object of that class doesnot exist. One common use for a null object is a return value from a member function that issupposed to return an object with some specified properties but cannot find such an object.

    44. What is class invariant?

    Ans: A class invariant is a condition that defines all valid states for an object. It is a logicalcondition to ensure the correct working of a class. Class invariants must hold when an object iscreated, and they must be preserved under all operations of the class. In particular all classinvariants are both preconditions and post-conditions for all operations or member functions ofthe class.

    45. What is a dangling pointer?

    Ans: A dangling pointer arises when you use the address of an object after its lifetime is over.This may occur in situations like returning addresses of the automatic variables from a functionor using the address of the memory block after it is freed. Example: The following code snippetshows this:class Sample{public:int *ptr;Sample(int i)

    {ptr = new int(i);}~Sample(){delete ptr;}void PrintVal(){cout

  • 8/8/2019 Interview Questions(All Types Important)

    22/69

    SomeFunc(s1);s1.PrintVal();}In the above example when PrintVal() function is called it is called by the pointer that has beenfreed by the destructor in SomeFunc.

    46. Differentiate between the message and method?

    Ans:

    Message:

    Objects communicate by sending messages to each other.A message is sent to invoke a method.Method

    Provides response to a message and it is an implementation of an operation

    47. How can we access protected and private members of a class?

    Ans: In the case of members protected and private, these could not be accessed from outside the

    same class at which they are declared. This rule can be transgressed with the use of the friendkeyword in a class, so we can allow an external function to gain access to the protected andprivate members of a class.

    48. Can you handle exception in C++?

    Ans: Yes we can handle exception in C++ using keyword: try, catch and throw. Programstatements that we want to monitor for exceptions are contained in a try block. If an exceptionoccurs within the try block, it is thrown (using throw).The exception is caught, using catch, andprocessed.

    49. What is virtual function?

    Ans: A virtual function is a member function that is declared within a base class andredefined by a derived class .To create a virtual function, the function declaration in the baseclass is preceded by the keyword virtual.

    50. What do you mean by early binding?

    Ans:Early binding refers to the events that occur at compile time. Early binding occurs whenall information needed to call a function is known at compile time. Examples of early bindinginclude normal function calls, overloaded function calls, and overloaded operators. Theadvantage of early binding is efficiency.

    51. What do you mean by late binding?

    Ans: Late binding refers to function calls that are not resolved until run time. Virtual functionsare used to achieve late binding. When access is via a base pointer or reference, the virtualfunction actually called is determined by the type of object pointed to by the pointer.

    DATA STRUCTURES

    1. What is data structure?

    Ans: The logical and mathematical model of a particular organization of data is called data

  • 8/8/2019 Interview Questions(All Types Important)

    23/69

    structure. There are two types of data structurei) Linearii) Nonlinear

    2. What are the goals of Data Structure?

    Ans: It must rich enough in structure to reflect the actual relationship of data in real world.The structure should be simple enough for efficient processing of data.

    3. What does abstract Data Type Mean?

    Ans: Data type is a collection of values and a set of operations on these values. Abstract datatype refer to the mathematical concept that define the data type.It is a useful tool for specifying the logical properties of a data type.ADT consists of two parts1) Values definition2) Operation definitionExample:-The value definition for the ADT RATIONAL states that RATIONAL value consists

    of two integers, second doesnt equal to zero.The operator definition for ADT RATIONAL includes the operation of creation (make rational)addition, multiplication and test for equality.

    4. What is the difference between a Stack and an Array?

    Ans:

    i) Stack is a ordered collection of itemsii) Stack is a dynamic object whose size is constantly changing as items are pushed and popped .iii) Stack may contain different data typesiv) Stack is declared as a structure containing an array to hold the element of the stack, and aninteger to indicate the current stack top within the array.

    ARRAYi) Array is an ordered collection of itemsii) Array is a static object i.e. no of item is fixed and is assigned by the declaration of the arrayiii) It contains same data types.iv) Array can be home of a stack i.e. array can be declared large enough for maximum size of thestack.

    5. What do you mean by recursive definition?

    Ans: The definition which defines an object in terms of simpler cases of itself is called recursivedefinition.

    6. What is sequential search?

    Ans: In sequential search each item in the array is compared with the item being searched until amatch occurs. It is applicable to a table organized either as an array or as a linked list.

    7. What actions are performed when a function is called?

    Ans: When a function is calledi) arguments are passed

  • 8/8/2019 Interview Questions(All Types Important)

    24/69

    ii) local variables are allocated and initializedii) transferring control to the function

    8. What actions are performed when a function returns?

    Ans:

    i) Return address is retrievedii) Functions data area is freediii) Branch is taken to the return address

    9. What is a linked list?

    Ans: A linked list is a linear collection of data elements, called nodes, where the linear order isgiven by pointers. Each node has two parts first part contain the information of the elementsecond part contains the address of the next node in the list.

    10. What are the advantages of linked list over array (static data structure)?

    Ans:

    The disadvantages of array arei) unlike linked list it is expensive to insert and delete elements in the arrayii) One cant double or triple the size of array as it occupies block of memory space.

    In linked listi) each element in list contains a field, called a link or pointer which contains the address of thenext elementii) Successive elements need not occupy adjacent space in memory.

    11. Can we apply binary search algorithm to a sorted linked list, why?

    Ans: No we cannot apply binary search algorithm to a sorted linked list, since there is no way of

    indexing the middle element in the list. This is the drawback in using linked list as a datastructure.

    12. What do you mean by free pool?

    Ans: Pool is a list consisting of unused memory cells which has its own pointer.

    13. What do you mean by garbage collection?

    Ans: It is a technique in which the operating system periodically collects all the deleted spaceonto the free storage list.It takes place when there is minimum amount of space left in storage list or when CPU is ideal.The alternate method to this is to immediately reinsert the space into free storage list which is

    time consuming.

    14. What do you mean by overflow and underflow?

    Ans: When new data is to be inserted into the data structure but there is no available space i.e.free storage list is empty this situation is called overflow.When we want to delete data from a data structure that is empty this situation is calledunderflow.

  • 8/8/2019 Interview Questions(All Types Important)

    25/69

    15. What are the disadvantages array implementations of linked list?

    Ans:

    i) The no of nodes needed cant be predicted when the program is written.ii) The no of nodes declared must remain allocated throughout its execution

    16. What is a queue?Ans: A queue is an ordered collection of items from which items may be deleted at one end(front end) and items inserted at the other end (rear end).It obeys FIFO rule there is no limit to the number of elements a queue contains.

    17. What is a priority queue?

    Ans: The priority queue is a data structure in which the intrinsic ordering of the elements(numeric or alphabetic)Determines the result of its basic operation. It is of two typesi) Ascending priority queue- Here smallest item can be removed (insertion is arbitrary)ii) Descending priority queue- Here largest item can be removed (insertion is arbitrary)

    18. What are the disadvantages of sequential storage?

    Ans:

    i) Fixed amount of storage remains allocated to the data structure even if it contains less element.ii) No more than fixed amount of storage is allocated causing overflow

    19. What are the disadvantages of representing a stack or queue by a linked list?

    Ans:

    i) A node in a linked list (info and next field) occupies more storage than a correspondingelement in an array.ii) Additional time spent in managing the available list.

    20. What is dangling pointer and how to avoid it?

    Ans: After a call to free(p) makes a subsequent reference to *p illegal, i.e. though the storage top is freed but the value of p(address) remain unchanged .so the object at that address may beused as the value of *p (i.e. there is no way to detect the illegality).Here p is called danglingpointer.To avoid this it is better to set p to NULL after executing free(p).The null pointer value doesntreference a storage location it is a pointer that doesnt point to anything.

    21. What are the disadvantages of linear list?

    Ans:

    i) We cannot reach any of the nodes that precede node (p)ii) If a list is traversed, the external pointer to the list must be persevered in order to reference thelist again

    22. Define circular list?

    Ans: In linear list the next field of the last node contain a null pointer, when a next field in thelast node contain a pointer back to the first node it is called circular list.Advantages From any point in the list it is possible to reach at any other point

  • 8/8/2019 Interview Questions(All Types Important)

    26/69

    23. What are the disadvantages of circular list?

    Ans:

    i) We cant traverse the list backwardii) If a pointer to a node is given we cannot delete the node

    24. Define double linked list?Ans: It is a collection of data elements called nodes, where each node is divided into three partsi) An info field that contains the information stored in the nodeii) Left field that contain pointer to node on left sideiii) Right field that contain pointer to node on right side

    25. Is it necessary to sort a file before searching a particular item ?

    Ans:

    If less work is involved in searching a element than to sort and then extract, then we dont go forsortIf frequent use of the file is required for the purpose of retrieving specific element, it is more

    efficient to sort the file.Thus it depends on situation.

    26. What are the issues that hamper the efficiency in sorting a file?

    Ans: The issues arei) Length of time required by the programmer in coding a particular sorting programii) Amount of machine time necessary for running the particular programiii)The amount of space necessary for the particular program .

    27. Calculate the efficiency of sequential search?

    Ans: The number of comparisons depends on where the record with the argument key appears in

    the tableIf it appears at first position then one comparisonIf it appears at last position then n comparisonsAverage=(n+1)/2 comparisonsUnsuccessful search n comparisonsNumber of comparisons in any case is O (n).

    28. Is any implicit arguments are passed to a function when it is called?

    Ans: Yes there is a set of implicit arguments that contain information necessary for the functionto execute and return correctly. One of them is return address which is stored within thefunctions data area, at the time of returning to calling program the address is retrieved and thefunction branches to that location.

    29. Parenthesis is never required in Postfix or Prefix expressions, why?

    Ans: Parenthesis is not required because the order of the operators in the postfix /prefixexpressions determines the actual order of operations in evaluating the expression

    30. List out the areas in which data structures are applied extensively?

    Ans:

  • 8/8/2019 Interview Questions(All Types Important)

    27/69

    Compiler Design,Operating System,Database Management System,Statistical analysis package,Numerical Analysis,

    Graphics,Artificial Intelligence,Simulation

    31. What are the major data structures used in the following areas : network data model &

    Hierarchical data model.

    Ans:

    RDBMS Array (i.e. Array of structures)Network data model GraphHierarchical data model Trees

    32. If you are using C language to implement the heterogeneous linked list, what pointertype will you use?

    Ans: The heterogeneous linked list contains different data types in its nodes and we need a link,pointer to connect them. It is not possible to use ordinary pointers for this. So we go for voidpointer. Void pointer is capable of storing pointer to any type as it is a generic pointer type.

    33. Minimum number of queues needed to implement the priority queue?

    Ans: Two. One queue is used for actual storing of data and another for storing priorities.

    34. What is the data structures used to perform recursion?

    Ans: 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 storingthe return addresses of the function calls.Every recursive function has its equivalent iterative (non-recursive) function. Even when suchequivalent iterative procedures are written, explicit stack is to be used.

    35. What are the notations used in Evaluation of Arithmetic Expressions using prefix and

    postfix forms?

    Ans: Polish and Reverse Polish notations.

    36. Convert the expression ((A + B) * C (D E) ^ (F + G)) to equivalent Prefix and

    Postfix notations.

    Ans: Prefix Notation:^ * +ABC DE + FGPostfix Notation:AB + C * DE FG + ^

    37. Sorting is not possible by using which of the following methods?

    (a) Insertion

  • 8/8/2019 Interview Questions(All Types Important)

    28/69

    (b) Selection

    (c) Exchange

    (d) Deletion

    Ans: (d) Deletion.

    Using insertion we can perform insertion sort, using selection we can perform selection sort,using exchange we can perform the bubble sort (and other similar sorting methods). But nosorting method can be done just using deletion.

    38. List out few of the Application of tree data-structure?

    Ans:

    The manipulation of Arithmetic expression,Symbol Table construction,Syntax analysis.

    39. List out few of the applications that make use of Multilinked Structures?

    Ans: Sparse matrix, Index generation.

    40. in tree construction which is the suitable efficient data structure?

    (A) Array (b) Linked list (c) Stack (d) Queue (e) noneAns: (b) Linked list

    41. What is the type of the algorithm used in solving the 8 Queens problem?

    Ans: Backtracking

    42. In an AVL tree, at what condition the balancing is to be done?

    Ans: If the pivotal value (or the Height factor) is greater than 1 or less than 1.

    43. There are 8, 15, 13, 14 nodes were there in 4 different trees. Which of them could have

    formed a full binary tree?

    Ans: 15In general:There are 2n-1 nodes in a full binary tree.

    By the method of elimination:Full binary trees contain odd number of nodes. So there cannot be full binary trees with 8 or 14nodes, so rejected. With 13 nodes you can form a complete binary tree but not a full binary tree.So the correct answer is 15.

    Note: Full and Complete binary trees are different. All full binary trees are complete binary treesbut not vice versa.

    44. In RDBMS, what is the efficient data structure used in the internal storage

    representation?

    Ans: B+ tree. Because in B+ tree, all the data is stored only in leaf nodes, that makes searchingeasier. This corresponds to the records that shallbe stored in leaf nodes.

  • 8/8/2019 Interview Questions(All Types Important)

    29/69

    45. One of the following tree structures, which is, efficient considering space and time

    complexities?

    a) Incomplete Binary Tree.

    b) Complete Binary Tree.

    c) Full Binary Tree.

    Ans:b) Complete Binary Tree.By the method of elimination:Full binary tree loses its nature when operations of insertions and deletions are done. Forincomplete binary trees,extra property of complete binary tree is maintained even after operations like additions anddeletions are done on it.

    46. What is a spanning Tree?

    Ans: A spanning tree is a tree associated with a network. All the nodes of the graph appear onthe tree once. A minimum spanning tree is a spanning tree organized so that the total edge weight

    between nodes is minimized.

    47. Does the minimum spanning tree of a graph give the shortest distance between any 2

    specified nodes?

    Ans: No.Minimal spanning tree assures that the total weight of the tree is kept at its minimum. But itdoesnt mean that the distance between any two nodes involved in the minimum-spanning tree isminimum.

    48. Whether Linked List is linear or Non-linear data structure?

    Ans: According to Storage Linked List is a Non-linear one.

    DBMS

    1.What is a Database?

    Ans: A database is a collection of related data .A database is a logically coherentcollection of data with some inherent meaning.

    2. What is DBMS?

    Ans: Database Management system is a collection of programs that enables user to create andmaintain a database.Thus a DBMS is a general purposed s/w system that facilitates the process of defining

    constructing and manipulating a database for various applications. (Defining a data base involvesspecifying the data types, structures and constraints for the data to be stored in the data database.Constructing a data base is the process of storing data itself on some storage medium that iscontrolled by DBMS. Manipulating a database includes such functions as querying the data baseto retrieve specific data, updating the database to reflect the changes in the mini-world.

    3. What is a Catalog?

    Ans: A catalog is a table that contain the information such as structure of each file ,

  • 8/8/2019 Interview Questions(All Types Important)

    30/69

    the type and storage format of each data item and various constraints on the data .The information stored in the catalog is called Metadata . Whenever a request ismade to access a particular data, the DBMS s/w refers to the catalog to determinethe structure of the file.

    4. What is data ware housing & OLAP?Ans: Data warehousing and OLAP (online analytical processing ) systems are thetechniques used in many companies to extract and analyze useful informationfrom very large databases for decision making .

    5. What is real time database technology?

    Ans: These are all the techniques used in controlling industrial and manufacturingprocesses.

    6. What is program-data independence?

    Ans: Unlike in the traditional file sys. the structure of the data files is stored in the

    DBMS catalog separately from the access programs . This property is calledprogram-data independence.i.e. We neednt to change the code of the DBMS if thestructure of the data is changed .Which is not supported by traditional file sys .

    7. What is ORDBMS?

    Ans: Object oriented RDBMS is a relational DBMS in which every thing is treated asobjects. User can define operations on data as a part of the database definition.

    8. What is program-operation independence?

    Ans: An operation is specified in two parts .1. Interface (operation name and data types of its arguments).

    2. Implementation (the code part)The implementation part can be changed without affecting the interface. This is calledprogram-operation independence.

    9. What is a view?

    Ans: A view may be a subset of the database or it may contain virtual data that isderived from the database files but is not explicitly stored .

    10. What is OLTP?

    Ans: Online transaction processing is an application that involve multiple database accessesfrom different parts of the world . OLTP needs a multi-user DBMS s/w to ensure that concurrent

    transactions operate correctly.

    11. What is the job of DBA?

    Ans: A database administrator is a person or a group responsible for authorizing access to thedatabase, for coordinating and monitoring its use, and for acquiring s/w and h/w resources asneeded.

  • 8/8/2019 Interview Questions(All Types Important)

    31/69

    12. Who are db designer?

    Ans: Data base designers are responsible for identifying the data to be stored in the database andforchoosing appropriate structure to represent and store this data .

    13. What are different types of end users?Ans:

    1. Casual end-users2. Naive or parametric end users3. Sophisticated end users4. Stand alone users.

    14. What are the advantages of using a dbms?

    Ans:

    1. Controlling redundancy.2. Restricting unauthorized access.

    3. Providing persistent storage for program objects and data structures.4. Permitting inferencing and actions using rules.5. Providing multi-user interfaces.6. Representing complex relationships among data.7. Enforcing integrity constraints.8. Providing backups and recovery.

    15. What are the disadvantages of using a dbms?

    Ans:

    1. High initial investments in h/w, s/w, and training.2. Generality that a DBMS provides for defining and processing data.

    3. Overhead for providing security, concurrency control, recovery, and integrity functions.

    16. What is a data model?

    Ans: It is a collection of concepts that can be used to describe the structure of a database. Itprovides necessary means to achieve this abstraction. By structure of a database we mean thedata types, relations, and constraints that should hold on the data.

    17. What are different categories of data models?

    Ans:

    1. High-level or conceptual data models.2. Representational data models.3. Low-level or physical data models.High level data models provide the concepts that are close to the way many users perceive data.Representational data models are provide concepts that provide the concepts that may beunderstood by end users but that are not too far removed from organization of data in thedatabase.Physical data models describe the details of how data is stored in the computers.

  • 8/8/2019 Interview Questions(All Types Important)

    32/69

    18. What is schema?

    Ans: The description of a data base is called the database schema , which is specified duringdatabase design and is not expected to change frequently . A displayed schema is called schemadiagram .We call each object in the schema as schema construct.

    19. What are types of schema?Ans:

    1. internal schema.2. Conceptual schema.3. External schemas or user views.

    20. What is Data independency?

    Ans: Data independency is defined as the capacity to change the conceptual schema withouthaving to change the schema at the next higher level. We can define two types of dataindependence:1. Logical data independence.

    2. Physical data independence.LDI is the capacity to change the conceptual schema without having to change external schemasor application programs.PDI is the capacity to change the internal schema without having to change conceptual (orexternal) schemas.

    21. What are different DBMS languages?

    Ans:

    1. DDL (Data definition language)2. SDL (Storage definition language)3. VDL (View definition language)

    4. DML (Data manipulation language)

    22. What are different types of DBMS?

    Ans:

    1. DBMS2. RDBMS (Relational)3. ORDBMS (Object Relational)4. DDBMS (Distributed)5. FDBMS (Federated)6. HDDBMS (Homogeneous)7. HDBMS (Hierarchical)8. NDBMS (Networked)

    23. What is an entity?

    Ans: An entity is a thing in the real world with an independent existence.

    24. What are attributes?

    Ans: These are the particular properties that describe an entity.

  • 8/8/2019 Interview Questions(All Types Important)

    33/69

    25. What are diff. types of attributes?

    Ans:

    1. Composite Vs simple attributes.2. Single valued Vs multi-valued attributes.3. Stored Vs derived attribute.

    4. Null valued attributes.5. Complex attributes.

    26. What is difference between entity set and entity type?

    27. What is domain value or value set of an attribute?

    Ans: It is the set of values that may be assigned to that attribute for each individual entities .

    28. What is degree of a relationship?

    Ans: The no of entities participating in that relation .

    29. What is recursive relationship?Ans: It is the relationship where both the participating entities belong to same entity type .

    30. What are relationship constraints?

    Ans:

    1. Cardinality ratio.

    2. Participation constraints.

    31. What is Cardinality ratio?

    Ans: The cardinality ratio for a binary relationship specifies the number of relationship instancesthat an entity can participate in.

    32. What is a Participation constraint?

    Ans: The participation constraint specifies whether the existence of an entity depends on itsbeing related to another entity via the relationship type. This is of two types:1. Total participation.2. Partial participation.

    33. What is a weak entity types?

    Ans: The entity types that do not have key attributes of their own are called weak entity types.Rests are called strong entity types .The entity that gives identity to a weak entity is called ownerentity. And the relationship is called identifying relationship. A weak entity type always has a

    total participation constraint with respect to its identifying relationship.

    34. What is an ER Diagram?

    Ans:

    This data model is based on real world that consists of basic objects called entities and ofrelationship among these objects. Entities are described in a database by a set of attributes.

  • 8/8/2019 Interview Questions(All Types Important)

    34/69

    35. What is an EER?

    Ans:

    ==

    36. What is specialization?

    Ans: It is the process of defining a set of subclasses of an entity type where each subclasscontain all the attributes and relationships of the parent entity and may have additional attributesand relationships which are specific to itself.

    37. What is generalization?

    Ans: It is the process of finding common attributes and relations of a number of entities anddefining a common super class for them.

    38. What are constraints on generalization and specialization?

    Ans:

    1. disjoint ness constraints.

    2. Completeness constraints.Disjointness constraint specifies that the subclasses of the specialization must be disjoint .i.e. anentity can be a member of at most one of the subclasses of the specialization. The reverse of it isoverlapping.Completeness constraint is a participation constraint which may be1. Total2. PartialTotal specialization constraint tells that each entity in the super class must be a member of somesubclass in the specialization. And partial specialization constraint allows an entity not to belongto any of the subclasses .Thus we do have the following 4 types of constraints on specialization:1. Disjoint, total

    2. Disjoint, partial3. Overlapping, total4. Overlapping, partial

    39. What is a ternary relationship?

    Ans: A relationship with a degree 3 is called a ternary relationship.

    40. What is aggregation and association?

    Ans: Aggregation is an abstraction concept for building composite objects from their componentobjects. The abstraction of association is used to associate objects from several independentclasses.

    41. What is RAID Technology?

    Ans: Redundant array of inexpensive (or independent) disks. The main goal of raid technology isto even out the widely different rates of performance improvement of disks against those inmemory and microprocessor. Raid technology employs the technique of data striping to achievehigher transfer rates.

    42. What is Hashing technique?

  • 8/8/2019 Interview Questions(All Types Important)

    35/69

    Ans: This is a primary file organization technique that provides very fast access to records oncertain search conditions. The search condition must be an equality condition on a single field,called hash field of the file.1. Internal hashing2. External hashing

    3. Extendible hashing4. Linear hashing5. Partitioned hashing

    43. What are different types of relational constraints?

    Ans:

    1. Domain constraints2. Key constraints3. Entity integrity constraints4. Referential integrity constraintsDomain constraints specify that the value of each attribute must be an atomic value from the

    domain of the attributes.Key constraints tell that no two tuples can have the same combination of values for all theirattributes.Entity integrity constraint states that no primary key value can be null.Referential integrity constraints states that a tuple in one relation that refers to another relationmust refer to an existing tuple in that relation it is specified between two relations and is used tomaintain the consistency among tuples of the two relations.

    44. What is difference between a super key, a key, a candidate key and a primary key?

    Ans: A super key specifies a uniqueness constrain that no two distinct tuples in a statecan have the same value for the super key. Every relation has at least one default super key.

    A key is a minimal super key or the subset of the super key which is obtained afterremoving redundancy. A relation schema may have more than one key .In this caseeach key is called a candidate key. One of the candidate key with minimum numberof attributes is chosen as primary key.

    45. What is a foreign key?

    Ans: A key of a relation schema is called as a foreign key if it is the primary key ofsome other relation to which it is related to.

    46. What is a transaction?

    Ans: A transaction is a logical unit of database processing that includes one or moredatabase access operations.

    47. What are the properties of transaction?

    Ans:

    1. Atomicity2. Consistency preservation3. Isolation4. Durability (permanence)

  • 8/8/2019 Interview Questions(All Types Important)

    36/69

    48. What are the basic data base operations?

    Ans:

    1. Write_item(x)2. Read_item(x)

    49. What are the disadvantages of not controlling concurrency?Ans:

    1. Lost update problem2. Temporary update(Dirty read) problem3. Incorrect summary problem

    50. What are serial, non serial?

    Ans: A schedule S is serial if, for every transaction T participating in the schedule, all theoperations of T is executed consecutively in the schedule, otherwise, the schedule is called non-serial schedule.

    51. What are conflict serializable schedules?Ans: A schedule S of n transactions is serializable if it is equivalent to some serial schedule ofthe same n transactions.

    52. What is result equivalent?

    Ans: Two schedules are called result equivalent if they produce the same final state of the database.

    53. What are conflict equivalent schedules?

    Ans: Two schedules are said to be conflict equivalent if the order of any two conflictingoperations is the same in both schedules.

    54. What is a conflict serializable schedule?

    Ans: A schedule is called conflict serializable if it is conflict equivalent to some serial schedule.

    55. What is view equivalence?

    Ans: Two schedules S and S are said to be view equivalent if the following three conditionshold :1. Both S and S contain same set of transactions with same operations in them.2. If any read operation read(x) reads a value written by a write operation or the original value ofx the same conditions must hold in the other schedule for the same read(x) operation.3. If an operation write1(y) is the last operation to write the value of y in schedule S then the

    same operation must be the last operation in schedule S.

    56. What is view serializable?

    Ans: A schedule is said to be view serializable if it is view equivalent with some serial schedule.

    57. What are the various methods of controlling concurrency?

    Ans:

    1. Locking

  • 8/8/2019 Interview Questions(All Types Important)

    37/69

    2. Time stampLocking data item to prevent multiple transactions from accessing the item concurrently.A time stamp is a unique identifier for each transaction, generated by the system.

    58. What is a lock?

    Ans: A lock is a variable associated with a data item that describes the status of the item withrespect to the possible operations that can be applied to it.

    59. What are various types of locking techniques?

    Ans:

    1. a binary lock2. Shared/Exclusive lock3. Two phase locking

    60. What is a binary lock?

    Ans: A binary lock can have two states or values:

    1. locked (1)2. unlocked(0)If locked it cannot be accessed by any other operations, else can be.

    61. What is shared or exclusive lock?

    Ans: It implements multiple-mode lock. Allowing multiple accesses for read operations butexclusive access for write operation.

    62. Explain two phase locking?

    Ans: All the locking operations must precede the first unlock operation in the transaction .It doeshave two phases:

    1. expanding phase (Locks are issued)2. Shrinking phase (Locks are released)

    63. What are different types of two phase lockings (2pl)?

    Ans:

    1. Basic2. Conservative3. Strict4. Rigorousthis is the basic technique of 2pl described above.Conservative 2pl requires a transaction to lock all the items it accesses before the transaction

    begins its execution, by pre-declaring its read-set and write-set.Strict 2pl guarantees that a transaction doesnt release any of its exclusive locks until after itcommits or aborts.Rigorous guarantees that a transaction doesnt release any of its locks (including shared locks)until after it commits or aborts.

    64. What is a deadlock?

    Ans: Dead lock occurs when each transaction T in a set of two or more transactions is waiting

  • 8/8/2019 Interview Questions(All Types Important)

    38/69

    for some item that is locked by some other transaction T in the set. Hence each transaction is ina waiting queue, waiting for one of the other transactions to release the lock on them.

    65. What are triggers?

    Ans: Triggers are the PL/SQL blocks definining an action the database should take when some

    database related event occurs. Triggers may be used to supplement declarative referentialintegrity, to enforce complex business rules, or to audit changes to data.

    OPERATING SYSTEM

    1.What is an operating system?

    Ans: An operating system is a program that acts as an intermediary between the user and thecomputer hardware. The purpose of an OS is to provide a convenient environment in which usercan execute programs in a convenient and efficient manner.It is a resource allocator responsiblefor allocating system resources and a control program which controls the operation of thecomputer h/w.

    2.What are the various components of a computer system?

    Ans:

    1. The hardware2. The operating system3. The application programs4. The users.

    3.What is purpose of different operating systems?

    Ans:The machine Purpose Workstation individual usability &Resources utilization MainframeOptimize utilization of hardware PC Support complex games, business application Hand heldPCs Easy interface & min. power consumption

    4.What are the different operating systems?

    Ans:

    1. Batched operating systems2. Multi-programmed operating systems3. timesharing operating systems4. Distributed operating systems5. Real-time operating systems

    6.What is a boot-strap program?

    7.What is BIOS?

    8.Explain the concept of the batched operating systems?

    Ans: In batched operating system the users gives their jobs to the operator who sorts theprograms according to their requirements and executes them. This is time consuming but makesthe CPU busy all the time.

  • 8/8/2019 Interview Questions(All Types Important)

    39/69

    9.Explain the concept of the multi-programmed operating systems?

    Ans: A multi-programmed operating systems can execute a number of programs concurrently.The operating system fetches a group of programs from the job-pool in the secondary storagewhich contains all the programs to be executed, and places them in the main memory. Thisprocess is called job scheduling. Then it chooses a

    program from the ready queue and gives them to CPU to execute. When a executing programneeds some I/O operation then the operating system fetches another program and hands it to theCPU for execution, thus keeping the CPU busy all the time.

    10.Explain the concept of the timesharing operating systems?

    Ans: It is a logical extension of the multi-programmed OS where user can interact with theprogram. The CPU executes multiple jobs by switching among them, but the switches occur sofrequently that the user feels as if the operating system is running only his program.

    11.Explain the concept of the multi-processor systems or parallel systems?

    Ans: They contain a no. of processors to increase the speed of execution, and reliability, and

    economy. They are of two types:1. Symmetric multiprocessing2. Asymmetric multiprocessingIn Symmetric multi processing each processor run an identical copy of the OS, and these copiescommunicate with each other as and when needed.But in Asymmetric multiprocessing eachprocessor is assigned a specific task.

    12.Explain the concept of the Distributed systems?

    Ans: Distributed systems work in a network. They can share the network resources,communicatewith each other

    13.Explain the concept of Real-time operating systems?Ans: A real time operating system is used when rigid time requirement have been placed on theoperation of a processor or the flow of the data; thus, it is often used as a control device in adedicated application. Here the sensors bring data to the computer. The computer must analyzethe data and possibly adjust controls tomodify the sensor input.They are of two types:1. Hard real time OS2. Soft real time OSHard-real-time OS has well-defined fixed time constraints. But soft real time operating systemshave less stringent timing constraints.

    14.Define MULTICS?

    Ans: MULTICS (Multiplexed information and computing services) operating system wasdeveloped from 1965-1970 at Massachusetts institute of technology as a computing utility. Manyof the ideas used in MULTICS were subsequently used in UNIX.

    15.What is SCSI?

    Ans: Small computer systems interface.

  • 8/8/2019 Interview Questions(All Types Important)

    40/69

    16.What is a sector?

    Ans: Smallest addressable portion of a disk.

    17.What is cache-coherency?

    Ans: In a multiprocessor system there exist several caches each may containing a copy of same

    variable A. Then a change in one cache should immediately be reflected in all other caches thisprocess of maintaining the same value of a data in all the caches s called cache-coherency.

    18.What are residence monitors?

    Ans: Early operating systems were called residence monitors.

    19.What is dual-mode operation?

    Ans: In order to protect the operating systems and the system programs from the malfunctioningprograms the two mode operations were evolved:1. System mode.2. User mode.

    Here the user programs cannot directly interact with the system resources, instead they requestthe operating system which checks the request and does the required task for the user programs-DOS was written for / intel 8088 and has no dual-mode. Pentium provides dual-mode operation.

    20.What are the operating system components?

    Ans:

    1. Process management2. Main memory management3. File management4. I/O system management5. Secondary storage management

    6. Networking7. Protection system8. Command interpreter system

    21.What are operating system services?

    Ans:1. Program execution2. I/O operations3. File system manipulation4. Communication5. Error detection6. Resource allocation7. Accounting8. Protection

    22.What are system calls?

    Ans: System calls provide the interface between a process and the operating system. Systemcalls for modern Microsoft windows platforms are part of the win32 API, which is available forall the compilers written for Microsoft windows.

  • 8/8/2019 Interview Questions(All Types Important)

    41/69

    23.What is a layered approach and what is its advantage?

    Ans: Layered approach is a step towards modularizing of the system, in which the operatingsystem is broken up into a number of layers (or levels), each built on top of lower layer. Thebottom layer is the hard ware and the top most is the user interface.The main advantage of thelayered approach is modularity. The layers are

    selected such that each uses the functions (operations) and services of only lower layer. Thisapproach simplifies the debugging and system verification.

    24.What is micro kernel approach and site its advantages?

    Ans: Micro kernel approach is a step towards modularizing the operating system where allnonessential components from the kernel are removed and implemented as system and user levelprogram, making the kernel smaller.The benefits of the micro kernel approach include the easeof extending the operating system. All new services are added to the user space and consequentlydo not require modification of the kernel. And as kernel is smaller it is easier to upgrade it. Alsothis approach provides more security and reliability since most services are running as userprocesses rather than