|
(04-05-2011, 10:57 AM)
|
#202
Originally Posted by nickcv:
|
|
will gently cradle you as time slowly ticks away.
(04-05-2011, 11:15 AM)
|
#206
Originally Posted by ronito:
We've got our biggest product release in two weeks. It's going to be a lot of fun. |
|
Scary Euro Man
(04-05-2011, 11:17 AM)
|
#207
Originally Posted by nickcv:
Really, you don't need complex evil suggestions. Mostly those rely on language quirks. It's all very well to throw something like:
Originally Posted by Evil Java question:
Instead, give them a simple task to implement. Fizzbuzz is fine. Implementing equals() in Java is fine. If they don't know what they're supposed to be doing, tell them the spec. Then make them justify their implementation. Tell them it's not efficient enough. Add extra constraints on it. For example, most people will use % (or the equivalent in the local currency) to implement Fizzbuzz. Code:
for (int i = 1; i <= 100; i++) {
if (i % 15 == 0) {
System.out.println("Fizzbuzz");
} else if (i % 5 == 0) {
System.out.println("Buzz");
} else if (i % 3 == 0) {
System.out.println("Fizz");
} else {
System.out.println(i);
}
}
Ask them how they'd extend it to handle a configurable set of multipliers so that it's easily extensible if you wanted to add multiples of 7 getting a Boom. If they're going to have design responsibilities, hit them with a spec for a data format and ask them to sketch out a rough design for a program that would read and write that data format. PNG is a good one, or a subset of HTTP requests. Once they've done that, ask them how they'd handle various extensions to it. If they make it through coding and design, get them to answer questions that show some insight into the process of development and the languages they work with. "Should code be thoroughly commented, or is all good code self-documenting?" "In a 40-lesson course on Java, in which lesson should object orientation be introduced?" "What's the worst feature of C++?" "You list Ruby, Perl, Java and C on your CV as languages you have experience with. Which is the best language out of the four and why?" "Why do software products become bloated? At what point is a complete rewrite necessary?" "When should you use an existing web framework for UIs, and when should you roll your own?" "In what situations do Extreme Programming techniques work well, and in what situations do they fail?" Don't accept their answer. Challenge it, whether you agree with it or not. Make them work to justify it. Nobody should come out of a good interview feeling like it was a test of a few things they either knew or didn't know and they passed because they knew them. They should come out sweating, panicking, and worrying that they don't know enough to get a job anywhere.
Last edited by iapetus; 04-05-2011 at 11:21 AM.
|
|
Member
(04-05-2011, 11:21 AM)
|
#208
Originally Posted by iapetus:
I'll have the next interview in an hour and a half. anyway i'm interviewing to fill a php/java senior position. |
|
(04-05-2011, 11:29 AM)
|
#209
I've always thought this question was interesting:
"What's the difference between i++ and ++i?" It's pretty trivial, but I've found that the people who can't answer that are the ones who are mostly self-taught. |
|
Scary Euro Man
(04-05-2011, 11:30 AM)
|
#210
Originally Posted by nickcv:
And I've made a few additions to my post since you quoted it. equals() is a good one for Java, because although it's an incredibly fundamental method which you may need to implement in a lot of cases (depending on the sort of coding you're doing) most people just don't get it right. Common mistakes: 1. Using instanceof to check whether the other object is of the same type. Or not checking that they're the same type at all. 2. Not implementing hashCode(). If you override equals() you *must* override hashCode(). 3. Not checking for null values. And there's almost *always* a better implementation of at least one part of what they write. |
|
Scary Euro Man
(04-05-2011, 11:31 AM)
|
#211
Originally Posted by Zoe:
"Why is 'C++' a bad name for the language?" |
|
Member
(04-05-2011, 11:35 AM)
|
#212
Originally Posted by iapetus:
I judge the interviewer partially by the questions they ask me. If they are wasting my time with easy or punny questions (like that one) I lose some respect for them. Yes, I know, it returns C. |
|
Scary Euro Man
(04-05-2011, 11:43 AM)
|
#213
Originally Posted by poweld:
Two strings walk into a bar. The first says "Can I have a pint of beer and a packet of pork scratchings please?HIOPhg hregoua809y 89 a890w3ty y hpa9p 2 atr3h hfw98aphH AZHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH". The second says to the barman, "Sorry, you'll have to excuse my friend. He's not null-terminated." |
|
Member
(04-05-2011, 11:47 AM)
|
#214
Originally Posted by iapetus:
i actually lol'd XD |
|
Member
(04-05-2011, 12:07 PM)
|
#215
Originally Posted by iapetus:
Just wanted to make clear to that soon-to-be-interviewer to make good decisions and not embarrass himself. |
|
Member
(04-05-2011, 12:17 PM)
|
#217
Maybe I'm being too literal this morning. I think I'm frustrated from not being able to solve a problem at work.
Also, I'm still a little raw from finding many classes inheriting from STL containers in our code. Noooooo why couldn't you just have a container within your class? Don't be so goddamn lazy! |
|
Member
(04-05-2011, 02:57 PM)
|
#218
You people would destroy me in an interview.
The first thing that comes to my mind for a tricky, very specific question is "can I look it up on the internet?" because that is what I do whenever I got stuck, or don't know. There are some things you have to know without looking, I agree, but is not obscure, tricky things you rarely use in your work. In this time and age I really find memorizing to be useless and a waste of effort, everything is right there, and people even answer your specific question in forums. I think I would do well with change in requirements, argumenting answers and the like, that's what I had to learn the hard way in my job experience, dealing personally with the costumers.
Originally Posted by iapetus:
Last edited by mantidor; 04-05-2011 at 03:12 PM.
|
|
Cudi Lame™
(04-05-2011, 03:04 PM)
|
#219
Originally Posted by mantidor:
|
|
Banned
(04-05-2011, 03:14 PM)
|
#220
Originally Posted by nickcv:
It is worse if he was interviewing for a senior position, though. |
|
Member
(04-05-2011, 03:15 PM)
|
#221
ok, this is getting ridiculous
Code:
foreach ($i <= 1; $>=100; ++$) {
if ($i %3)
print 'fizz';
else if ($i % 5)
echo 'buzz';
else if ($i % 5 && $i % 3)
echo 'fizzbuzz';
}
problem is we cannot afford a programmer with stress-coping issues |
|
(04-05-2011, 03:17 PM)
|
#222
Originally Posted by Kalnos:
Speaking of pseudo-code though... I'm already nervous enough at interviews. I'm not sure I can write 100% syntactically correct code on demand like that.
Originally Posted by nickcv:
|
|
Cudi Lame™
(04-05-2011, 03:21 PM)
|
#223
Originally Posted by nickcv:
|
|
Banned
(04-05-2011, 03:22 PM)
|
#224
Originally Posted by Zoe:
With that said, at the interviews I have been to they haven't grilled anyone for syntax as far as I know. It's usually more to see if you grasp basic programming terminology/ability and are able to display that by solving a simple problem. Still, if you are worried about it, that's something that you just have to ask during the interview before answering their question. |
|
Member
(04-05-2011, 03:23 PM)
|
#225
Originally Posted by nickcv:
|
|
Scary Euro Man
(04-05-2011, 03:24 PM)
|
#226
Originally Posted by mantidor:
Originally Posted by mantidor:
|
|
Scary Euro Man
(04-05-2011, 03:27 PM)
|
#227
Originally Posted by nickcv:
With that listing, I'd go with: "Can you see anything wrong with your implementation?" "Can you walk me through how this would work for the first few numbers?" And so on. At some point they catch on, and either fix things or panic. :) |
|
Banned
(04-05-2011, 03:29 PM)
|
#228
Originally Posted by iapetus:
|
|
Member
(04-05-2011, 03:31 PM)
|
#229
Some of these interview questions really look impossible to me. I really hope by the time I graduate I can answer most of them. When I was interviewing for my co-op job, I was panicking just answering questions like what's the difference between inheritance or interface or what's the difference between == and equals()
|
|
Member
(04-05-2011, 03:41 PM)
|
#230
Originally Posted by iapetus:
|
|
Scary Euro Man
(04-05-2011, 03:58 PM)
|
#231
Originally Posted by mantidor:
|
|
got my tag in the OT
(04-05-2011, 04:09 PM)
|
#232
This recent thread turn has reminded me why I HATE programmer interviews.
Almost all of them turn into a ecock measuring exercise. Ha! I can do Fizzbuzz in 3 lines, can you? Just look at how my ecock throbs! Now I'm not saying that interviews should be push overs. I'll admit that I've made people cry in mine and had a few storm out/hang up. But I hate it when someone pulls out some old "Gotcha!" exercise, especially when people assume that just because you're a programmer you must be good at puzzles. Some of the best programmers I've worked with couldn't solve a puzzle on the spot for their life. Now again, it's not supposed to be easy, I'll intentionally ask a question I know the interviewee doesn't know the answer to in order to see how they deal with that. But sometimes I just feel like it's all about the ecock. |
|
Member
(04-05-2011, 04:32 PM)
|
#233
Originally Posted by Zoe:
:x
Originally Posted by ronito:
The Fizzbuzz test is a simple example of this, as in that case it doesn't seem to be about the language used or the syntax or how neat the code is, etc, but it's about the interviewee being given a specific task to perform and having to think "how could I describe this problem in a logical fashion?" "What variables do I need to take into account?" "What's the most efficient way to solve thw problem?" "What tools that I know of are best suited to solve this problem?" Regarding that last question, some people will make the obvious logical connection, "'divisibility' means use modulo", while some may not make the connection but come up with a more creative solution. The thought process used to arrive at their solution is just as important as whether the solution was correct.
Last edited by jman2050; 04-05-2011 at 04:40 PM.
|
|
Member
(04-05-2011, 04:44 PM)
|
#234
Originally Posted by jman2050:
I read those questions that are supposedly from google interviews and they are just nonsense abstract questions. |
|
Member
(04-05-2011, 05:08 PM)
|
#236
A friend of mine said they knew someone who needed some work so I didn't follow through with any of the usual precautions and thought to myself "Hey, it's a friend of a friend! What's the worst that can happen?"
Yeah, well, even after seeing a functional prototype the client was determined that I should finance the project to completion and only when I delivered that they would they pay me. Then didn't go so well with me, so my middle-man was hounded them for trying to fuck me over and their friendship soured. Freelancers, always sign contracts. Make sure you take money up front as well. If they don't want to cough up anything, you're probably in for a huge headache. |
|
Member
(04-05-2011, 05:10 PM)
|
#237
Ok, here is an actual coding test I use for Android devs. I'm not the only interviewer, this isn't the only test, etc. etc. etc.
I usually don't have enough time to actually go into detail about Android (because doing anything interesting in Android requires running the code generating toolchain about about 12 pounds of XML) but I can ask some limited-scope Java stuff. I start with this: Code:
class Monster {
String name;
double defense;
// input: 0.0 <= _defense <= 1.0
public Monster(String _name, double _defense) {
name = _name;
defense = _defense;
}
public boolean didDefend() {
// @TODO: get a random number and see if it successfully defended
// output: a random true or false value.
// if defense == 0.0, this function should always return false.
// if defense == 1.0, this function should always return true.
// if defense is between 0.0 and 1.0, it should return randomly,
// with a distribution determined by the Monster's defense stat:
// e.g. if this is called repeatedly on a Monster with defense = 0.2,
// it should return true approximately one time out of five.
// reminder: java.util.Math.random() returns a double between 0.0 and 1.0 inclusive.
}
}
Code:
public boolean didDefend() {
return java.util.math.Random() < defense;
}
At this point it turns into a conversation about unit testing, and how one can lift the generation of the random number out of this method so we can inject a stub RNG that will allow us to test edge conditions like this. I usually get a lot of different answers for this, some people have worked with mocking frameworks and will talk about how to use that, some people haven't and will explain how you would go about rolling your own. There isn't a specific right answer, but I'm looking for reasoning that would convince me that this person understands what the boundary conditions are, and what would constitute sufficient testing. One thing that is important to me about this test is that it is administered conversationally and cooperatively. I'm asking questions to someone I'm potentially going to be working with, I'm not trying to surprise or intimidate them. I'm seeing if they can reason about code.
Last edited by ephemeral garbage; 04-05-2011 at 05:15 PM.
|
|
Corporate Apologist
(04-05-2011, 05:26 PM)
|
#239
My TA for our lab showed us a function someone wrote in our Java Class to find the factors of a number after class. (It was the first assignment for the class, so the specifications were pretty lax and we could print the same pair more then once)
Code:
x = Scanner.nextInt();
i = 2;
j = 2;
while (i < x)
{
while (j < x)
{
if (i*j = x)
{
System.out.printf("%d, %d",i,j);
}
j = j + 1;
}
i = i + 1;
}
|
|
Member
(04-05-2011, 05:28 PM)
|
#240
i just finished speaking about the last guy of the day (tomorrow i'll have two more)
and i really didn't like his attitude. he clearly knows what he is doing but he did some rookie mistakes. - he talked trash about his last boss. - he started fizzbuzz test but then didn't want to complete it saying "you can fill the rest of it" he was doing it right, but i don't think i want to work with someone so arrogant. |
|
Banned
(04-05-2011, 05:34 PM)
|
#241
Originally Posted by nickcv:
That's one of the biggest no-no's that I know of in an interview. |
|
got my tag in the OT
(04-05-2011, 05:36 PM)
|
#242
all developers are arrogant though. It's a matter of how arrogant you can put up with.
Talking about blowing interviews. I once interviewed a dev that passed with flying colors. And at the end I decided to ask just one more question before I called in my pass. I saw that he had worked for a company that I knew was pretty good at employee retention. I asked him "I see you left company x. People tend not to leave that company. Why'd you leave?" He replied with "Oh yeah I got totally jewed out a promotion." I was shocked. The guy destroyed his entire interview with the last sentence. Can't imagine how he thought that was an OK thing to say in an interview. |
|
got my tag in the OT
(04-05-2011, 05:50 PM)
|
#246
Originally Posted by nickcv:
|
|
got my tag in the OT
(04-05-2011, 05:56 PM)
|
#248
Originally Posted by nickcv:
|
|
Member
(04-05-2011, 06:00 PM)
|
#249
Originally Posted by ronito:
|
|
Member
(04-05-2011, 06:10 PM)
|
#250
Rant:
The goddamn XNA game I'm working on is pissing me off. I'm getting terrible framerates and I can't explain why at all. Hell, I've only got a total of 12 sprites on screen, and they're all using the same damn texture. I've tried with both displaying them and not displaying them, and the framerate bounces around. God forbid I attempt to move them at all, or it consistently dips below 60fps. What in the blue fuck! |