• (cs) in reply to Paul W. Homer
    Paul W. Homer:
    OK, I'll admit the first interviewee's response was a bit over the top, but having gone through interviews with companies that were both obnoxious and arrogant I'd be very tempted to send that that reply myself.

    "Really, you're testing my ability to XOR stuff? Are you implying that the twenty previous years of hardcore programming experience on my resume are a lie? That's no way to start a relationship, I have to go now ..."

    Generally I assume that if they don't have any initial respect for my experience, they are probably another mindless sweatshop. A place to be avoided.

    Have you ever participated in any sort of interviewing? I mean, from the interviewer's side? Do it for a few weeks; you'll learn to assume that the twenty previous years of hardcore programming experience listed on a resume is either a lie or, at best, useless.

  • (cs) in reply to Shaftoe
    Shaftoe:
    I'm on Guy 1s side too. Use little puzzles and tests on CS grads fresh out of school. someone who has been successfully developing software for 10 plus years should have more significant deeper lines of questioning in interviews. No wonder he was insulted. Granted his response was a bit over the top. Probably hit the send button by mistake. Hiring managers and tech interviewers, tailor your interviews to the percieved level of the interviewer
    I've had too many people with 10+ years of whatever fail basic and simple tests. Not puzzles where the trick is having seen the puzzle before, but tests. For C or C++ create a simple function to insert a record into a linked list. I don't care if C++ comes with built in libraries for linked lists, the point of the test is to see if you understand what a pointer is. I can't count how many 10+ years with C/C++ folks I've not even come close to being able to do this without committing terrible logical errors.
  • владимир (unregistered) in reply to Hairstyles of the Rich and Famous
    Hairstyles of the Rich and Famous:
    “The thing is,” he ranted, “using JavaScript is like getting a bad blow–“
    I know! The way I pull my hair out when I'm writing JavaScript, it's just like a bad blow-dry!
    You're doing it wrong.
  • (cs) in reply to jmucchiello
    jmucchiello:
    Shaftoe:
    I'm on Guy 1s side too. Use little puzzles and tests on CS grads fresh out of school. someone who has been successfully developing software for 10 plus years should have more significant deeper lines of questioning in interviews. No wonder he was insulted. Granted his response was a bit over the top. Probably hit the send button by mistake. Hiring managers and tech interviewers, tailor your interviews to the percieved level of the interviewer
    I've had too many people with 10+ years of whatever fail basic and simple tests. Not puzzles where the trick is having seen the puzzle before, but tests. For C or C++ create a simple function to insert a record into a linked list. I don't care if C++ comes with built in libraries for linked lists, the point of the test is to see if you understand what a pointer is. I can't count how many 10+ years with C/C++ folks I've not even come close to being able to do this without committing terrible logical errors.

    Now that's interesting. Where do you rate trivial, obvious syntax errors, assuming the logic is correct?

  • Kjella (unregistered) in reply to Mike
    Mike:
    He called us everything but straight white men, and after a few weeks of harassing emails and phone calls, we had our attorney notify Steve that he shouldn't contact us again if he valued his freedom. (...) Needless to say, a psychotic episode coupled with some barroom networking cost Steve a lucrative job that day.

    Snapping once is an "episode", going on like that for weeks means you have deep permanent problems. If one of these people manage to burrow into your organization, you are in for a world of pain.

  • (cs)

    What Thomas B did was... inadvisable. But I still want to hear his side of that story.

  • (cs) in reply to Leo
    Leo:
    Do this: print out a copy of this comment, ball it up, and throw it at your own head.

    (Actually, I'm kind of on Thomas B-----'s side.)

    Seriously. That would have made my day if someone had sent that back to me.

  • (cs) in reply to Mike

    [quote user="Mike"][quote user="Jay"]Okay, maybe you're sure that's an unlikely Well, one day we're looking for an outside programmer/consultant to freshen up a C-pound front-end to our SQL database. In came several people, a few independents, some company-types, and then "Steve X". Steve wants to dig in right away, during the interview. My boss (CIO/VP) told me to let him take a look at the code, and Steve made a few changes right away, which I reviewed and pushed live on an evening shift (to avoid a complete day shift meltdown). [/quote]

    Uhmm.... you pushed into production code someone wrote during an interview? WTF!

  • Johnny (unregistered) in reply to boog
    "The thing is," he ranted, "using JavaScript is like getting a bad blow–"
    I'm not sure that he's bagging JavaScript quite as much as it might seem at first...
  • Smarty McSmartyPants (unregistered) in reply to Captain Oblivious
    Captain Oblivious:
    jmucchiello:
    Shaftoe:
    I'm on Guy 1s side too. Use little puzzles and tests on CS grads fresh out of school. someone who has been successfully developing software for 10 plus years should have more significant deeper lines of questioning in interviews. No wonder he was insulted. Granted his response was a bit over the top. Probably hit the send button by mistake. Hiring managers and tech interviewers, tailor your interviews to the percieved level of the interviewer
    I've had too many people with 10+ years of whatever fail basic and simple tests. Not puzzles where the trick is having seen the puzzle before, but tests. For C or C++ create a simple function to insert a record into a linked list. I don't care if C++ comes with built in libraries for linked lists, the point of the test is to see if you understand what a pointer is. I can't count how many 10+ years with C/C++ folks I've not even come close to being able to do this without committing terrible logical errors.

    Now that's interesting. Where do you rate trivial, obvious syntax errors, assuming the logic is correct?

    Rating: Trivial. You may be underestimating the kind of wholesale failure we're talking about here...

    I also thought it was "interesting" that "hardcore" veterans with a decade of experience were wholly unable to write passable code in their language of choice. Even if one allowed for "language of choice" to be typo-riddled magical unicorn psuedo-code. They don't know wtf they're talking about, at all. Noticing this becoming a recurring pattern rendered it more obnoxious than interesting, further degrading my already rapidly dwindling faith in humanity.

    People lie. A lot. Believe the hype.

  • Johnny (unregistered) in reply to Joe Office
    Joe Office:
    I don't know about you guys, but I like the Big Picture Thinker's style. Wouldn't want to work with him, but I like his style.
    He's got balls, that's for sure (so does the JavaScript character, I guess)... Arrogance aside, he might be good for meetings with idiots.
  • Mickey Mouse (unregistered) in reply to Erik
    Erik:
    Seriously, the first message is a classic, right up there with Paula Bean.

    Isn't it amazing how a few people like that social misfit end up giving the rest of us normals a bad name? That guy will forever be cemented in the submitter's mind as the living embodiment of all IT workers.

    I've worked with people like that in the past - it's hell. Try to get anything done when the one person who is God of Everything spends 20 minutes telling you how brilliant he is and how I couldn't possibly understand what he does. (Yes, that's a real experience.) Arrogant + passive-aggressive + fanboi mentality is a really BAD personality combination!

    My guess as to who that is hiding behind the assumed name: (a) Terry Childs, (b) Comic Book Guy from The Simpsons

    I don't work with any "Erik"s - what's your real name?

  • mjk340 (unregistered) in reply to Captain Oblivious

    I have a short list of 'bullshit detector' questions I ask on the first interview, which includes, "What might be more efficient, finding an element in an array or a linked list?"

    I know what you're thinking - terrible question, it depends on so many factors. Are the elements sorted? Is it a singly linked list or a skip list? How big is the list? What does efficient even mean (run time, storage, cache effects...) And on and on. If you start asking questions like this, or even touch on any of these topics while giving an answer, I am satisfied and will move on.

    I interviewed a 15+ year experience guy with every popular language known to man on his resume. He said "Array".

    I asked, "Why do you say that?"

    "Er, no, I mean linked list."

    "Why?"

    "Array"

    "Relax, this isn't a trick question. Let's say I have an array of strings. How can I tell if a given string already exists in the array?"

    "Linked List"

    "Fine, how could I tell if a string exists in a linked list?"

    "Array"

  • Julian (unregistered) in reply to jkupski
    jkupski:
    Jay:
    I've had a number of occassions where people I worked for at what company turned up at another company I got a job with many years later. In one case, my employer bought a company I had worked for just a few years before, so EVERYBODY I had worked with there was now a co-worker again.

    My simple philosophy is: No matter how much I hate a job, no matter how mad I am at how badly I was treated or how stupid the boss was or whatever, when I leave, I write a nice resignation letter saying that I have enjoyed working here, I am leaving to pursue what I believe to be a better opportunity, and other such polite pablum. If I turn down a job offer, I say thank you but this offer does not fit my present goals, etc.

    To sum up: the toes you step on today may be connected to the ass you have to kiss tomorrow.

    or: The toes you step on today could be the ones that will be kicking your butt tomorrow.

  • MrBob (unregistered) in reply to Soviut
    Soviut:
    Me:
    I can never understand what is going on in the minds of people like the first guy. Do they actually believe that acting like that will somehow get them the job? Or are they just so full of themselves that they think they're so likely to find a different job that they can afford to burn every bridge they cross just to blow off steam?

    I love the self-appointed "rock star" developers who think they're hot shit. What's even funnier is this guy is obviously just a cowboy coder; shunning good practices for the wrong reasons. I know what he's getting at, with all the over engineering going into "enterprise" software, but he blames the practices rather than blaming those who abuse them.

    A guy like this believes his "own efficient methods" are the way to go. Undoubtedly, this means he's either written some crappy wrapper library that he foists on any company he works for, or he just plows through code without doing any planning. He thinks being efficient means getting it done as quickly as possible with no consideration for maintenance or sanity.

    Plus he's an asshole. He'd be brutal to work with.

    The test worked! Seriously, looks like both parties are better off...

  • Smarty McSmartyPants (unregistered) in reply to Paul W. Homer
    Paul W. Homer:
    OK, I'll admit the first interviewee's response was a bit over the top, but having gone through interviews with companies that were both obnoxious and arrogant I'd be very tempted to send that that reply myself.

    "Really, you're testing my ability to XOR stuff? Are you implying that the twenty previous years of hardcore programming experience on my resume are a lie? That's no way to start a relationship, I have to go now ..."

    Generally I assume that if they don't have any initial respect for my experience, they are probably another mindless sweatshop. A place to be avoided.

    Let's put it this way... If you're smart enough to be offended, then I assume you're also smart enough to figure out how, freed of influence pesky things like morals, ethics and integrity, you could bluff your way past anyone daft enough to trust you on your word alone. Playing the odds, if you've been around 20 years I'm willing to bet you met someone who did this on the job at least once.

    I'll walk if they DON'T assume everything was questionable and failed to perform due diligence/vetting. If they didn't closely scrutinize me, they probably didn't bother doing so with my potential future coworkers either. They're probably a mindless sweatshop that is more interested in selling my credentials than actually using them. I don't want to walk in to that kind of environment... yet again.

  • MrBob (unregistered) in reply to Paul W. Homer
    Paul W. Homer:
    OK, I'll admit the first interviewee's response was a bit over the top, but having gone through interviews with companies that were both obnoxious and arrogant I'd be very tempted to send that that reply myself.

    "Really, you're testing my ability to XOR stuff? Are you implying that the twenty previous years of hardcore programming experience on my resume are a lie? That's no way to start a relationship, I have to go now ..."

    Generally I assume that if they don't have any initial respect for my experience, they are probably another mindless sweatshop. A place to be avoided.

    Resumes are often, um, embellished. You offer them no reason other than your toothy grin to take you at face value.

  • Henning Makholm (unregistered) in reply to ThePants999
    ThePants999:
    What Thomas B did was... inadvisable. But I still want to hear his side of that story.
    Sure thing. Just take the first big block of monospaced text in the article and run it through a speech synthesizer.
  • Nitty (unregistered) in reply to Anonymous
    Anonymous:
    Shaftoe:
    I'm on Guy 1s side too. Use little puzzles and tests on CS grads fresh out of school. someone who has been successfully developing software for 10 plus years should have more significant deeper lines of questioning in interviews. No wonder he was insulted. Granted his response was a bit over the top. Probably hit the send button by mistake. Hiring managers and tech interviewers, tailor your interviews to the percieved level of the interviewer

    Or maybe they want to weed people like #1 out?

    Me agree too. I often think there are stupid steps and tasks in recruitment processes, but I like to think that irrespective of whether I agree with how the hiring process goes, they will always see that I'm the talent they want. Although telling them their fucking idiots because of the way they run their recruitment might make you stand out, I'm thinking it might not give you the best chance of securing the job. I've worked in many jobs where the hiring process was a bit silly - but often the jobs themselves didn't reflect this.

    If I really want a job, I'll do what I think it is worth doing to get it. That doesn't include JavaScript like activities, but if it means playing the game and answering how I can weigh a Jumbo Jet then I'll play along and answer the question. At the end of the day, there's no point complaining that they're idiots - it won't get you the job, so you have to decide whether it's worth completing their little puzzles or whether you'd rather drive a street-sweeper.

  • jarjams (unregistered) in reply to Me

    Too many people completely misunderstand the guy in #1.

    If you are employing someone who is currently a director and give him some shitty demeaning technical test, you can expect him to lose interest in your job. If he is insulted enough, he may even return the insult. This is what has happened.

  • aasg (unregistered) in reply to Paul W. Homer
    Paul W. Homer:
    OK, I'll admit the first interviewee's response was a bit over the top, but having gone through interviews with companies that were both obnoxious and arrogant I'd be very tempted to send that that reply myself.

    "Really, you're testing my ability to XOR stuff? Are you implying that the twenty previous years of hardcore programming experience on my resume are a lie? That's no way to start a relationship, I have to go now ..."

    Generally I assume that if they don't have any initial respect for my experience, they are probably another mindless sweatshop. A place to be avoided.

    I like people like you. I don't think I've often been the best qualified candidate, but arrogant developers with lots of experience seem to shy away from actually doing anything that might even remotely help them get the job. Because they feel that they are doing the prospective employer a favour by applying, they tend to be arrogant and upset said employer. That seems to leave me at the top of the list to score the awesome work (despite not having 20 years experience XORing).

    From the bottom of my heart, thank you very much for all the great jobs I've had!

  • (cs) in reply to mjk340
    mjk340:
    I have a short list of 'bullshit detector' questions ... which includes, "What might be more efficient, finding an element in an array or a linked list?"

    ...blah blah reasons blah...

    I interviewed a 15+ year experience guy with every popular language known to man on his resume. He said "Array". ... "Er, no, I mean linked list." ... "Array" ... "Linked List" ... "Array"

    Yikes. I've seen code from people like that guy; no rhyme or reason, they just use WhateverTF comes to (absent) mind while writing it, usually resulting in an incoherent mishmash of algorithms all working together to solve a simple (and in some cases non-existent) problem.

  • Harry (unregistered) in reply to jmucchiello
    jmucchiello:
    Shaftoe:
    I'm on Guy 1s side too. Use little puzzles and tests on CS grads fresh out of school. someone who has been successfully developing software for 10 plus years should have more significant deeper lines of questioning in interviews. No wonder he was insulted. Granted his response was a bit over the top. Probably hit the send button by mistake. Hiring managers and tech interviewers, tailor your interviews to the percieved level of the interviewer
    I've had too many people with 10+ years of whatever fail basic and simple tests. Not puzzles where the trick is having seen the puzzle before, but tests. For C or C++ create a simple function to insert a record into a linked list. I don't care if C++ comes with built in libraries for linked lists, the point of the test is to see if you understand what a pointer is. I can't count how many 10+ years with C/C++ folks I've not even come close to being able to do this without committing terrible logical errors.
    Spot on. No tricks needed. Creating (or even just choosing) Data Structures should help separate the sheep from the goats. Most people coutn "experience" as "time spent in a job", not necessarily "time actually doing something useful". 20 years IT Experience could involve about an hour's actual work.

    If you've got 20 years experience but can't build me a linked list (I don't care that you've never built or even used one - I'm sure you're well aware of what it is, and I can describe it nicely for you if you like) then I'm not interested in hiring you. Maybe that's unfair, but I need some way to distinguish between the 800 candidates that applied - and the claims they make regarding their experience ain't gonna be my yardstick. I don't care how many years you've sat in front of a computer, I want to know that you can help me finish the project I've committed to - if I choose to ask stupid questions about how many piano tuners there are in the world, and you don't like it, than you simply don't want this job enough - I want people that want to work for me. I don't want people who are going to look elsewhere the second they come across some little task they don't really want to do. Finding the right candidate is difficult, and candidates do often get annoyed at the hoops they have to jump through, but their reaction to said hoops often gives an insight into their character. Of course, sometimes we misjudge people, but that's life. We need to do something to find our candidate, and believing their claims comes somewhere near the bottom of the criteria...

  • Thomas B------- (unregistered)

    From: Thomas B------- Sent: Wednesday, August 11, 2010 2:45 PM To: Lorena C------- Subject: RE: Thomas - a great Job Opportunity!

    When COMPANY in CITY, COUNTRY sends out job opportunity letters for JOB DESCRIPTION, here's what you don't do:

    1. Set up a mass mailing system designed to replace certain KEYWORDS with real data, but don't bother to check how to operate the system.
    2. Don't proofread the first batch when you mail it out to your prospective customers.

    Here's my style: I am certain I can run circles around your emailing staff, and write my own, original, incredibly efficient mass mailing system; but more importantly, I am a director that can help your crew run around their own current misguided misconceptions. But I am thankful for this lesson, as I have learned that I need a better spam filter for my inbox, as clearly the one I have now is completely inefficient in weeding out the serious job offers (which I'm sure there are, somewhere in this insanely large stack of fake job offer letters) from the stupid fake job offer letters I seem to be getting constantly. Until you've smarten up your massmailing skills, DO NOT contact me. I'd be wasting too much time responding to your drivel and I certainly don't want that.

    So the question now is: Am I going to take up your offer to work in CITY, COUNTRY for DURATION plus extensions?

    The answer is: Fuck no, I won't.

    Thomas B-------

    PS. You forgot to enter in the details for the job offer.

    Do this: Print out a copy of it, ball it up and wipe your arse with it, because that's what I'm going to do after I'd taken a shit.[/code]

  • IOC (unregistered) in reply to Hairstyles of the Rich and Famous

    If a blow-dry is causing you to lose hair, the problem is either your hair, or your choice of a Pratt & Whitney J58 as your "blowdrier".

  • Cyt (unregistered)

    Thomas B, Marry Me!! [Or civil partnershipise me, or WTF ever it's called these days]

  • Henning Makholm (unregistered) in reply to Harry
    Harry:
    ... I want to know that you can help me finish the project I've committed to - if I choose to ask stupid questions about how many piano tuners there are in the world, and you don't like it, than you simply don't want this job enough - I want people that want to work for me. I don't want people who are going to look elsewhere the second they come across some little task they don't really want to do.
    Ever considered that the attitude you're displaying here might be part of the reason why the people you hire go look elsewhere really soon?

    Sure, if you've got 800 applicants you can always find some warm body to fill the chair, but the real top performers, those who can make the difference between a success and a trainwreck, they are as rare as ever. The interviewing experience will given them an insight into your character and how working for you will be, and since they know they have other options ... they won't be the ones who're full of themselves, screaming indignantly about how they are superstars.

    The actual guy you don't want to miss will put on his best cheer while jumping through whatever silly hoops you've lined up, and then he'll go home and send you a short polite email: "Thanks for your time. On reflection I don't think I'm a good match here. I hope you find somebody who is. Sincerely, etc."

  • eXtremeDev (unregistered) in reply to Shaftoe
    Shaftoe:
    I'm on Guy 1s side too. Use little puzzles and tests on CS grads fresh out of school. someone who has been successfully developing software for 10 plus years should have more significant deeper lines of questioning in interviews. No wonder he was insulted. Granted his response was a bit over the top. Probably hit the send button by mistake. Hiring managers and tech interviewers, tailor your interviews to the percieved level of the interviewer

    I totally agree.

    Last time I was looking for a job, I interviewed with this rather small company. After acing the presented problem in a very limited timeframe (this was the technical part of the interview) and showing the guy my portfolio (some of those apps are live and running on the web), the man proceeded to ask me questions like:

    1. How many people are born in this city every minute?
    2. What is the volume of water on Earth?

    I did answer, but once I got home I rethought everything and realized I didn't really want to work for someone who didn't value my technical expertise and treated me like an idiot. Perhaps he was trying to establish pecking order early on, or he genuinely lacks common sense to realize that if an experienced person who has both shown him his portfolio AND solved the technical part should not be asked these kinds of questions.

    I emailed him and politely told him I wouldn't be able to take the position.

  • (cs) in reply to Hairstyles of the Rich and Famous
    Hairstyles of the Rich and Famous:
    “The thing is,” he ranted, “using JavaScript is like getting a bad blow–“
    I know! The way I pull my hair out when I'm writing JavaScript, it's just like a bad blow-dry!
    I think he meant blow-out. Using Javascript is unpleasant, much like having a bad blow-out on the highway.
  • Dani (unregistered) in reply to Hairstyles of the Rich and Famous
    Hairstyles of the Rich and Famous:
    “The thing is,” he ranted, “using JavaScript is like getting a bad blow–“
    I know! The way I pull my hair out when I'm writing JavaScript, it's just like a bad blow-dry!
    When will people realize that jQuery(or equivalent) + Chrome javascript is *NOT* IE6 javascript? (seriously, its 2 completely different languages).
  • Harry (unregistered) in reply to Henning Makholm
    Henning Makholm:
    Harry:
    ... I want to know that you can help me finish the project I've committed to - if I choose to ask stupid questions about how many piano tuners there are in the world, and you don't like it, than you simply don't want this job enough - I want people that want to work for me. I don't want people who are going to look elsewhere the second they come across some little task they don't really want to do.
    Ever considered that the attitude you're displaying here might be part of the reason why the people you hire go look elsewhere really soon?
    Hadn't noticed that they do look elsewhere particularly soon - and this I put down to this attitude.
    Henning Makholm:
    Sure, if you've got 800 applicants you can always find some warm body to fill the chair, but the real top performers, those who can make the difference between a success and a trainwreck, they are as rare as ever. The interviewing experience will given them an insight into your character and how working for you will be, and since they know they have other options ... they won't be the ones who're full of themselves, screaming indignantly about how they are superstars.

    The actual guy you don't want to miss will put on his best cheer while jumping through whatever silly hoops you've lined up, and then he'll go home and send you a short polite email: "Thanks for your time. On reflection I don't think I'm a good match here. I hope you find somebody who is. Sincerely, etc."

    End of the day, if we have 800 people for 5 jobs we need to cull them somehow. Prospective candidates will also cull offers if they get more than one, and the interviewing experience may impact that. I'll even agree that the most capable have the most offers and are therefore most likely to decline an offer, but it should be noted I don't necessarily need the best candidate. Sure, it's always nice to have a ferrari, but for getting around the city any car might be just as good. It's nice to think that you can always pick the absolute best person, but you don't actually need to, and I'd rather have a process that weeds out the rotten eggs (even if it means sacrificing some of the best) than a process that makes it very difficult to determine which ones are the rotten eggs.

    It's a simple optimisation problem. I haven't the resources to guarantee the best solution every time, but I have a solution that seems to give good results every time - this is all I can hope for.

  • Anonymous (unregistered) in reply to mjk340
    mjk340:
    I have a short list of 'bullshit detector' questions I ask on the first interview, which includes, "What might be more efficient, finding an element in an array or a linked list?"

    I know what you're thinking - terrible question, it depends on so many factors. Are the elements sorted? Is it a singly linked list or a skip list? How big is the list? What does efficient even mean (run time, storage, cache effects...) And on and on. If you start asking questions like this, or even touch on any of these topics while giving an answer, I am satisfied and will move on.

    I interviewed a 15+ year experience guy with every popular language known to man on his resume. He said "Array".

    I asked, "Why do you say that?"

    "Er, no, I mean linked list."

    "Why?"

    "Array"

    "Relax, this isn't a trick question. Let's say I have an array of strings. How can I tell if a given string already exists in the array?"

    "Linked List"

    "Fine, how could I tell if a string exists in a linked list?"

    "Array"

    Wait? Isn't it the same thing? Both would need linear time for search unless you are allowed to sort, but if you are allowed to sort, then you can sort the linked list as well, and it is the same thing.

  • Anonymous (unregistered) in reply to Henning Makholm

    If the guy has so many options, I don't get why is he even pushing for a 800 applicants job.

  • Billy Goat (unregistered) in reply to Anonymous
    Anonymous:
    mjk340:
    I have a short list of 'bullshit detector' questions I ask on the first interview, which includes, "What might be more efficient, finding an element in an array or a linked list?"

    I know what you're thinking - terrible question, it depends on so many factors. Are the elements sorted? Is it a singly linked list or a skip list? How big is the list? What does efficient even mean (run time, storage, cache effects...) And on and on. If you start asking questions like this, or even touch on any of these topics while giving an answer, I am satisfied and will move on.

    I interviewed a 15+ year experience guy with every popular language known to man on his resume. He said "Array".

    I asked, "Why do you say that?"

    "Er, no, I mean linked list."

    "Why?"

    "Array"

    "Relax, this isn't a trick question. Let's say I have an array of strings. How can I tell if a given string already exists in the array?"

    "Linked List"

    "Fine, how could I tell if a string exists in a linked list?"

    "Array"

    Wait? Isn't it the same thing? Both would need linear time for search unless you are allowed to sort, but if you are allowed to sort, then you can sort the linked list as well, and it is the same thing.

    The point the OP was making (before the story), was that the question is designed to see whether the interviewee asks the right questions to determine whether there is a good strategy for one or the other. It also leads into other questions that might compare data structures.

  • IronMensan (unregistered) in reply to Anonymous
    Anonymous:
    mjk340:
    I have a short list of 'bullshit detector' questions I ask on the first interview, which includes, "What might be more efficient, finding an element in an array or a linked list?"

    I know what you're thinking - terrible question, it depends on so many factors. Are the elements sorted? Is it a singly linked list or a skip list? How big is the list? What does efficient even mean (run time, storage, cache effects...) And on and on. If you start asking questions like this, or even touch on any of these topics while giving an answer, I am satisfied and will move on.

    I interviewed a 15+ year experience guy with every popular language known to man on his resume. He said "Array".

    I asked, "Why do you say that?"

    "Er, no, I mean linked list."

    "Why?"

    "Array"

    "Relax, this isn't a trick question. Let's say I have an array of strings. How can I tell if a given string already exists in the array?"

    "Linked List"

    "Fine, how could I tell if a string exists in a linked list?"

    "Array"

    Wait? Isn't it the same thing? Both would need linear time for search unless you are allowed to sort, but if you are allowed to sort, then you can sort the linked list as well, and it is the same thing.

    Just because two algorithms are O(n), doesn't mean they take the same amount of time. Using a linked list means more memory access as the next pointers are fetched in addition to the caching consequences as was mentioned earlier.

  • mjk340 (unregistered) in reply to Anonymous
    Anonymous:
    mjk340:
    I have a short list of 'bullshit detector' questions I ask on the first interview, which includes, "What might be more efficient, finding an element in an array or a linked list?"

    I know what you're thinking - terrible question, it depends on so many factors. Are the elements sorted? Is it a singly linked list or a skip list? How big is the list? What does efficient even mean (run time, storage, cache effects...) And on and on. If you start asking questions like this, or even touch on any of these topics while giving an answer, I am satisfied and will move on.

    I interviewed a 15+ year experience guy with every popular language known to man on his resume. He said "Array".

    I asked, "Why do you say that?"

    "Er, no, I mean linked list."

    "Why?"

    "Array"

    "Relax, this isn't a trick question. Let's say I have an array of strings. How can I tell if a given string already exists in the array?"

    "Linked List"

    "Fine, how could I tell if a string exists in a linked list?"

    "Array"

    Wait? Isn't it the same thing? Both would need linear time for search unless you are allowed to sort, but if you are allowed to sort, then you can sort the linked list as well, and it is the same thing.

    I make it a point to tell the candidates that the questions are open ended and meant to spur discussion, and that there isn't really a right or wrong answer.

    Rather than answer your question, I'll ask you what I would have asked you in the interview as a follow up: How would you jump to the center of a linked list to perform the first comparison in a binary search?

  • Mick (unregistered) in reply to Dani
    Dani:
    Hairstyles of the Rich and Famous:
    “The thing is,” he ranted, “using JavaScript is like getting a bad blow–“
    I know! The way I pull my hair out when I'm writing JavaScript, it's just like a bad blow-dry!
    When will people realize that jQuery(or equivalent) + Chrome javascript is *NOT* IE6 javascript? (seriously, its 2 completely different languages).

    Really? This is what you're thinking when you've got your cock in a girls mouth?

    I'm wondering if I can get it to shoot out her nose...

    captcha : opto ... hell yeah

  • (cs)

    Ugh.

    The second story makes me think job interviews should include questions to determine social aptitude.

  • (cs) in reply to Smarty McSmartyPants
    Smarty McSmartyPants:
    Captain Oblivious:
    jmucchiello:
    Shaftoe:
    I'm on Guy 1s side too. Use little puzzles and tests on CS grads fresh out of school. someone who has been successfully developing software for 10 plus years should have more significant deeper lines of questioning in interviews. No wonder he was insulted. Granted his response was a bit over the top. Probably hit the send button by mistake. Hiring managers and tech interviewers, tailor your interviews to the percieved level of the interviewer
    I've had too many people with 10+ years of whatever fail basic and simple tests. Not puzzles where the trick is having seen the puzzle before, but tests. For C or C++ create a simple function to insert a record into a linked list. I don't care if C++ comes with built in libraries for linked lists, the point of the test is to see if you understand what a pointer is. I can't count how many 10+ years with C/C++ folks I've not even come close to being able to do this without committing terrible logical errors.

    Now that's interesting. Where do you rate trivial, obvious syntax errors, assuming the logic is correct?

    Rating: Trivial. You may be underestimating the kind of wholesale failure we're talking about here...

    I also thought it was "interesting" that "hardcore" veterans with a decade of experience were wholly unable to write passable code in their language of choice. Even if one allowed for "language of choice" to be typo-riddled magical unicorn psuedo-code. They don't know wtf they're talking about, at all. Noticing this becoming a recurring pattern rendered it more obnoxious than interesting, further degrading my already rapidly dwindling faith in humanity.

    People lie. A lot. Believe the hype.

    I believe it.

    I suppose I was interested because I am going in for an interview on Monday, based on previous experience doing mathematical analysis and some web development. In my mathematical and programming career, I've probably used 100 different logics and languages. It's very easy to forget language syntax, especially if you rely on "abstract interpretation" as much as I do.

    An interviewer once asked me to "describe" a linked list, and I drew a circle (gave it type "node"), drew an arrow from the circle, and gave a name "next" and a type signature "node -> node". The interviewer was very happy with that answer. Languages are easy and forgettable. Concepts take time to learn.

  • Bruce DICKinson (unregistered)

    Does anyone else suspect "Iron Mensan" is C-Octothorpe?

  • mickey (unregistered) in reply to boog

    What is the alternative - back-end work - different type of "blow" job. Now that really sucks.

  • A good guess (unregistered)

    “The thing is,” he ranted, “using JavaScript is like getting a bad blow–“

    I nearly choked on my coffee as he continued talking about the, erm, job. It was a fairly complex metaphor that involved a woman, grocery shopping, and possibly dandelions, but I was too stunned to remember how it all tied together.

    Ok, here's an artist's reconstruction of how it tied together.

    The thing is, using JavaScript is like getting a bad blow-out on your car. See you're sat there happily driving along the freeway with your missus, on the way to do your weekly grocery shop. Traffic is flowing, the sun is shining, everything's peachy. She's probably at this moment looking out the window admiring the dandelions growing out in the field. But you're nearly there and your exit is coming up, so you shift lanes and BLAM! Your tire just explodes for no apparent reason. Suddenly cars are slamming their brakes on and swerving, you're fighting to control the car and she's just sitting there in the passenger seat screaming exceptional language at the top of her voice.

    With one little shift, your entire day has been ruined. That is what it's like dealing with javascript in the real world.

    If that took less than 3 minutes you're probably reading too fast.

  • (cs)

    Hi Lorna,

    Thanks for contacting me about the POSITION opening at COMPANY. I've been hoping to get into INDUSTRY, and this opening sounds like it will provide the BENEFIT I need in order to VAGUE REFERENCE TO PLAN FOR WORLD DOMINATION. With my expertise in SUBJECT and proven ability to deliver PRODUCT, I'm confident I can achieve RESULT and make this employer more ADJECTIVE.

    Yours, PERSON

  • Generic (unregistered)
    –let's call him Paul –
    Well, apparently Paul is actually named "he" because the name "Paul" is never mentioned again.
  • yes but (unregistered) in reply to Erik
    Erik:
    Seriously, the first message is a classic, right up there with Paula Bean.

    Isn't it amazing how a few people like that social misfit end up giving the rest of us normals a bad name? That guy will forever be cemented in the submitter's mind as the living embodiment of all IT workers.

    I've worked with people like that in the past - it's hell. Try to get anything done when the one person who is God of Everything spends 20 minutes telling you how brilliant he is and how I couldn't possibly understand what he does. (Yes, that's a real experience.) Arrogant + passive-aggressive + fanboi mentality is a really BAD personality combination!

    My guess as to who that is hiding behind the assumed name: (a) Terry Childs, (b) Comic Book Guy from The Simpsons

    Although funnily enough, a whole team full of people like that can be very productive.

  • Anonymous Cow-Herd (unregistered) in reply to Harry
    Harry:
    I don't want people who are going to look elsewhere the second they come across some little task they don't really want to do.
    If you're looking at candidates and thinking that they're likely to leave for the competition, you're doing it wrong.
  • eXtremeDev (unregistered)

    I can't believe the comment thread degenerated into a discussion on object oriented languages.

    It seems to me that half the people in IT have asperger's syndrome or something.

  • Anonymous Cow-Herd (unregistered) in reply to eXtremeDev
    eXtremeDev:
    I can't believe the comment thread degenerated into a discussion on object oriented languages.

    It seems to me that half the people in IT have asperger's syndrome or something.

    That's a bit unfair. Not least because anyone that could reasonably defend against that accusation will be distracted by the shine coming from your sweaty brow.

  • (cs) in reply to Paul W. Homer
    Paul W. Homer:
    "Really, you're testing my ability to XOR stuff? Are you implying that the twenty previous years of hardcore programming experience on my resume are a lie? That's no way to start a relationship, I have to go now ..."

    Generally I assume that if they don't have any initial respect for my experience, they are probably another mindless sweatshop. A place to be avoided.

    There are such things as formalities. Not recognizing this seems pretty strange to me. They don't know who you are or if you lied on your resume, so they give you a quiz to establish a baseline. What's the big deal? Especially when you could take their quiz, ace it, and move on.

  • Cyt (unregistered) in reply to eXtremeDev
    eXtremeDev:
    Last time I was looking for a job, I interviewed with this rather small company. After acing the presented problem in a very limited timeframe (this was the technical part of the interview) and showing the guy my portfolio (some of those apps are live and running on the web), the man proceeded to ask me questions like:
    1. How many people are born in this city every minute?
    2. What is the volume of water on Earth?

    I did answer, but once I got home I rethought everything and realized I didn't really want to work for someone who didn't value my technical expertise and treated me like an idiot. Perhaps he was trying to establish pecking order early on, or he genuinely lacks common sense to realize that if an experienced person who has both shown him his portfolio AND solved the technical part should not be asked these kinds of questions.

    I emailed him and politely told him I wouldn't be able to take the position.

    Actually, he was gauging your ability to fling out estimates on the fly - a skill very useful and needed when dealing with clients - a skill which could not have been gauged in the preceding technical tests.

    AFAIR, developers for investment banks often get these kinds of questions at the interviews as well.

    The joke's on you for feeling treated like an idiot.

Leave a comment on “The Big Picture Thinker, A JavaScript-like Job, and The Job Opportunity”

Log In or post as a guest

Replying to comment #:

« Return to Article