1.Tell us about basic technical experience and qualifications ?
A.You can consider this question as an ice breaker. You will find yourself facing this question in almost all the interviews for this position. An effective answer to this question will summarize your basic technical qualification along with some information about the technologies and products you have worked on. Here, you can go on to talk about any revolutionary or recent technology you have worked on. For e.g. "I have completed by BE - Electronics with 78% marks and have a 2 years experience of working in the industry of security softwares. I have the privilege of working in the team which developed and supported the revolutionary Winsock Layer technology". The trick is to put the full stop at the right place to provoke the desired next question. With this answers, you can immediately expect a questions "What is Winsock Layer Technology?"
2.What technical skills do you possess that would benefit our company?
A.You must do some home work to answer this question effectively. Dig out the information about some products and technologies on which they work, match them with your skills set and prepare an effective answer. Company's website and job notification can be a good source for this information. To answer this question, you can say something like - "I see that your company sells security softwares for mail servers. I have a good knowledge of various mail servers, their performance and the security loop holes in them. This will help me in providing effective and efficient support to both the customers facing technical issues with your product as well those wanting to buy a new product."
3.What do you know about our products and company?
A.The purpose of this question is to check your level of interest and preparation for the position. Read the job advertisement carefully and go through their website to get some basic information about them. You are not expected to know in and out of the product or the company but exhibiting a basic knowledge can take you a long way ahead in comparison to other candidates.
4.Have you used any of our products or similar products/competitors?
A.If you have used the company's product or a product of the competitor, it does give you an advantage as you would have a basic idea about the functionalities. However, if you have not used any such product, don't worry. If you have the ability to grab things quickly and pick up the technology fast, you can prove yourself to be a potential candidate. For example, you can say something like this, "I am afraid, I haven't used your's or competitor's products first hand. However, I have seen others using them. Once I get hold of a product, I have an ability to uderstand the features quickly and I am quick at grabbing new technologies. So, I don't think it will pose any problem for me."
5.Would you say that you are hands-on type of person?
A.One of the most important qualities required in a person handling any support position is his ability to be available immediately as the requirement arises. So, the only answer to this question is "YES". Develop an attitude of being available whenever you are required.
6.What is data structure?
A.A data structure is a way of organizing data that considers not only the items stored, but also their relationship to each other. Advance knowledge about the relationship between data items allows designing of efficient algorithms for the manipulation of data.
7.What are the major data structures used in the following areas : RDBMS, Network data model and Hierarchical data model.
A.RDBMS = Array (i.e. Array of structures) Network data model = Graph Hierarchical data model = Trees
8.If you are using C language to implement the heterogeneous linked list, what pointer type will you use?
A.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 void pointer. Void pointer is capable of storing pointer to any type as it is a generic pointer type.
9.Minimum number of queues needed to implement the priority queue?
A.Two. One queue is used for actual storing of data and another for storing priorities.
10.What is the data structures used to perform recursion?
A.Stack. Because of its LIFO (Last In First Out) property it remembers its 'caller' so knows whom to return when the function has to return. Recursion makes use of system stack for storing the return addresses of the function calls. Every recursive function has its equivalent iterative (non-recursive) function. Even when such equivalent iterative procedures are written, explicit stack is to be used.
11.What are the notations used in Evaluation of Arithmetic Expressions using prefix and postfix forms?
A.Polish and Reverse Polish notations.
12.Convert the expression ((A + B) * C - (D - E) ^ (F + G)) to equivalent Prefix and Postfix notations.
A.Prefix Notation: - * +ABC ^ - DE + FG Postfix Notation: AB + C * DE - FG + ^ -
13.Sorting is not possible by using which of the following methods? (Insertion, Selection, Exchange, Deletion)
A.Sorting is not possible in 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 no sorting method can be done just using deletion.
14.What are the methods available in storing sequential files ?
A.Straight merging, Natural merging, Polyphase sort, Distribution of Initial runs.
15.List out few of the Application of tree data-structure?
A.The manipulation of Arithmetic expression, Symbol Table construction, Syntax analysis.
16.List out few of the applications that make use of Multilinked Structures?
A.Sparse matrix, Index generation.
17.In tree construction which is the suitable efficient data structure? (Array, Linked list, Stack, Queue)
A.Linked list is the suitable efficient data structure.
18.What is the type of the algorithm used in solving the 8 Queens problem?
19.In an AVL tree, at what condition the balancing is to be done?
A.If the 'pivotal value' (or the 'Height factor') is greater than 1 or less than -1.
20.What is the bucket size, when the overlapping and collision occur at same time?
A.One. If there is only one entry possible in the bucket, when the collision occurs, there is no way to accommodate the colliding value. This results in the overlapping of values.
21.Classify the Hashing Functions based on the various methods by which the key value is found.
A.Direct method, Subtraction method, Modulo-Division method, Digit-Extraction method, Mid-Square method, Folding method, Pseudo-random method.
22.What are the types of Collision Resolution Techniques and the methods used in each of the type?
A.Open addressing (closed hashing), The methods used include: Overflow block. Closed addressing (open hashing), The methods used include: Linked list, Binary tree.
23. In RDBMS, what is the efficient data structure used in the internal storage representation?
A.B+ tree. Because in B+ tree, all the data is stored only in leaf nodes, that makes searching easier. This corresponds to the records that shall be stored in leaf nodes.
24.What is a spanning Tree?
A.A spanning tree is a tree associated with a network. All the nodes of the graph appear on the tree once. A minimum spanning tree is a spanning tree organized so that the total edge weight between nodes is minimized.
25.Does the minimum spanning tree of a graph give the shortest distance between any 2 specified nodes?
A.No. The Minimal spanning tree assures that the total weight of the tree is kept at its minimum. But it doesn't mean that the distance between any two nodes involved in the minimum-spanning tree is minimum.
26.Which is the simplest file structure? (Sequential, Indexed, Random)
A.Sequential is the simplest file structure.
27.Whether Linked List is linear or Non-linear data structure?
A.According to Access strategies Linked list is a linear one. According to Storage Linked List is a Non-linear one.
28.What is the concept of Postback in ASP.NET?
A.A postback is a request sent from a client to server from the same page user is already working with. ASP.NET was introduced with a mechanism to post an HTTP POST request back to the same page. It's basically posting a complete page back to server (i.e. sending all of its data) on same page. So, the whole page is refreshed. Another concept related to this approach is "Callback" that is also asked sometimes during a technical interview question. Click here to understand Postback Vs Callback in ASP.NET.
29.Difference between ASP.NET WebForms and ASP.NET MVC?
A.ASP.NET Web Forms uses Page controller pattern approach for rendering layout. In this approach, every page has it's own controller i.e. code-behind file that processes the request. On the other hand, ASP.NET MVC uses Front Controller approach. In this approach a common controller for all pages, processes the requests. Please follow for detailed information on WebForms Vs MVC.
30.Please briefly explain ASP.NET Page life Cycle?
A.ASP.NET page passes through a series of steps during its life cycle. Following is the high-level explanation of life cycle stages/steps. Initialization: Controls raise their Init event in this stage.Objects and variables are initializes for complete lifecyle of request. LoadViewState: is a post back stage and loads the view state for the controls that enabled its view state property. LoadPostBackData: is also a post back stage and loads the data posted for the controls and update them. Load: In this stage page as well as all the controls raise their Load event. Till this stage all the controls are initialized and loaded. In most of the cases, we are coding this event handler. RaisePostBackEvent: is again a postback stage. For example, it's raise against a button click event. We can easily put our code here to perform certain actions. SaveViewState: Finally, controls state is saved in this stage before Rendering HTML. Render: This is the stage where HTML is generated for the page. Dispose: Lastly, all objects associated with the request are cleaned up. For very detailed explanation of Page Life Cycle is explained here.
31.What is the difference between custom controls and user controls?
A.Custom controls are basically compiled code i.e. DLLs. These can be easily added to toolbox, so it can be easily used across multiple projects using drag and drop approach. These controls are comparatively hard to create. But User Controls (.ascx) are just like pages (.aspx). These are comparatively easy to create but tightly couple with respect to User Interface and code. In order to use across multiple projects, we need to copy and paste to the other project as well.
32.What is the concept of view state in ASP.NET?
A.As in earlier question, we understood the concept of postback. So, in order to maintain the state between postbacks, ASP.NET provides a mechanism called view state. Hidden form fields are used to store the state of objects on client side and returned back to server in subsequent request (as postback occurs).
33.Difference between Response.Redirect and Server.Transfer?
A.In case of Response.Redirect, a new request is generated from client-side for redirected page. It's a kind of additional round trip. As new request is generated from client, so the new URL is visible to user in browser after redirection. While in case of Server.Transfer, a request is transferred from one page to another without making a round trip from client. For the end user, URL remains the same in browser even after transferring to another page.
34.What is an IL?
A.Intermediate Language is also known as MSIL (Microsoft Intermediate Language) or CIL (Common Intermediate Language). All .NET source code is compiled to IL. IL is then converted to machine code at the point where the software is installed, or at run-time by a Just-In-Time (JIT) compiler.
35.What are code contracts?
A.Code contracts help you to express the code assumptions and statements stating the behavior of your code in a language-neutral way. The contracts are included in the form of pre-conditions, post-conditions and object-invariants. The contracts help you to improve-testing by enabling run-time checking, static contract verification, and documentation generation. The System.Diagnostics.Contracts namespace contains static classes that are used to express contracts in your code.
36.What is managed extensibility framework?
A.Managed extensibility framework (MEF) is a new library that is introduced as a part of .NET 4.0 and Silverlight 4. It helps in extending your application by providing greater reuse of applications and components. MEF provides a way for host application to consume external extensions without any configuration requirement.
37.Explain memory-mapped files.
A.Memory-mapped files (MMFs) allow you map the content of a file to the logical address of an application. These files enable the multiple processes running on the same machine to share data with each Other. The MemoryMappedFile.CreateFromFile() method is used to obtain a MemoryMappedFile object that represents a persisted memory-mapped file from a file on disk. These files are included in the System.IO.MemoryMappedFiles namespace. This namespace contains four classes and three enumerations to help you access and secure your file mappings.
38.Give a brief introduction on side-by-side execution. Can two applications, one using private assembly and the other using the shared assembly be stated as side-by-side executables?
A.Side-by-side execution enables you to run multiple versions of an application or component and CLR on the same computer at the same time. As versioning is applicable only to shared assemblies and not to private assemblies, two applications, one using a private assembly and other using a shared assembly, cannot be stated as side-by-side executables.
39.Which method do you use to enforce garbage collection in .NET?
A.The System.GC.Collect() method.
40.State the differences between the Dispose() and Finalize().
A.CLR uses the Dispose and Finalize methods to perform garbage collection of run-time objects of .NET applications. The Finalize method is called automatically by the runtime. CLR has a garbage collector (GC), which periodically checks for objects in heap that are no longer referenced by any object or program. It calls the Finalize method to free the memory used by such objects. The Dispose method is called by the programmer. Dispose is another method to release the memory used by an object. The Dispose method needs to be explicitly called in code to dereference an object from the heap. The Dispose method can be invoked only by the classes that implement the IDisposable interface.
41.What is code access security (CAS)?
A.Code access security (CAS) is part of the .NET security model that prevents unauthorized access of resources and operations, and restricts the code to perform particular tasks.
42.Differentiate between managed and unmanaged code?
A.Managed code is the code that is executed directly by the CLR instead of the operating system. The code compiler first compiles the managed code to intermediate language (IL) code, also called as MSIL code. This code doesn't depend on machine configurations and can be executed on different machines. Unmanaged code is the code that is executed directly by the operating system outside the CLR environment. It is directly compiled to native machine code which depends on the machine configuration. In the managed code, since the execution of the code is governed by CLR, the runtime provides different services, such as garbage collection, type checking, exception handling, and security support. These services help provide uniformity in platform and language-independent behavior of managed code applications. In the unmanaged code, the allocation of memory, type safety, and security is required to be taken care of by the developer. If the unmanaged code is not properly handled, it may result in memory leak. Examples of unmanaged code are ActiveX components and Win32 APIs that execute beyond the scope of native CLR.
43.What are tuples?
A.Tuple is a fixed-size collection that can have elements of either same or different data types. Similar to arrays, a user must have to specify the size of a tuple at the time of declaration. Tuples are allowed to hold up from 1 to 8 elements and if there are more than 8 elements, then the 8th element can be defined as another tuple. Tuples can be specified as parameter or return type of a method.
44.Is there a way to suppress the finalize process inside the garbage collector forcibly in .NET?
A.Use the GC.SuppressFinalize() method to suppress the finalize process inside the garbage collector forcibly in .NET.
45.Which is the root namespace for fundamental types in .NET Framework?
A.System.Object is the root namespace for fundamental types in .NET Framework.
46.What are the improvements made in CAS in .NET 4.0?
A.The CAS mechanism in .NET is used to control and configure the ability of managed code. Earlier, as this policy was applicable for only native applications, the security guarantee was limited. Therefore, developers used to look for alternating solutions, such as operating system-level solutions. This problem was solved in .NET Framework 4 by turning off the machine-wide security. The shared and hosted Web applications can now run more securely. The security policy in .NET Framework 4 has been simplified using the transparency model. This model allows you to run the Web applications without concerning about the CAS policies. As a result of security policy changes in .NET Framework 4.0, you may encounter compilation warnings and runtime exceptions, if your try to use the obsolete CAS policy types and members either implicitly or explicitly. However, you can avoid the warnings and errors by using the
configuration element in the runtime settings schema to opt into the obsolete CAS policy behavior.
47.What is Microsoft Intermediate Language (MSIL)?
A.The .NET Framework is shipped with compilers of all .NET programming languages to develop programs. There are separate compilers for the Visual Basic, C#, and Visual C++ programming languages in .NET Framework. Each .NET compiler produces an intermediate code after compiling the source code. The intermediate code is common for all languages and is understandable only to .NET environment. This intermediate code is known as MSIL.
48.What is lazy initialization?
A.Lazy initialization is a process by which an object is not initialized until it is first called in your code. The .NET 4.0 introduces a new wrapper class, System.Lazy
, for executing the lazy initialization in your application. Lazy initialization helps you to reduce the wastage of resources and memory requirements to improve performance. It also supports thread-safety.
49.What is Common Language Specification (CLS)?
A.CLS is a set of basic rules, which must be followed by each .NET language to be a .NET- compliant language. It enables interoperability between two .NET-compliant languages. CLS is a subset of CTS; therefore, the languages supported by CLS can use each other's class libraries similar to their own. Application programming interfaces (APIs), which are designed by following the rules defined in CLS can be used by all .NET-compliant languages.
50.What is the difference between int and int32.
A.There is no difference between int and int32. System.Int32 is a .NET Class and int is an alias name for System.Int32.
51.What is RDBMS?
A.Relational Data Base Management Systems (RDBMS) are database management systems that maintain data records and indices in tables. Relationships may be created and maintained across and among the data and tables. In a relational database, relationships between data items are expressed by means of tables. Interdependencies among these tables are expressed by data values rather than by pointers. This allows a high degree of data independence. An RDBMS has the capability to recombine the data items from different files, providing powerful tools for data usage.
52.What is Normalization?
A.Database normalization is a data design and organization process applied to data structures based on rules that help building relational databases. In relational database design, the process of organizing data to minimize redundancy is called normalization. Normalization usually involves dividing a database into two or more tables and defining relationships between the tables. The objective is to isolate data so that additions, deletions, and modifications of a field can be made in just one table and then propagated through the rest of the database via the defined relationships.
53.What is De-normalization?
A.De-normalization is the process of attempting to optimize the performance of a database by adding redundant data. It is sometimes necessary because current DBMSs implement the relational model poorly. A true relational DBMS would allow for a fully normalized database at the logical level, while providing physical storage of data that is tuned for high performance. De-normalization is a technique to move from higher to lower normal forms of database modeling in order to speed up database access.
54.What is Stored Procedure?
A.A stored procedure is a named group of SQL statements that have been previously created and stored in the server database. Stored procedures accept input parameters so that a single procedure can be used over the network by several clients using different input data. And when the procedure is modified, all clients automatically get the new version. Stored procedures reduce network traffic and improve performance. Stored procedures can be used to help ensure the integrity of the database.
55.What is Trigger?
A.A trigger is a SQL procedure that initiates an action when an event (INSERT, DELETE or UPDATE) occurs. Triggers are stored in and managed by the DBMS. Triggers are used to maintain the referential integrity of data by changing the data in a systematic fashion.
56.What is Nested Trigger?
A.A trigger can also contain INSERT, UPDATE and DELETE logic within itself, so when the trigger is fired because of data modification it can also cause another data modification, thereby firing another trigger. A trigger that contains data modification logic within itself is called a nested trigger.
57.What is View?
A.A simple view can be thought of as a subset of a table. It can be used for retrieving data, as well as updating or deleting rows. Rows updated or deleted in the view are updated or deleted in the table the view was created with.
58.What is Index?
A.An index is a physical structure containing pointers to the data. Indices are created in an existing table to locate rows more quickly and efficiently.
59.What is a Linked Server?
A.Linked Servers is a concept in SQL Server by which we can add other SQL Server to a Group and query both the SQL Server dbs using T-SQL Statements.
60.What is Collation?
A.Collation refers to a set of rules that determine how data is sorted and compared. Character data is sorted using rules that define the correct character sequence, with options for specifying case sensitivity, accent marks, kana character types and character width.
61.What is Difference between Function and Stored Procedure?
A.UDF can be used in the SQL statements anywhere in the WHERE/HAVING/SELECT section where as Stored procedures cannot be. UDFs that return tables can be treated as another rowset. This can be used in JOINs with other tables. Inline UDF's can be thought of as views that take parameters and can be used in JOINs and other Rowset operations.
62.What is sub-query?
A.Sub-queries are often referred to as sub-selects, as they allow a SELECT statement to be executed arbitrarily within the body of another SQL statement.
63.What are primary keys and foreign keys?
A.Primary keys are the unique identifiers for each row. They must contain unique values and cannot be null. Due to their importance in relational databases, Primary keys are the most fundamental of all keys and constraints. A table can have only one Primary key. Foreign keys are both a method of ensuring data integrity and a manifestation of the relationship between tables.
64.What is Identity?
A.Identity (or AutoNumber) is a column that automatically generates numeric values. A start and increment value can be set, but most DBA leave these at 1. A GUID column also generates numbers; the value of this cannot be controlled. Identity/GUID columns do not need to be indexed.
65.How are devices represented in UNIX?
A.All devices are represented by files called special files that are located in /dev directory. Thus, device files and other files are named and accessed in the same way. A 'regular file' is just an ordinary data file in the disk. A 'block special file' represents a device with characteristics similar to a disk (data transfer in terms of blocks).
66.Brief about the directory representation in UNIX.
A.A Unix directory is a file containing a correspondence between filenames and inodes. A directory is a special file that the kernel maintains.
67.What is a FIFO?
A.IFO are otherwise called as 'named pipes'. FIFO (first-in-first-out) is a special file which is said to be data transient. Once data is read from named pipe, it cannot be read again. Also, data can be read only in the order written.
68.Discuss the mount and unmount system calls.
A.The privileged mount system call is used to attach a file system to a directory of another file system; the unmount system call detaches a file system. When you mount another file system on to your directory, you are essentially splicing one directory tree onto a branch in another directory tree. The first argument to mount call is the mount point, that is , a directory in the current file naming system. The second argument is the file system to mount to that point. When you insert a cdrom to your unix system's drive, the file system in the cdrom automatically mounts to "/dev/cdrom" in your system.
69.How does the inode map to data block of a file?
A.Inode has 13 block addresses. The first 10 are direct block addresses of the first 10 data blocks in the file. The 11th address points to a one-level index block. The 12th address points to a two-level (double in-direction) index block. The 13th address points to a three-level(triple in-direction)index block. This provides a very large maximum file size with efficient access to large files, but also small files are accessed directly in one disk read.
70.What is a shell?
A.A shell is an interactive user interface to an operating system services that allows an user to enter commands as character strings or through a graphical user interface. The shell converts them to system calls to the OS or forks off a process to execute the command. System call results and other information from the OS are presented to the user through an interactive interface. Commonly used shells are sh,csh,ks etc.