|
I can completely answer 8 out of 9 having used C# poorly in a single project 5 years ago. An that's because I don't remember Design Patterns, not by name - I always used a bunch of them even before being introduced to the concept of design patterns... When I read that infamous book I mostly thought "well, duh!" every odd page.
CALL APOGEE, SAY AARDWOLF
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"Go ahead, make my day"
|
|
|
|
|
You'll get someone good at exams,
doesn't necessarily translate to ability to create solutions from scratch.
The Asian's education departments are fighting this very weakness in their current system right now, they got plenty of kids who ace exams but are useless in the field without constant mentoring. (Those 14 year old geniuses doing PhD's - touted to be the next Einstein and will solve world peace, hunger and global warming - never heard from again.)
Ask them not "how do you ...," rather questions where they will need to suggest use of such items as you listed. If answers are vague ask for details. i.e. simple case: don't ask a builder "how to use a tape measure," ask them how they would determine the width of a doorway.
Sure there are other ways to do things, if it sounds odd ask them why they chose that way, challenge them on the got-ya's, ask why they believe their solution is the best way and what's the alternatives. (Warning: Don't play teacher and correct them - that's just a recipe to become their mentor if hired - OK to throw in the odd clue but not too much. Act like a doctor, throw in a few hmmm's and take notes - that last one will get them sweating and acts as a good stress test.
Sin tack ear lol
Pressing the any key may be continuate
|
|
|
|
|
Your questions are OK, but Software Development is about problem solving. Anyone can memorize the textbook answers to those questions, and even speak intelligently about them, but if they can't take a common business requirement and break it down into a development plan are they really someone you would want to hire?
Consider coming up with a generic business problem/requirement and ask them to describe (possibly on a whiteboard) how they would approach the problem. There are a lot of approaches to any given requirement, some better than other, but you'll learn a lot about them during this process.
If it's not broken, fix it until it is.
Everything makes sense in someone's mind.
Ya can't fix stupid.
|
|
|
|
|
Kevin Marois wrote: Consider coming up with a generic business problem/requirement and ask them to describe (possibly on a whiteboard) how they would approach the problem.
Yep, that's how I'd do it. The language and/or framework isn't important, you can always learn it when you need to.
It's more the "this is what we want to do, how would you go about making that?" kind of question that gives a real insight into how the person thinks and often opens up some good discussion points.
Ah, I see you have the machine that goes ping. This is my favorite. You see we lease it back from the company we sold it to and that way it comes under the monthly current budget and not the capital account.
modified 31-Aug-21 21:01pm.
|
|
|
|
|
They're ok but those questions are asked at almost every interview so you risk employing people who are simply good at taking interviews. I prefer real-world questions like;
You inherited a legacy system that uses a fairly complex Stored Procedure and for no valid reason whatsoever you want to convert this procedure to LINQ. What do you use as keywords in your Code Project thread where you effectively ask someone to do the task for you?
a) SQL
b) Stored Procedure
c) LINQ
d) c#
e) c#5, c#4, c#3, c#2
f) MVC
g) jQuery
h) All of the above
|
|
|
|
|
i) urgntz pleeeeese
CALL APOGEE, SAY AARDWOLF
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"Go ahead, make my day"
|
|
|
|
|
I usually chuck in a question about what books they had read that influenced the way they developed - then if the books are the same sort of thing that has affected you, and the people they will be working with were of a similar persuasion, then I'd take it as a good indication that they may well fit in.
|
|
|
|
|
Q 1 to 4 are a waiste of time for a mid-level. The later questions are showing if the dev is understanding the language.
It is better to invest in some words about the goals and some "lessons learned". A good filter is always the salary.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Just a thought - not a criticism:
My particular strength is problem-solving (and rather quickly, at that). Knowing the answers to all of the above tells you nothing about how successfully they might use that knowledge. I, for one, learn what I need to know for a solution and/or what seems like just plain fun to know.
Like that TV show, Jeopardy - those people know an awful lot of stuff - just don't ask them to actually do anything. You need to know stuff just to know the stuff you need to know.
Aut inveniam viam aut faciam
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
modified 24-Jan-17 11:48am.
|
|
|
|
|
You could ask them questions they are unlikely to find in most books:
* When does a class static constructor get run?
* What does the Conditional attribute do? Or, if you're feeling more friendly to the candidate: When you call a Debug.Assert(), do the arguments get evaluated in release builds?
* What's a debugger display attribute and why would you use it?
* In a lambda function, is it possible to use a function that returns void? For example, can something like Console.WriteLine() be used in a lambda function?
* What don't you like about C#? Or: In your opinion, what did Microsoft get wrong in the C# language? I particularly like this question, and I don't care about what their answer is, but merely that they have and answer and can defend their position.
Only caveat, if you don't use these things in your codebase, and don't want to start, I wouldn't use them as interview questions. Otherwise, you might be filtering out candidates that could be good additions to your team.
kdmote wrote: not to make the candidates write or debug actual code in the interview, with the possible exception of FizzBuzz.
Bonus points if you have them write it as a LINQ statement
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
I don't consider myself a super strong C# and even I could answer those questions. I'd think if they couldn't answer those then they aren't mid-level devs. In fact, I might use that list myself for interviews.
Jeremy Falcon
|
|
|
|
|
kdmote wrote: How do you inherit a class, and why might you want to?
I think a relative has to die, and that's not fun to think about.
kdmote wrote: What is the purpose of interfaces, and how are they helpful?
It's all about the interaction, like we're interfacing right now.
kdmote wrote: Why would you ever want to make a method private or protected?
There are just some things you don't want to have witnesses for
kdmote wrote: Can you explain what a lambda is, and why you might use one
A lambda is a baby sheepda, and it's used to distract rednecks from noticing your own private methods.
kdmote wrote: Why might you use a property instead of a regular variable?
You can't do anything without property.
kdmote wrote: Are you familiar with any "Design Patterns"?
My wife is the seamstress in the house...
kdmote wrote: Have you heard of the concept of "tight" or "loose coupling",
Yes, but now we're solidly back into that private methods/no witnesses thing.
kdmote wrote: Have you used a Unit Testing framework?
Yeah, but I found out my unit was just fine.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Software Zen: delete this;
|
|
|
|
|
He needed a mid level developer but due to your talent you have been promoted to senior development manager
Zen and the art of software maintenance : rm -rf *
Maths is like love : a simple idea but it can get complicated.
|
|
|
|
|
I think a good mid-level C# developer would have a solid command of most of the canned classes and collections. I personally would ask them to hand write code or psuedo-code for loading a CSV file and run some basic analysis on it such as summing and averaging values from two or three of the columns. If they properly use the System.IO, System.Collections, and possibly System.Data classes and proper flow control, they are ready for a more technical interview. I would follow up with questions on when to use interfaces, what the null coalescing and null conditional operators are used for, and explain lambda expressions just to gauge if they have been keeping up with how the language has evolved.
if (Object.DividedByZero == true) { Universe.Implode(); }
Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016
|
|
|
|
|
kdmote wrote: looking for a mid-level C# developer
Ugh. All those questions a mid-level developer should be able to answer, and you should have been able to glean from their resume / github / LinkedIn that they are capable of answering those questions.
Even for mid-level developers, I would stick with questions that are more open ended and tell you about their thinking process.
Marc
|
|
|
|
|
Those are good questions, but I'd also ask some questions pertaining to the other tiers, such as database and UI.
|
|
|
|
|
Since most of the questions are so vague that they need 1,000-word answers, they're probably hoping to publish a book with material stolen from interview answers.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Whatever questions you decide on, encode them with ROT13.
|
|
|
|
|
Long while ago (7+ years ago ) I was at the receiving end of interview questions. All technical questions being fired at me by 4 people from the company and one of them completely threw me off when all of a sudden one of them asked me "design a zoo". Now I am in a zone to answer technical questions like language syntax and why one thing over other etc and bam..Till date I remember that interview because it was so odd. So you can add that to your list or not !
Zen and the art of software maintenance : rm -rf *
Maths is like love : a simple idea but it can get complicated.
|
|
|
|
|
I got laser eye surgery a month ago, but I still can't shoot lasers out of my eyes.
Am I doing it wrong, or should I be asking for a refund?
What I have tried:
Shooting laser beams out of my eyes.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Try rebooting!
In this present crisis, government is not the solution to our problem; government is the problem. ~ Ronald Reagan
|
|
|
|
|
We're not here to do your homework. You won't learn anything by getting other people to write your code for you and it's unfair on your classmates.
Try attaching a debugger to your eyeballs and step through the code (assuming that you've actually bothered to write some) a line at a time. It's most likely an incorrect binding path for what it's worth.
Slogans aren't solutions.
|
|
|
|
|
uninstall the updates
try again next Tuesday
Sin tack ear lol
Pressing the any key may be continuate
|
|
|
|
|
Ah, easy mistake to make. You need administrative access for that. Try "sudo".
|
|
|
|