Click here to Skip to main content
15,885,899 members
Articles / Web Development / ASP.NET

Reply to Scott Henselman's Interview Questions

Rate me:
Please Sign up or sign in to vote.
3.11/5 (15 votes)
10 Jan 2009CPOL24 min read 127.5K   43   27
This is my very humble effort to reply Mr. Scott Henselman's Interview questions with great respect for him.

Let’s answer Scott Hanselman interview questions.

First of all, I would like to clear, purpose of this post is only educational/shareing knowledge. May be i am wrong and i would love if any1 of you correct me through commenting to this post with authentic references. i will really appreciate the contributors. 

Many days back I saw Scott hanselman website and kept reading his many other blogs and I found a list of interview questions which he said, he asked usually and he thinks should be known by .net guys at different levels. I got many (some wrote and answered as well) interview questions and put them at single platform just for knowledge sharing @ http://interviewquestion.wordpress.com . Actually I always like to be part of interviews questions so I decided to write answer of them according to my little knowledge.

I can say now, it’s really great learning/evaluation experience when I was thinking/writing their answers as to just skim them is another thing than to answer them.

Hmmm now let me tell you I didn’t answer 100% and didn’t know answer 100% as well so I just tell you how much I answered by my brain and how much I couldn’t. I have divided answers in three categories. 1 I knew J. 2 I didn’t know L. 3 I know but not sure ;) so took either help or wrote according to my littleeeeeee knowledge.

At the end of each question I have mentioned emoticon to mention which I knew and … if you are interested to know which I knew or not, it would help you to know rather pinging me on msn :D

Let me make stats for my knowledge vs questions :P

Total Questions: 84

I knew: 61 (I think if I dind’t count wrong) :)

I Knew but was not sure about 16 (so replied using brain & external help as well)  ;)

I didn’t know 7  :(

 

What Great .NET Developers Ought To Know

Everyone who writes code

  • Describe the difference between a Thread and a Process? :)

  • Thread is minimum unit for processor to execute. Collections of threads make process. By dividing process into threads, processor achieves multi tasking (by running threads concurrently not parallel). Threads can share memory but processes can’t share memory. Threads can communicate with each other of same process without any middle layer but process can’t they required inter process communication kind of thingy.

  • What is a Windows Service and how does its lifecycle differ from a "standard" EXE? ;)

  • Windows service is windows based background process which has no user interface like any other service (aka daemon in UNIX based environment). Windows service needs to be installed before executing unlike EXE. Windows service used to perform such tasks which doesn’t required user interaction but system status based events like performing tasks at specific intervals or at different state of system like alarm user when disk is about to get full to clean up. Windows service is controlled by Service control manager (SCM) and it started automatically even user didn’t login to his/her windows account (as SCM already has account credentials so SCM knows if system start which service needs to start and by which account), where as EXE is controlled by OS and runs only when user get login using windows account.

  • What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design? ;)

  • Single process on windows can address different amount of memory as it depends upon systems (32bit/64bit processor) and OS as well. Yes process memory consumption size can be different from maximum virtual memory size. If software/process code is written by keeping 64 bit processor (as 64 bit processor support more than double memory) then it won’t be able to run that process on 32 bit system.  

  • What is the difference between an EXE and a DLL? :)

  • Exe is executable and independent program/process to run which has its own reserved memory space whereas DLL (Dynamic Link Library) is neither executable and not even independent, it used by other DLL/program.

  • What is strong-typing versus weak-typing? Which is preferred? Why? :)

  • Strong typing means a person who has great typing skills and that chat do too much chatting :D just joking. Strong typing means when code compiles, type rules enforced strictly according to their data assigned to them whereas weak typing is quite opposite of this definition. JavaScript/C/C++ is weak typing but .net based languages are strongly typed. Strong typing is preferred by means of less run time errors risk and efficient during execution of program but not during compile time.

  • Corillian's product is a "Component Container." Name at least 3 component containers that ship now with the Windows Server Family. ;)

  • I am not sure either I understood this question in correct way. I think answer would be Windows Shell, Windows Explorer, IIS (happy guessing)

  • What is a PID? How is it useful when troubleshooting a system? :)

  • PID is Process ID which is unique to identify any process within a system. Whilst troubleshooting we can kill process through its PID.

  • How many processes can listen on a single TCP/IP port? :)

  • I think single process can only hold handler of any port at a time means can listen on single port. Once I got error when I ran my web application as another application (skype) was using that port. It make sense as well, ports are like doors if two people talk on specific door and third one comes up then no privacy :-D (divorce ratio would be dramatically raised)

  • What is the GAC? What problem does it solve? :)

  • GAC stands for Global Access Cache where shareable/public assemblies (DLL) stored to be used by multiple programs. It gives a shared platform for programs to use single assembly and can store same assembly (of same name) with different versions and can help to solve DLL HELL.

Mid-Level .NET Developer

·         Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming. ;)

???????????? Please post reply with references if you know through commenting..

·         Describe what an Interface is and how it’s different from a Class. :)

·         An interface is strictly a Contract without implementation means interface can only declare properties or methods. Class can have implementation of its methods, can have different level of access identifiers whereas interface’s properties or methods can have only public access identifier and can implement class and multiple interfaces.

·         What is Reflection? :)

·         Reflection is mechanism to load dynamically assembly at runtime and using assembly Meta data can access its namespace, class and their properties, methods and even events.

·         What is the difference between XML Web Services using ASMX and .NET Remoting using SOAP? :(

·         Remoting assumes the other end is .NET. This is because .NET remoting using SOAP uses the SoapFormatter to serialize data. SoapFormatter embeds the type information required to deserialize the object into the message itself. This requires that the client and the server must have access to this assembly. Remoting believes in the .NET Type System. Remoting believes in sharing types and assemblies. Remoting can support DCOM style Client Activated Objects which are stateful. The use of CAOs though have to be carefully thought about because CAOs cannot be load balanced. ASMX model does not assume that the other end is .NET. ASMX uses XmlSerializer to serialize data. Xmlserailizer believes that the XML Type System, that is the XSD is superior and works on serializing data conforming to a schema. In other words XML Web Services believe in sharing schema and contracts over types and assemblies. This makes the Web Services interoperable. ASMX services are usually stateless. Ref

·         Are the type system represented by XmlSchema and the CLS isomorphic? :(

·         No, there is some impedence mismtach. That's the reason you ned IXmlSerializable to help the XmlSerializer. XSD is not a type system in the traditional sense. Ref

·         Conceptually, what is the difference between early-binding and late-binding? :)

·         Early binding means compiler get information of type calling/path execution during compilation of code and in late binding compiler doesn’t get that information but this information determined at runtime/execution time.

·         Is using Assembly.Load a static reference or dynamic reference? :)

·         Its dynamic load (Reflection)

·         When would using Assembly.LoadFrom or Assembly.LoadFile be appropriate? ;)

·         Difference is only about binding. LoadFrom is flexible and if it doesn’t get assembly where it was pointing then it can be redirect to another path on the other hand LoadFile points/depends upon strictly to reference/path of the assembly defined, don’t redirect in case of failure.

·         What is an Asssembly Qualified Name? Is it a filename? How is it different? :)

·         Assembly qualified name contains assembly name, version, token key whereas filename is simple file name physically on file system. Assembly names store as Meta data as is very important by means of defining scope.

·         Is this valid? Assembly.Load("foo.dll") :)

·         Ofcouse NOT :D as its file name not Assembly qualified name which is required.

·         How is a strongly-named assembly different from one that isn’t strongly-named? :)

·         Strongly named assembly have strong names due to public token key so can be stored in GAC (shared environment) and can be referred by multiple programs whereas non-strongly name can’t be stored in GAC.

·         Can DateTimes be null? :)

·         Before .net 2.0 it was not possible as datetime/integer… are struct/value types which can’t be null but due to nullable types now its possible.

·         What is the JIT? What is NGEN? What are limitations and benefits of each? J;)

·         I remember, once I was being interviewed at very big name (company), interviewer asked me about .net IL compilation… I start telling and talked about JIT as well after listening me he said hmmm JIT exist in Java technologies not .net technologies, I said no I read about it and it does but he kept negating me so I got quite and said Ok. Anyhow JIT stands for Just in time compiler it compiles code into native code to execute by processor in three different techniques. It compiles code just before code required to be run which makes execution little slow (depends) so to avoid that we use NGEN which converts IL into native code like JIT but during deployment. It comes with large image which also includes that codes compiled version which is not being calling frequently.

·         How does the generational garbage collector in the .NET CLR manage object lifetime? What is non-deterministic finalization? ;)

·         Object life time divides into three different generations, 1 short term and 2 long terms so manage accordingly. Non deterministic finalization means GC calls finalize method of object not right after object goes out of scope rather when GC got idle time to prioritize it.

·         What is the difference between Finalize() and Dispose()? :)

·         Finalize called by GC and Dispose called by programmer to free up resources.

·         How is the using() pattern useful? What is IDisposable? How does it support deterministic finalization? :)

·         Using statement is quite handy and makes code quite efficient as right after end of using statement object created/declared in that statement disposed automatically means dispose method get called in deterministic way to free up memory. IDisposible is interface which classes implements to dispose unmanaged resources in deterministic manner.

·         What does this useful command line do? tasklist /m "mscor*" ;)

·         It will list down all the processes that have loaded modules which start from mscor… hosting by the .net environment.

·         What is the difference between in-proc and out-of-proc? :)

·         As name implies in proc means loading in the same process memory domain of invoker/host, it is fast technique but less reliable than out proc in case of any fault/exception occurs. Out proc is opposite to in proc definition and as loading out of the host process so is not depending and could be safe in host process failure for some reason.

·         What technology enables out-of-proc communication in .NET? ;)

·         .net remoting through marshalling

·         When you’re running a component within ASP.NET, what process is it running within on Windows XP? Windows 2000? Windows 2003? J

·         Aspnet_wp.exe in case of winxp and win2k but w3pw.exe in case of win2k3.

Senior Developers/Architects

·         What’s wrong with a line like this? DateTime.Parse(myString); :)

·         There is nothing wrong necessarily but could be wrong means no error no exception but some logical error like unexpected result could be produce due to lack of locale/culture info.

·         What are PDBs? Where must they be located for debugging to work? :)

·         PDB stands for Program database store debugging symbols and meta information for debugging. Normally they are located at bin or debug folder.

·         What is cyclomatic complexity and why is it important? :(

???????????? Please post reply with references if you know through commenting..

·         Write a standard lock() plus “double check” to create a critical section around a variable access. :);)

·         Object objLock; bool isLocked = true; if (isLocked) {lock(objLock){if (isLocked) {//bingooooo}}}} 

·         What is FullTrust? Do GAC’ed assemblies have FullTrust? :)

·         FullTrust means newly happily marriage :D and in .net it means Assembly have full access of system resources (which is quite dangerous and in shared hosting domain only medium trust level is allowed). YES GACed assemblies have fulltrust.

·         What benefit does your code receive if you decorate it with attributes demanding specific Security permissions? :)

·         It let user know what your code/program required to do so and either it’s allowed to do operation or not so it becomes user friendly by means of security permissions.

·         What does this do? gacutil /l | find /i "Corillian" :)

·         I knew about gacutil only not about any other parameters but I think I can guess so I think gacutil /l means list of assemblies in GAC (as gacutil used to install/uninstall assemblies in gac and I did that operation ONLY) find /I “Corrilian” seems to look for Corillian named assemblies and not sure about /I but I think in other commands it means ignore case hope it means same here too ;)

·         What does this do? sn -t foo.dll :)

·         SN stands for strong name and used to generate strong names of assemblies but not sure about –t param here but my searching told me its for Token Key.

·         What ports must be open for DCOM over a firewall? What is the purpose of Port 135? :(

·         DCOM is distributed COM technology which used to remote procedure call and it used port 135 by default. 135 is port of Remote procedure call Service and as DCOM is OO based RPC  mechanism so no wonder about it ;) by the way good question can kill any 1J

·         Contrast OOP and SOA. What are tenets of each? :)

·         OOP tenets are Polymorphism, inheritance, abstraction…. And SOA tenets would be (not much sure) as it based on services so discovering/access, interoperatibility, security, distributeable

·         How does the XmlSerializer work? What ACL permissions does a process using it require?  :(

·         XmlSerializer used read/write interfaces to deserialize/serialize respectively xml based data so it’s understood that it uses reflection.

·         Why is catch(Exception) almost always a bad idea? :)

·         Catch(exception) is always a time consuming and somehow it means programmer knows/expecting there would/can be some exception so better approach is to use checks as much as programmer can rather catch exception but ofcourse its unavoidable.

·         What is the difference between Debug.Write and Trace.Write? When should each be used? :)

·         As names implies .write means printing something and debug would be used whilst debugging and Trace is useable at release mode and according to my knowledge during release mode if debug statement is used it would be ignored gracefully so chill.

·         What is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not? :)

·         Debug build contains debug symbols in (pdb) files and debugging related meta information which release build doesn’t that’s why more compact and efficient.

·         Does JITting occur per-assembly or per-method? How does this affect the working set? :)

·         JITing occue per method as NGEN make image of whole assembly at once. JITing degrade efficiency if method is very highly coupled means dependent upon other methods (call/invoke other methods which were not JIT)

·         Contrast the use of an abstract base class against an interface? :)

·         Aaaaah typical interview question but thanks there is something typical scott asked :D.  abstract class can have implementation of methods at different access levels whereas interface can have only declarations of methods and must be public, abstract class is inheritable. I think interesting and bit difficult contract would be between PURE abstract class and interface. Sounds good?

·         What is the difference between a.Equals(b) and a == b? :)

·         Equals checks type as well as it compares on heap to objects whereas == doesn’t, it just check value on stack.

·         In the context of a comparison, what is object identity versus object equivalence? ;)

·         Identity means two references on stack point to same address of heap whereas object equivalence means objects has same value.

·         How would one do a deep copy in .NET? :)

·         Normally I hate typical interview questions as this but in this (scott) case I am more than happy to hear. Anyhow Implement ICloneable simple.

·         What is boxing? :)

·         To convert value type into reference type is called boxing.

·         Is string a value type or a reference type? :)

·         It’s not even again typical interview question but also for heaven sake scott it’s not suppose to be known by some senior/architect level of .net guru. Anyhow string is reference type due to its any length of size.

·         What is the significance of the "PropertySpecified" pattern used by the XmlSerializer? What problem does it attempt to solve? :(

???????????? Please post reply with references if you know through commenting..

·         Why are out parameters a bad idea in .NET? Are they? :)

·         Ofcourse they are not encouraging as out keyword is somehow violating the rule of returning single value which keep function easy to readable and debuggable as we know only there is single point to return value and somehow caller can send any vulnerable value which always should be validate. Anyhow there are many solutions like using array (if return values are of same type or ENUM if feasible or Collection or Class with multiple properties…)

·         Can attributes be placed on specific parameters to a method? Why is this useful? ;)

·         Yes I have seen that being using in case of .net remoting but didn’t use/need much sooo.

C# Component Developers

·         Juxtapose the use of override with new. What is shadowing? ;)

·         Overriding means giving implementation of virtual/abstract/overrideable method in derived class and if we use new it means it can’t be access through by any other class ref/object. Shadowing is somehow opposite to overriding as it lets redefine method implementation with signature as well.

·         Explain the use of virtual, sealed, override, and abstract. :)

·         Through Virtual keyword, we enforce programmer of derive class to override this function. Sealed make sure that class won’t be able to inherit (you may say Such mother who can’t birth a baby :D) and through abstract class, we are able to define methods as abstract to make them must overrideable by child classes and don’t let anyone to instantiate it.

·         Explain the importance and use of each component of this string: Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d :)

·         Foo.Bar Assembly name, Version defines its version in following pattern (Major, Miner, Build) to track version number of that assembly, Culture specifies culture for locale settings and publickeytoken makes it unique so could be kept and accessed in shared environment.

·         Explain the differences between public, protected, private and internal. :)

·         Public is shareable so anyone can access no matter out of the class/assembly/assembly. Through Protected you can only access within class or from child classes and through internal you can access within the assembly only.

·         What benefit do you get from using a Primary Interop Assembly (PIA)? :(

???????????? Please post reply with references if you know through commenting..

·         By what mechanism does NUnit know what methods to test? :)

·         Using attributes

·         What is the difference between: catch(Exception e){throw e;} and catch(Exception e){throw;} :)

·         Throw also return stack trace which throw e doesn’t

·         What is the difference between typeof(foo) and myFoo.GetType()? ;)

·         First 1 takes type name and return result at compile time whereas 2nd 1 takes object and return type at runtime using reflection ofcourse.

·         Explain what’s happening in the first constructor: public class c{ public c(string a) : this() {;}; public c() {;} } How is this construct useful? :)

·         First one calls the base contructor.

·         What is this? Can this be used within a static method? :)

·         this keyword points to current object and as static methods can’t be invoked through object sooo

ASP.NET (UI) Developers

·         Describe how a browser-based Form POST becomes a Server-Side event like Button1_OnClick. :)

·         I am not certain but I think when we need to submit some information or manipulate data at server side we use POST method which transmit client side information to server side in Request object and send the information to server and server perform task according to information given by client so in this case Button1_OnClick is transferred to server and it’s handler called the relevant method.

·         What is a PostBack? :)

·         Postback is way to send client side information to server after loading it.

·         What is ViewState? How is it encoded? Is it encrypted? Who uses ViewState? :)

·         ViewState stores information so it could be accessible after postback and information could be persisted  after any number of postbacks but only within the scope of page. It encoded into Base64 format. It can be encrypted. Controls uses viewstate to store control state and data to be preserved after postback.  

·         What is the <machinekey> element and what two ASP.NET technologies is it used for? :)

·         machinekey defines unique key which could be use by session and cache so if site is cluster based or single sign on based then it’s very useful.

·         What three Session State providers are available in ASP.NET 1.1? What are the pros and cons of each? :)

·         In-proc, out-proc, sqlserver

·         What is Web Gardening? How would using it affect a design? :)

·         If server has multiple processors and requests traffic is dividing accordingly that is called web gardening. If server is using external resources (like sql server, web services, logging) then it could be very useful.  

·         Given one ASP.NET application, how many application objects does it have on a single proc box? A dual? A dual with Web Gardening enabled? How would this affect a design? :)

·         HTTPApplication object with single key based would be only 1 per worker process so in case of single processor box ONLY 1, in case of dual processor box without webgardening there would be only 1 single worker process so again single object but in case of web gardening two worker process means 2 objects. So need to have machine key otherwise … :D

·         Are threads reused in ASP.NET between reqeusts? Does every HttpRequest get its own thread? Should you use Thread Local storage with ASP.NET? :)

·         ASP.NET is MTA based so multiple threads are possible but I remember once I tried to call methods through callback based async delegates which makes it run on separate thread so when I tried that I lost httpcontext L in that thread. So each thread gets its own thread and usage is depends upon need.

·         Is the [ThreadStatic] attribute useful in ASP.NET? Are there side effects? Good or bad? ;)  

·         I never used it but I think I got my just above mentioned problem’s solution that we can share httpContext through this attribute in multiple threads ;)

·         Give an example of how using an HttpHandler could simplify an existing design that serves Check Images from an .aspx page. :) 

·         We can simply make httphandler for such specific requirements as .aspx are nto specialized for images based web page which we could make and make things efficient and manipulate response according to our need. If page is based upon images only and needs to show loads of images thumbnail and such features we can make specific httpHandler for such pages to customize response and have more command on request.

·         What kinds of events can an HttpModule subscribe to? What influence can they have on an implementation? What can be done without recompiling the ASP.NET Application? :)

·         HTTPModule subscribe to Request life cycle kinds of events like beginRequest,EndRequest,Session,… They are useful to manipulate Request and generate Response according to state and lifecycle. They are separate DLL which are referred by asp.net application and if we change HTTPModule and recompile it we don’t need to recompile our whole application. So they are plugged like plugins ;)  

·         Describe ways to present an arbitrary endpoint (URL) and route requests to that endpoint to ASP.NET. ;)  

·         I am sure either I interpreted this question in right way but here is the answer according to my understanding about this question. URL could be define in couple of ways relative path and absolute path and request could be route in multiple ways using Redirect, Transfer, URL Rewrite…

·         Explain how cookies work. Give an example of Cookie abuse. :)

·         Cookie stored at client side and readable by any user if it’s not encrypted, if you stored some important information about client data at server any other site could read cookies and get that information.

·         Explain the importance of HttpRequest.ValidateInput()? :)

·         It checks integrity of data in Request object (Form, Querystring, Cookies), you can prevented by XSS types of attacks and validate request data to see so there is no malicious input ;)

·         What kind of data is passed via HTTP Headers? :)

·         HTTP Header contains information about browser and some of page like browser name, version, page size, mime type, cookies

·         Juxtapose the HTTP verbs GET and POST. What is HEAD? :);)  

·         Get is used when we don’t need to do manipulation at server side and have nothing really secret information to send in querystring as it send information through querystring which is limited so input can’t be very long like article :D but it’s pretty fast as compare to POST as post sends information in hidden fields and preferred in case of manipulation at server side. Using Head we just send page header information not the actual contents/body.

·         Name and describe at least a half dozen HTTP Status Codes and what they express to the requesting client. :)

·         Very famous I just remember like 404 error page (page not found) 200 for OK, 500 Server not found

·         How does if-not-modified-since work? How can it be programmatically implemented with ASP.NET?
Explain <@OutputCache%> and the usage of VaryByParam, VaryByHeader. :)

·         No idea about the if-not-modified thingy but can tell about OutputCache which is directive used for caching contents and tells server that Header information could be change by VaryByHeader Param and Parameter could be change in query string using VaryByParam so it get different versions for different header (like browsers) and parameters respectively.

·         How does VaryByCustom work? :)

·         Can output different pages from cache on the basis of change of state of any control or value or object within that page

·         How would one implement ASP.NET HTML output caching, caching outgoing versions of pages generated via all values of q= except where q=5 (as in http://localhost/page.aspx?q=5)? :)

·         <@OutputCache VaryByParam=”q” %>

 

 Please dont' forget to correct me if I am wrong and please give references as well with your answers. 

 

Thanks

  

 

 

 

 

 

 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Candoerz
United Kingdom United Kingdom
trying to have can do attitude. Candoerz.com

Comments and Discussions

 
GeneralContribution Pin
williamdavies118-Dec-17 4:03
williamdavies118-Dec-17 4:03 
QuestionBig downvote for not fixing errors Pin
zokocx23-Jun-16 12:17
zokocx23-Jun-16 12:17 
AnswerDescribe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming. Pin
COMT46-Oct-15 3:04
COMT46-Oct-15 3:04 
QuestionCyclomatic complexity Pin
witnes10-Aug-15 3:21
witnes10-Aug-15 3:21 
GeneralMy vote of 5 Pin
pampis28-Dec-14 1:30
pampis28-Dec-14 1:30 
GeneralMy vote of 1 Pin
MSDEVTECHNIK14-Dec-14 15:28
MSDEVTECHNIK14-Dec-14 15:28 
GeneralMy vote of 1 Pin
Yevgen Polyak18-Nov-14 20:05
Yevgen Polyak18-Nov-14 20:05 
Questiongood job Pin
Anuj Banka2-Jul-14 7:39
Anuj Banka2-Jul-14 7:39 
QuestionMax memory size a process can access. Pin
harish9921-Feb-14 18:33
harish9921-Feb-14 18:33 
SuggestionJokes Pin
LiviuIC25-Aug-12 10:38
LiviuIC25-Aug-12 10:38 
GeneralAbout Interviewing process.... Pin
Bhushan198013-Mar-10 9:17
Bhushan198013-Mar-10 9:17 
Hey! First of all, Adnan, however crapy ur article might stand out to be to most of people who commented, I would say that it happens with lot of posters with good intentions. To all those who say anything about landing a job through a proper interviewing process, I would say that they form about 1% of people and are unaware of rest of the 99% of jobs. To tell something about me, I have worked in different Microsoft technologies in US and India. However, when I read this article, it seriously irks me and if it were in my hands, I would ask ISO or some standards committee to lay down a pattern for interviews. So that the applicants can just be assured of the interview format for a desired position. If done, the documentation is going to be huge, but precise and finite at any given time. Documentation should merely contain guidelines, as many as possible, to conduct an interview for a specific position. To tell u all who talk about interviews, if a person answers all these Qs, he should be hired; atleast for a fresher's position simply because the guy has answered those Qs and he has the aptitude to go the distance and pick up things. Now to tell u some experiences of mine:
IN US:
(1) I was cleared in the technical phone screening, but 1 out of my 3 references from previous project could not be contacted. He was my manager, and I rarely got to talk to him when I was on the project and later he had moved to Europe.
(2) A microsoft requirement; people send me a questionaire about dispute handling, conflicts, Why Microsoft?, etc. type of questionaire which is nothing but waste of time, resources and stationery according to me. I was not selected. Probably, I may not have been technically at par, but they never tested that! They just never informed me the position went on hold or else...no replies...of course it was a contracting position...so no issues from my side. Just that they could have saved some headache for themselves.
(3) On one instance, I was told that the requirement was .NET and only that! In the first phone screening, the interviewer asked me technical questions on .NET arhitecture and winforms in general for about 20 minutes. He was the production lead. Then the Team lead called me for the second telephonic screening and he asked me all sorts of OOP questions (about 60 Qs, I still have the least of 50 I remembered) in 45 minutes. Then there was a small technical HR for 10 minutes. After that they asked me to come for a face to face interview for around 3 hours. They booked the flight ticket and all! And all this for a contracting position! They would have asked me all the technical Qs on phone and called me for a F2F for hand shakes and remaining technical stuff! As it turned out, I got placed on a different project and I accepted that as it came before. more on this follows...
(4) The organization, where I was finally selected, called me once on a Tuesday and they interviewed me for 30 minutes on phone. They rejected me initially, because I was lacking in SQL Server concepts. However, I was considered for a second interview for the same company, but by a different manager for different position. I cleared that one. During both the interviews, I was asked all the C# and OOP questions and I answered all of them. Yet during my 6 months of project, I never did anything other than writing Build Automation scripts in Nant! Not even a single task in C# application development was allocated to me and neither I was asked to write any SQL queries nor any test cases. I never had used Nant before, however it just took me 15 days to get a good hold of it. So all the questions in the interview were just a waste of time and resources.
(5) Another place, they asked me to come for a face to face a 4 hours drive from Indianapolis to Chicago and I did well there, but afterwards, HR put the position on hold. They never got back to me. So what benefit was this trip to either of us? It was a Forture 35 company!
IN INDIA: these are even worse...
(6) As an experience candidate, I was expecting to talk to some one at a company representative. Surprisingly, they asked me to write a test of 10 general RDBMS Q, 15 SQL Server specific and 25 ASP.NET specific Qs. I was asked to sit on desk, where I could not have concentrated at any juncture of my life. People are moving around, chatting, eating their lunch, attending phone calls, etc. Although it was a multiple choice test, all the questions were related to the previous one and scenarios were narated like stories. I put the pen down and left. All I expected was to be told about the test! anyways they had their own ways...
(7) In one telephonic for a VC++ position, I was asked stupid questions like in VC++ ATL COM's QueryInterface method, what are the parameters...I told him the parameters. Then he asked me, the sequence ..and I told him the right seq but some what less confidently ....he then expressed surprise and asked me again...I told him I was not sure in the end. uncertain I once told him the wrong sequence...but instead I should have told him, give me Visual Studio 2005 or higer and I will let compiler display it for me! A team lead asking such questions really had me fall on face
(8) Another place, they put me similar kind of written test. It was simple, the interviewer asked me to answer 12 questions in 15 minutes. I could have done that in 20 minutes easily. Given the scenario, I could have easily written and build the program and run it successfully within an attempt or 2. But as some interviewer on this post said that he asks people to write the code on VS on a machine; to him I would say that he is really a kind sort of interviewer. But still among 1% of them. I did not complete the test and as a result they did not even interview me. I was the only candidate with no rush. And had they given me Visual Studio installed m/c I could have done them wonders.
(9) One of the premier financial organizations called me for an interview and the position was ASP.NET as they informed me. However, apart from a couple of questions in 2 interviews, I was not asked any .NET question. All the questions were regarding SQL Server and they did not even mention that as the requirement in the job description. I was turned down the same day, with out even considering me as an ASP.NET developer! Probably a lot of employers just skim over the resume, they never bother to read them. Not even the ones they short list....
And there are many more such experiences not only the ones I experienced but also some of my colleagues...but I will keep them for myself. In these tough market conditions, interviewers are asking any damn question to the candidates, and in the process, a lot of cases are unfairly dealt. It is not a problem of scarcity any more, but of plenty.
Old professionals are not very much tech savy and many a times, such people do the hiring. Some one should go and tell them, that the ways of hiring and interviewing have undergone a revolution. And right candidate will only be hired by adopting newer methods of interviewing...
As someone suggested to out the individuals to test on the machine then and there, is a good idea. I mean every IT organization can spare a handful of computers for testing purposes and it is not a great deal of expense at all. Any employer, if they read this reply by any chance please do the needful and hire an individual by proper grilling and not unwanted grilling.
Thanks...I think it is a little too late for commenting on this post. Yet, I just wanted to put up my thoughts some where on the web..

Cheers,
Bhushan
GeneralMy vote of 1 Pin
g0got213-Jan-09 18:37
g0got213-Jan-09 18:37 
GeneralStrange Question Classification Pin
Dejan Petrovic10-Jan-09 18:21
Dejan Petrovic10-Jan-09 18:21 
GeneralRe: Strange Question Classification Pin
Adnan Aman11-Jan-09 7:15
Adnan Aman11-Jan-09 7:15 
GeneralRe: Strange Question Classification Pin
J4amieC13-Jan-09 3:54
J4amieC13-Jan-09 3:54 
GeneralRe: Strange Question Classification Pin
Adnan Aman13-Jan-09 4:12
Adnan Aman13-Jan-09 4:12 
GeneralRe: Strange Question Classification Pin
J4amieC13-Jan-09 4:57
J4amieC13-Jan-09 4:57 
GeneralRe: Strange Question Classification Pin
Adnan Aman13-Jan-09 5:15
Adnan Aman13-Jan-09 5:15 
QuestionWhat is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not? J Pin
Izzet Kerem Kusmezer10-Jan-09 8:18
Izzet Kerem Kusmezer10-Jan-09 8:18 
AnswerRe: What is the difference between a Debug and Release build? Is there a significant speed difference? Why or why not? J Pin
Adnan Aman11-Jan-09 7:16
Adnan Aman11-Jan-09 7:16 
GeneralInteresting But... Pin
Colin Angus Mackay10-Jan-09 6:54
Colin Angus Mackay10-Jan-09 6:54 
GeneralRe: Interesting But... Pin
Todd Smith10-Jan-09 9:06
Todd Smith10-Jan-09 9:06 
GeneralRe: Interesting But... Pin
Colin Angus Mackay10-Jan-09 14:21
Colin Angus Mackay10-Jan-09 14:21 
GeneralRe: Interesting But... Pin
Todd Smith11-Jan-09 7:22
Todd Smith11-Jan-09 7:22 
GeneralRe: Interesting But... Pin
Colin Angus Mackay11-Jan-09 11:11
Colin Angus Mackay11-Jan-09 11:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.