On Fri, 21 Sep 2007 10:14:51 -0500, Mike Andrews <[EMAIL PROTECTED]> wrote:
>As with any of these kinds of discussions, it's very polarized and I agree >with some against these kinds of tests. >I do regard them as silly. >I've had one once where I would had to write out SQL on paper to demonstrate >my knowledge of sql coding. To me this is quite inane. >In the "real world" of programming I will not be using paper to write SQL, >nor will I not have access to parsers to help me make sure my code is >accurate. >I've also had some where I would have to hand write code on paper in VB. I >really want to know what purpose any of this serves? I quite agree....I was thinking about giving a simple question.....and then allowing the candidate to have a PC, with C# compiler, internet access and away they go.....doing it on paper is, as you say pointless. >I would much rather someone ask me some technical questions to which I can >answer from my knowledge than have me write down some "silly" algorithm that >I wouldn't normally do in "real life" anyway. have you never had to process things in loops? I was not going to do the tests as a replacement for the sort of questions you propose below...*but*....I learn from my mistakes....I have employed people who while technically knowledgable, are not technically able....I want the able ones....knowledge can be acquired. > >For instance how about these framework-style questions: > >1) Can you tell me the difference between "by reference" and "by value" for >method parameters? >2) What does the params keyword do in a method? >3) What is a class? What is an interface? What's the difference between a >Class and Object? >4) What is generic convergence? >5) How can you use generics to reference "your" class type in the class >itself? >6) What is threading? >7) How can you implement a background thread? >8) What is a listener? >9) What is remoting? >10) What is a monitor? What's C#'s generic way of using the Monitor >class? What is VB's generic way of using the Monitor class? >11) How do you implement asynchronous programming in .NET? >12) What does a Using statement do? (requires two answers) >13) What does the default C# keyword do? How can you use it? >14) Is multiple inheritance implemented in the Framework? >15) What is polymorphism? Encapsulation? >16) How do you create an event in C#? In VB? >17) What is a delegate and for what is it used? >18) What are the benefits of Generics over non-generic programming? >Limitations? >19) What is a dictionary? How do you use it? >20) Does the graphics object need to be disposed in the Paint event of a >control? > >I think someone that's able to answer these types of questions >satisfactorily might demonstrate the ability to think and reason and >really work on the task at hand over someone who can reverse a string. I disagree....I think they demonstrate knowledge....the sort of knowledge one gets from forums like this.....they do not demonstrate the ability to think....just to recall. >I suppose it all boils down to personal preference though. >I don't believe that a test asking me to reverse a string in place or >whatever is a true test of my abilities as a programmer. I agree that includes beign able to design, communicate, research, analyse, listen, learn......etc. > If someone can >answer those for me, I'll know right away that they have studied the >Framework and have taken the time to learn over someone who can pull some >"generic" algorithm out to fit the particular test. see http://www.joelonsoftware.com/articles/fog0000000073.html The problem with asking such questions in technical forums is that they value technical knowledge....the questions presumes that innate ability is more important.....so I've probably got what I deserved. > >On 9/21/07, Frans Bouma <[EMAIL PROTECTED]> wrote: >> >> > On Fri, 21 Sep 2007 15:40:24 +0200, Frans Bouma <[EMAIL PROTECTED]> >> wrote: >> > >> Well, if it's for a junior programmer they might not have a lot of >> design >> > >> experience, so asking them to solve a coding problem working it out >> in >> front >> > >> of you, and thinking out loud, will reveal a lot about how they >> think. So >> I >> > >> wouldn't call this "stupid" (in fact I think that's uncalled for). >> > > >> > > The tests are IMHO stupid because they: >> > >1) could make you not pick the one you should because the daily work >> the >> hire >> > >will do is different than writing little routines which are already in >> the >> > >framework >> >> does the question get harder if a method doesn't exist in the framework? >> >> I think your employee will write code ON TOP OF the framework, not >> the >> framework code itself or tiny routines already there. So code working with >> the >> framework is often different than code which should be in the framework or >> a >> tiny routine. >> >> (your example was in fact *not* an example or reversing a string in place) >> >> Indeed. I didn't do it in place. But it's not possible to do it in >> place, as in C# strings are immutable. :) Did you think of that btw? >> >> So I failed your test and you would not hire me. See how silly this >> is? :) >> >> > >2) could make you pick the wrong person because you think his string >> reversal >> > >goo was excellent while he'll fail miserably designing some classes or >> writing >> > >some basic OO code. >> > >> > the point is if he *cannot* write the function......if he cannot reverse >> a >> > simple string then what does that tell us? >> >> that he can't reverse a string. Though I don't think the person >> would >> draw a complete blank stare, so there will be thoughts of solutions. THOSE >> will tell you more. I'm with Per, you should talk about various .net >> elements >> instead. >> >> > Again it would seem to be the claim there is no correlation between >> > programming and the application of basic algorithms. >> >> programming is about writing algorithms, not about typing code. So >> I >> don't think I can agree with your conclusion that I would claim what you >> say I >> claim. All I say is that if you test a person if s/he can cook up a given >> algorithm that it would tell anything. I say: no that doesn't say >> anything. >> >> FB >> >> =================================== >> This list is hosted by DevelopMentor(r) http://www.develop.com >> >> View archives and manage your subscription(s) at >> http://discuss.develop.com >> > >=================================== >This list is hosted by DevelopMentorĀ® http://www.develop.com > >View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
