3 ms·
I'm kind of on the fence on this. These questions might seem pretty lame, but as an interviewer it does tell you something about the candidate's level of exper
by dhotson 15y ago
I'm kind of on the fence on this.
These questions might seem pretty lame, but as an interviewer it does tell you something about the candidate's level of experience with a language.
If you've worked with a language for any decent amount of time. There are things that you really should know without having to look it up all the time.
This is especially true if you mention on your resume that you're an expert at something. I'm definitely going to ask you a difficult question about it and I'll expect you to answer in some depth.
If you mention you're a Java pro but can't tell me what the 'synchronized' keyword does for example. I'd be concerned.
- zeru 15y agoIf you are trying to hire an "expert" and ask him questions like that, you are doing it really wrong, unless you are trying to scare him away. If anything you want to actually talk to him about what he has done, about the languages, his thoughts and passion in the subject... not ask him first programming classes in college questions. However if you are trying to hire some kind of junior-like engineer who has never had a job before, i can see why questions like this could be asked, but i still dont think it's the best way to gather knowledge about the person you are interviewings level of expertise.
- jiggy2011 15y agoI think these could be weeder questions for people you know little about. If you have an applicant who has a github full of great code or experience working for a good software company you can probably skip this. However if you get a candidate without much on paper but who insists they are a Java expert but doesn't know what the extends keyword does then there is something wrong somewhere. The problem with asking for definitions for words though is that I personally often forget exactly what these are if I ever learned the correct term in the first place. For example I knew how to override methods and the differences between the type system in PHP and the one in Java long before I knew what polymorphism or "dynamic typing" meant.
- dhotson 15y agoDon't get me wrong. I ask all those other questions as well. The problem is: people lie. It's the old thing where if you want to hire a juggler, don't you want to see them juggle?
- ohyes 15y agoSo ask the programmer to program or debug something, give him a decent IDE and access to Google. Don't ask him to answer trivia. 'Can you fix this simple 10 line function' is much less insulting. It is a huge turn off for a lot of people and indicates that the interviewer is either too lazy to make the question interesting, or not technical enough to generate an actual good question. Either way it is a red flag.
- samuel 15y agoThat's no the same at all!! 'synchronize' and 'synchronized' is part of Java's concurrency model. Every midlevel Java programmer should know that every Object has and intrinsic lock, that you can achieve mutual exclusion among threads using that reserved words... even if they can't recall which one is for methods and which for blocks.
- nickik 15y agoWow you have high opinion of midlevel, I would guess that a midlevel Java programmer does barly know what locking is for.
- mikeash 15y agoWhy would an experienced Java programmer know off the top of his head which packages certain standard classes live in? It's not something one encounters on a regular basis, and memorizing it confers essentially no advantage. If you want to ask difficult questions, be my guest. But "what package is class X in?" is not difficult, just foolish.