C# Interview Questions, Part 2
21. What’s the difference between an interface and abstract class? In the interface all methods must be abstract; in the abstract class some methods can be concrete. In the interface no accessibility modifiers are allowed, which is ok in abstract classes.
22. How can you overload a method? Different parameter data types, different number of parameters, different order of parameters.
23. If a base class has a bunch of overloaded constructors, and an inherited class has another bunch of overloaded constructors, can you enforce a call from an inherited constructor to an arbitrary base constructor? Yes, just place a colon, and then keyword base (parameter list to invoke the appropriate constructor) in the overloaded constructor definition inside the inherited class.
24. What’s the difference between System.String and System.StringBuilder classes? System.String is immutable; System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.
25. What’s the advantage of using System.Text.StringBuilder over System.String? StringBuilder is more efficient in the cases, where a lot of manipulation is done to the text. Strings are immutable, so each time it’s being operated on, a new instance is created.
26. Can you store multiple data types in System.Array? No.
27. What’s the difference between the System.Array.CopyTo() and System.Array.Clone()? The first one performs a deep copy of the array, the second one is shallow.
28. How can you sort the elements of the array in descending order? By calling Sort() and then Reverse() methods.
29. What’s the .NET datatype that allows the retrieval of data by a unique key? HashTable.
30. What’s class SortedList underneath? A sorted HashTable.
31. Will finally block get executed if the exception had not occurred? Yes.
32. What’s the C# equivalent of C++ catch (…), which was a catch-all statement for any possible exception? A catch block that catches the exception of type System.Exception. You can also omit the parameter data type in this case and just write catch {}.
33. Can multiple catch blocks be executed? No, once the proper catch code fires off, the control is transferred to the finally block (if there are any), and then whatever follows the finally block.
34. Why is it a bad idea to throw your own exceptions? Well, if at that point you know that an error has occurred, then why not write the proper code to handle that error instead of passing a new Exception object to the catch block? Throwing your own exceptions signifies some design flaws in the project.
35. What’s a delegate? A delegate object encapsulates a reference to a method. In C++ they were referred to as function pointers.
36. What’s a multicast delegate? It’s a delegate that points to and eventually fires off several methods.
37. How’s the DLL Hell problem solved in .NET? Assembly versioning allows the application to specify not only the library it needs to run (which was available under Win32), but also the version of the assembly.
38. What are the ways to deploy an assembly? An MSI installer, a CAB archive, and XCOPY command.
39. What’s a satellite assembly? When you write a multilingual or multi-cultural application in .NET, and want to distribute the core application separately from the localized modules, the localized assemblies that modify the core application are called satellite assemblies.
40. What namespaces are necessary to create a localized application? System.Globalization, System.Resources.
Interview Questions: Indexes in SQL, What is Index? It’s purpose?
What is Index? It's purpose?
Indexes in databases are similar to indexes in books. In a database,
an index allows the database program to find data in a table without
scanning
the entire table. An index in a database is a list of values
in a table with the storage locations of rows in the table that
contain each value. Indexes can be created on either a single column
or a combination of columns in a table and are implemented in the form
of B-trees. An index contains an entry with one or more columns (the
search key) from each row in a table. A B-tree is sorted on the search
key, and can be searched efficiently on any leading subset of the
search key. For example, an index on columns A, B, C can be searched
efficiently on A, on A, B, and A, B, C.
C# Interview Questions, Part 1
1. What’s the implicit name of the parameter that gets passed into the class’ set method? Value, and its datatype depends on whatever variable we’re changing.
2. How do you inherit from a class in C#? Place a colon and then the name of the base class. Notice that it’s double colon in C++.
3. Does C# support multiple inheritance? No, use interfaces instead.
4. When you inherit a protected class-level variable, who is it available to? Classes in the same namespace.
5. Are private class-level variables inherited? Yes, but they are not accessible, so looking at it you can honestly say that they are not inherited. But they are.
6. Describe the accessibility modifier protected internal. It’s available to derived classes and classes within the same Assembly (and naturally from the base class it’s declared in).
7. C# provides a default constructor for me. I write a constructor that takes a string as a parameter, but want to keep the no parameter one. How many constructors should I write? Two. Once you write at least one constructor, C# cancels the freebie constructor, and now you have to write one yourself, even if there’s no implementation in it.
8. What’s the top .NET class that everything is derived from? System.Object.
9. How’s method overriding different from overloading? When overriding, you change the method behavior for a derived class. Overloading simply involves having a method with the same name within the class.
10. What does the keyword virtual mean in the method definition? The method can be over-ridden.
11. Can you declare the override method static while the original method is non-static? No, you can’t, the signature of the virtual method must remain the same, only the keyword virtual is changed to keyword override.
12. Can you override private virtual methods? No, moreover, you cannot access private methods in inherited classes, have to be protected in the base class to allow any sort of access.
13. Can you prevent your class from being inherited and becoming a base class for some other classes? Yes, that’s what keyword sealed in the class definition is for. The developer trying to derive from your class will get a message: cannot inherit from Sealed class WhateverBaseClassName. It’s the same concept as final class in Java.
14. Can you allow class to be inherited, but prevent the method from being over-ridden? Yes, just leave the class public and make the method sealed.
15. What’s an abstract class? A class that cannot be instantiated. A concept in C++ known as pure virtual method. A class that must be inherited and have the methods over-ridden. Essentially, it’s a blueprint for a class without any implementation.
16. When do you absolutely have to declare a class as abstract (as opposed to free-willed educated choice or decision based on UML diagram)? When at least one of the methods in the class is abstract. When the class itself is inherited from an abstract class, but not all base abstract methods have been over-ridden.
17. What’s an interface class? It’s an abstract class with public abstract methods all of which must be implemented in the inherited classes.
18. Why can’t you specify the accessibility modifier for methods inside the interface? They all must be public. Therefore, to prevent you from getting the false impression that you have any freedom of choice, you are not allowed to specify any accessibility, it’s public by default.
19. Can you inherit multiple interfaces? Yes, why not.
20. And if they have conflicting method names? It’s up to you to implement the method inside your own class, so implementation is left entirely up to you. This might cause a problem on a higher-level scale if similarly named methods from different interfaces expect different data, but as far as compiler cares you’re okay.
Data Dictionary Queries for Oracle
For ORACLE
select * from sys.dba_objectswhere owner = 'scott'and object_type='TABLE'
SELECT owner, object_name, object_type FROM sys.dba_objectswhere object_type='SEQUENCE' and owner='scott';
Data Dictionary Queries for SQL Server
--Finding all details of Primary Key constraint
select * from sysobjectswhere xtype='PK'
--Finding all details of Foreign Key constraint
select * from sysobjectswhere xtype='F'
--Finding all User-Defined objects (tables, etc)
select * from sysobjectswhere xtype='U'
--Finding all System objects
select * from sysobjectswhere xtype='S'
--Finding all user names
select * from sysusers
--Finding Column Names of Particular Table
--Select Pubs Database
select c.name from sysobjects o, syscolumns cwhere o.id = c.id ando.name = 'publishers'
Lie in an Interview? Right or Wrong? Part 2
Continue my last post, http://tipsinterview.com/2010/03/22/lie-in-an-interview-right-or-wrong-part-1/
4. I don't have any experience in the field or industry?
It will be clear in the interview that the experience you have from one position may not be in line with your needs working in a new position, Guinn says. "There is nothing in that which is inappropriate or in which any fact is being misrepresented." Stress your interest and what you can provide in the position and discuss what specific training you will be offered to create competency in your role.
5. I know my boss will give me a bad reference?
"Many bosses today refuse to discuss past employees with potential ones and turn these questions over to the HR department," Guinn says. "If you know your boss will give you a bad reference, tell the interviewer that you have concerns your reputation may be tarnished by working for the past employer, and you'd appreciate knowing if there was anything improper said about you during the reference checks."
6. I made much less in my last job, but think I deserve a significant raise?
It's tempting to want to inflate your past salary to earn more in your next role, but with more employers doing credit checks, you'll probably get caught. You're better advised to share the range of salary you received and ask about opportunities for improvement of salary, Guinn says.
7. I intend only to stay for a few months and/or don't want this to be my career?
"Employers invest large sums [of money] in finding the right candidate for a position. What's to say this can't be a great, long-term job for you?" Guinn says. "Many of us started out in a role with no plans to stay, but found that the job we took was meaningful, satisfied our personal and professional needs and paid us a worthy salary. You don't know what is going to happen in six months; always leave your options open."
8. I already have a vacation, wedding or getaway planned?
If you're hired, the employer is obviously going to find out sooner or later that you need some time off. If you offer to follow the appropriate measures, most employers will find a way to work around any previously planned events
9. I am overqualified for the job and want to leave some credentials off my résumé?
You've worked hard for those credentials and you should be proud of them. Guinn suggests having multiple résumés that differ based on the level of position for which you are applying. "List the qualifications you truly hold that would be of benefit in securing the job you want to have," he says.
10. I have an injury or illness that prevents me from doing necessary work for the job?
Many applicants are hesitant to address an injury or illness for fear that the employer will see them as a potential insurance liability. But Guinn says most employers will make accommodations for great applicants with a handicap. He suggests asking if any accommodations can be made and if not, seeking out an employer that is willing to make the adjustment.
.Net Interview Questions
1. Explain the differences between Server-side and Client-side code?
2. What type of code (server or client) is found in a Code-Behind class?
3. Should validation (did the user enter a real date) occur server-side or client-side? Why?
4. What does the "EnableViewState" property do? Why would I want it on or off?
5. What is the difference between Servers? Transfer and Response. Redirect? Why would I choose one over the other?
6.Can you give an example of when it would be appropriate to use a web service as opposed to a non-serviced .NET component
7.Let's say I have an existing application written using Visual Studio 6 (VB 6, InterDev 6) and this application utilizes Windows 2000 COM+ transaction services. How would you approach migrating this application to .NET
8.Can you explain the difference between an ADO.NET Dataset and an ADO Recordset?
9. Can you give an example of what might be best suited to place in the Application Start and Session Start subroutines?
10. If I'm developing an application that must accommodate multiple security levels though secure login and my ASP.NET web application is spanned across three web-servers (using round-robin load balancing) what would be the best approach to maintain login-in state for the users?