• Michel Parisien (unregistered)

    This happened to me in high school. I was part of an advanced program which required you to spend a year working on a project. Then, three judges were to judge, and their grades averaged to come to the final mark. The project I initially was going to take was to write a report on Japanese culture and history. I was asked to make my project something a bit less monotonous, so after discussing it a bit, we agreed I should make a manga.

    Well this was a year long project, so, focused as I was, I logged about 400 hours into it. I went from having no clue of how to draw to being pretty good. I completed the 32 page full colour manga, and submitted it and defended it in front of the judges. I even had 500+ hand drawings showing my progress as I taught myself how to draw.

    Thing is, in high school, even in advanced programs, kids are lazy. Most people didn't start their project until the last week before it was due. I found a lot of these people got 80s and such, while I got a 70. I thought maybe what I did wasn't really of much interest until graduation day, when one of the judges approached me.

    "I should tell you, you really didn't deserve the mark you got. Me and the principal", who was also a judge, "gave you 100%, but [[insert name here]] failed you for forgery because she was convinced no one could improve that much in a year."

    I think there was something going on there, involving more than just the disbelief in my skill (she has historically hated me for bigoting reasons), but still, I feel good knowing it was the best 70 I've ever received.

  • me (unregistered)

    wow, what a useless article.

    was this written by "Peter" in order to show how smart he is?

  • Darryl (unregistered) in reply to Cloak
    Cloak:
    tieTYT:
    matthewr81:
    Jesse:
    WTF: Can I say SQL injection? That would be why I wouldn't have hired him..

    I really hope that was a joke... if you validate your dynamic date before inserting it you would be fine.

    I am curious how you do insert statements without dynamic data...

    Well this person, just like me, probably comes from a Java/C# background. This is an excerpt of how you'd do it in java: PreparedStatement ps = con.prepareStatement("SELECT a FROM t where b = ?"); ps.setString(1, aString); //bind happens here ResultSet rs = ps.executeQuery(); ... //get results

    (Yes yes yes, there is no try/catch/finally here, it's an excerpt) This is how you'd escape aString in Java code. This is better than using a special, separate method called addSlashes() or whatever because that makes it easier for programmer error:

    When did addSlashes get called? Maybe it was in the function that passed aString in? Maybe it was 5 lines above the concatenation? Maybe it's done in the concatenation itself? What if you're wrong and some code gets changed and now you haven't called it at all? What if you're wrong and you called it twice (does that break things?). All these questions are avoided by the Java way of doing it. You only have one option and, fortunately, it has to be done very close to the SQL itself.

    On a side note, one thing that really pisses me off with binding is that when an error occurs, it doesn't tell you what sql it attempted to run, it spits out the sql with the ?'s in it. This makes debugging a huge pain in the ass. Maybe this is done for security reasons but there should be an option to see useful sql.

    First, fuck Java! You need a 200 MB Java engine running in the back ground just to get that stuff done. And that with some 30% more code to write. You end up with a slow program that still needs at least some 100 MB on the client just for outputting "Hello World". Why not use a decent program in VB or Delphi which has quite good GUI editors (again: Java, aarrrrgh!!!) and the final exe is just less than 5 MB. Second, there should be an option to see useful debugging information for everything not just SQL.

    Oh look, a troll. A stupid one too by looks of it. Go back to your bridge little troll, there's no place for you here.

    CAPTCHA: kungfu (kick that troll in the teeth)

  • Bob (unregistered)

    Peter answer is not what they were looking for. From Peters answer I would get the impression that he would be an in effective worker. Sometimes the straight answer is the best.

    Keep it simple stupid.

    This world needs more funtional programmers.

  • M. Ulysses Stanley (unregistered) in reply to Craig M. Rosenblum

    If they had a clue, they wouldn't be in HR.

    M.

  • Pat (unregistered)

    roflmao, certainly is a good thing that they don't want "good developers"

    -- http://free-iphone-apple.blogspot.com/

  • stupid old me (unregistered) in reply to bkendig
    bkendig:
    I think they didn't want someone who had a good command of the English language or who had a tendency to identify problems and offer solutions to them.

    Yeah, I really hate that quality in an applicant too!

  • Anthony B. (unregistered)

    To all of you individuals who have stated "if I were a screener, I would have come to the same conclusions", let us review and then do a basic analysis.

    You have just asked a potential candidate for a job, someone seeking a new job and hoping to impress the potential employer, to answer a three part question.

    1. What is it?
    2. Use in PHP?
    3. Your experience with it?

    How you could possibly hope to get less than what Peter had given and expect a good candidate for the position, I am not to sure. A screener that recommended a vague two to three sentence response from this would have been fired by my boss for incompetency. I have had the advantage of seeing applications and hearing interviews in my position and knowing how they turned out as an employee in the end. Someone who is not willing to put forth the effort for this screening question, which due to its simplicity is the only reason I can think it would be used, is not someone that I would want working on projects with me, or as part of my team. Being a written statement, I'd expect more, not less. And anyone who is qualified in their field can write a response like the one given in the OP. Businesses wishing to compete and gain economic profit have to be picky, look for highly qualified people, willing to work within the bounds of the salary alloted to that position by the executives who can bring methods of increased efficiency. Peter would have gotten a call for an interview from me to see exactly what he knew. Probably been one of the more hopeful applications too.

    On a more aggressive note: remember this is programming, once the company has the efficient code and the employee becomes to hard to handle, they still have the code and can find someone else.

  • schmichael (unregistered)

    My god.... he submitted one of the most causes of SQL Injection attacks as a code sample!

    There may be nothing wrong with PHP as a language, but as far as I can tell 90% of PHP developers and lazy and braindead.

  • redSHIFT (unregistered)
    Your search - +"Concatenation is the process to sequentially join multiple pieces of data, usually literal strings with non-string-literal data (most commonly, variables or other literals)." -peter - did not match any documents.

    Doesn't look like he plagarized then :) The company should try something more than email though...

  • schmichael (unregistered) in reply to schmichael

    "most causes" > "most common causes"

    Seems I should work on my English before I critique other's PHP.

  • nnl (unregistered) in reply to Scott

    PHP doesn't support parameterized queries

    Yes, it does. Has done for a while.

  • (cs) in reply to Sharkey
    Sharkey:
    qdfqsdfqsdfqsdfqsdf:
    Tyler:
    Mike:
    Oooh Oooh! I know that one:
    1. return string1 + string2 + string3;

    2. StringBuilder sb = new StringBuilder(); sb.Append( string1 ); sb.Append( string2 ); sb.Append( string3 ); return sb.ToString();

    3. return string.Concat( string1, string.Concat( string2, string3 ) );

    4. return string.Format( "{0}{1}{2}", string1, string2, string3 );

    sub UnnecessarySub { @_ }

    I think you mean: sub UnnecessarySub { "@_" }

    No, treating it as a string would return a space separated string (not what was aked for).

    Yeah but just returning @_ isn't really concatenation, since it just returns the list back. You mean one of these:

    sub semiUnnecessarySub { join '', @_ } sub semiUnnecessarySub { local $" = undef; "@_" }

  • Gray (unregistered) in reply to karlostjackal
    karlostjackal:
    [...] He also mentioned it would be in an obscure, dead programming language [...]it was pretty easy to grok. [...] and the dead programming language is "MUMPS"[...]

    Not quite dead. I know and worked on a system (I think in English it's an ERP system - managing buying/storing/selling wares) programmed in M.

    Additionally, I understand that it's still not uncommon in medical and financial institutions. Examples, taken from wikipedia, include the US Veteran Administration or large parts of the US DoD CHCS hospital system.

    Nowadays it's usually not plain M anymore but its successor which is named Cache. Cf http://en.wikipedia.org/wiki/Caché_(software), but where I once worked this came after my time there ended.

  • Gray (unregistered)

    ... and damn, I forgot, but - yes, it is a rather simple language. The 'single letter command' style was standard for the system mentioned above. Made for short lines :)

  • (cs) in reply to alexgieg
    alexgieg:
    Some years ago, I was approached by a 4th-year student of social science...

    A computer science professor once told me that if you have to put "science" in the name, it ain't really science.

  • Richard (unregistered)

    I would have answered it to the best of my ability too. And if it were detailed like his, I too, would not have even considered the response he was given. Don't worry Peter, it's their loss... you can do better!

    Always do the best in everything you do -- someday, you may get rewarded for it.

  • Steve (unregistered)

    Thorough answer, but I would have been wary of the SQL example you used in every web app you have coded. A technical reviewer might have been suspicious of plagiarism because that kind of example is the kind you find in a beginners book, not what you would hope to find in the real world, i.e. a complete book understanding, but not a practical understanding probably raised some flags.

  • John (unregistered) in reply to Ryan
    Ryan:
    A long winded answer like that shows know-it-allism. I hate people that drone on and on about unrelated stuff when all you want is a 4 or 5 word answer."

    I think Ryan here is the only one who gets it. There is such thing as a "too good" answer. An A+ candidate is a threat to most employers. Someone who knows your job beter than you do is a potential embarrasment and probably incongruent with the wage you're offering. That means they're perceived as likely to leave as soon as they get a better offer. To put it bluntly, a large number of people working in high positions in IT these days are fucking idiots. One of the greatest challenges for smart people is knowing how to dumb themselves down to an acceptable level. Ryan gets it because Ryan is one of them, part of the malingering incompetent fat that blocks up the arteries of our businesses and government departments. Too proud to step aside and let the better man through, too afraid of being exposed, the only recourse they have is to keep the good people down.

  • Mustafa (unregistered)

    hehe, I AM Not suprised///

    --> you may ask why ? because it happend to me all the time during my last 134 interviews. they ask me stupid question and I answer them with a quality answer, and yet they refuse to give you the position, i think most the managers are arrogant selfish dogs, they don't understand the concept of being smart

  • (cs) in reply to Michel Parisien
    Michel Parisien:
    "I should tell you, you really didn't deserve the mark you got. Me and the principal", who was also a judge, "gave you 100%, but [[insert name here]] failed you for forgery because she was convinced no one could improve that much in a year."

    I think there was something going on there, involving more than just the disbelief in my skill (she has historically hated me for bigoting reasons), but still, I feel good knowing it was the best 70 I've ever received.

    Just wanted to say that this was a very awesome and heart-warming story. :) Sucks about the 70% (I remember lazy-arsed people getting high marks in highschool as well when I'd put in tonnes of time for either the same or lower mark) but it wound up paying off in university where it was a lot more difficult to pull that off.

    On the same vein of the topic discussion, I had signed myself up with a temp company while I was between jobs a few years ago. I signed up for anything technical, but also included secretarial work (hey, I was getting desperate for any sort of job to keep the mortgage paid). I had ample experience in secretarial work from the jobs I had prior to university, plus my computer experience meant that 99% of any office software thrown at me wasn't an issue... something most offices are very happy to see.

    I got a call from my temp manager who said a place was looking at hiring me for 2 months to do office management. It was the best lead I'd had so far and I was excited about it. She just had to fax my resume over. I sent her an updated copy of my "secretarial" version. A week later, she called to say the company had changed their mind... I was far too over-qualified. Based on my modified secretarial version of my resume. And they couldn't deal with that for only 2 months. WTF??

    Needless to say, it was another blow to my ego at the time... I was already having an extremely difficult time finding employment as my programming skills were out-of-date and my specialization was a very niche-market that usually doesn't have a lot of openings. Under-qualified as a programmer, over-qualified as a secretary, and few jobs in my specialization.... yeah, it was a pretty rough summer.

    -- Seejay

  • Timtimes (unregistered)

    They could have 'googled' a phrase in that answer to see if it returned any hits. If not, then the odds that he plagarized it are probably pretty long.

    Enjoy.

  • Stefan W. (unregistered)

    Good comment on page 2: "Email questions is begging for plagiarism".

    But WTF: SQL-Injection, too qualified, answer too long, ...

    Why should the company hide their real reason behind an offending insult? "Sorry - we found another candidate which matched better", "you didn't focus on security which is an important ...", "we guess you're overqualified", "we don't comment on refusal" - those would be appropriate answers.

    The story is a classic WTF, while my first thought was indeed "SQL-Injection".

    Here is my own story: Live interview at the company, Java programming. Talked about this and that. Then the manager asked questions about performance improvements. I mentioned common mistakes and general ideas (performance by design, use profilers instead of speculation, 80:20 rule, and so on). He wanted to hear something else, and presented 3 obscure techniques: some obscure bitmask thing, one thing which I have forgotten, and reverse-itering through a for-loop: instead of: for (int i = 0; i < x.size (); ++i) he suggested: for (int i = x.size () - 1; i >= 0; --i)

    Well - I argued, that you should really test, whether there is a penalty in the first approach, which is better readable. If there is some real work inside the loop, the improvemennt will not matter, and nowadays compiler and jit-compiler being very good in optimisation themselfes.

    Well - I couldn't convince him, and my salary expectations didn't fit. On my way home I bought the newest Java magazine, and found an article: Performance improvements, explaining all his lousy tricks.

    At home I tested them and found none of them working - everything was antic voodoo art, working with java-1.1.8 or something - not with java-1.4.

    Lesson learnt: Be sure to read the newest Language magazine before your interview. :)

  • Pete (unregistered)

    How do we know he didn't fake it?

    Go to AnusJuice.com for webcams.

  • AskTheAdmin (unregistered)

    Dont you hate when you need to dumb stuff down for idiots!

    Thanks for the chuckle from your friends over at http://www.askTheAdmin.com

  • loco (unregistered)

    my guess is, the guy from the company evaluating the answers is also a PHP programmer, and doesn't want somebody smarter than him taking over his job.

  • Mike (unregistered)

    Has no one realized he had to have typed all that in 30 seconds per the email instructions?

  • John (unregistered) in reply to Stefan W.

    agree,

    got totally kicked sideways by a guy asking java questions i'd never heard about.

    ugh.....

  • Horseonovich (unregistered)

    Those Guys are Assholes

  • Veretax (unregistered) in reply to peaked
    peaked:
    I call BS. No company calls you back to tell you that you didn't get the job. Funny story, but probably not true.

    I hate to burst your bubble but it sounds like the job was being hired through a recruiter (subcontracter perhaps) Someone like a TekSystems or a Mantech Professional Service that make money in finding folks. Its likely that Company which told him he didn't get the job. Funny how so many folks missed that.

  • Carl (unregistered) in reply to Paul

    How cute is your ass?

  • Tyler (unregistered) in reply to Sharkey
    Sharkey:
    qdfqsdfqsdfqsdfqsdf:
    Tyler:
    Mike:
    Oooh Oooh! I know that one:
    1. return string1 + string2 + string3;

    2. StringBuilder sb = new StringBuilder(); sb.Append( string1 ); sb.Append( string2 ); sb.Append( string3 ); return sb.ToString();

    3. return string.Concat( string1, string.Concat( string2, string3 ) );

    4. return string.Format( "{0}{1}{2}", string1, string2, string3 );

    sub UnnecessarySub { @_ }

    I think you mean: sub UnnecessarySub { "@_" }

    No, treating it as a string would return a space separated string (not what was aked for).

    Yeah, but the way I originally put it would return it as an array, which is definitely not what was asked for...not sure what I was thinking. You'd actually want to set $" to "" and then return "@_"

  • Darien H (unregistered) in reply to Cloak

    [quote user="Cloak"]Why not use a decent program in VB or Delphi which has quite good GUI editors (again: Java, aarrrrgh!!!)[/quote] I take it you've never used Netbeans to create a GUI before.[/quote]

  • steve (unregistered) in reply to QuestionC

    i think this story is BS.

  • (cs) in reply to Mike
    Mike:
    Has no one realized he had to have typed all that in 30 seconds per the email instructions?
    That was only in the imaginary question he did not get.

    I think almost every pedantic programmer has gotten this kind of response ("must have plagiarized it") at some point in their life, whether on a term paper or whatever. Even if the powers that be never tell you, they think it when the answer's too formal, too grammatical. Also, if the company told the recruiter that they thought it was plagiarized, that's definitely slanderous, but maybe not actionable. Maybe the recruiter was lost in the anonymizing process?

  • AdT (unregistered) in reply to ratsbane
    ratsbane:
    And you will be mingling SQL with data whether you like it or not

    Assuming a von Neumann system architecture, well, of course. But to what degree? If the DBMS is embedded (I use embedded Firebird for instance), no network transmission is necessary, no serialization will occur and the degree of mingling is certainly less when you use parameterized queries.

    Even if network transmission is involved, so it will probably be necessary to serialize SQL code and data into the same stream (rsp. datagram), they will likely still be separated to the extent of not being encoded in the same string, greatly diminishing the chance that some of the data will accidentally get executed as SQL.

    And even if the DBMS or the driver actually does not support parameterized queries directly, so it has to generate an SQL string that contains the actual, escaped data, it is still better to let the low-level driver routines take care of this for at least two reasons: Forward compatibility (If they fix this deficiency, you will benefit from this fix without rewriting your code) and separation of concerns. SQL string escaping, even if it is necessary at all, is a serialization issue and simply does not belong in program modules that use SQL queries to store and retrieve data. These should neither care nor have to care about network serialization. It's simply not their business and will only complicate code reuse and maintenance as well as encourage bug proliferation.

    ratsbane:
    it's just a question whether you should use a magical black box of parameterization (which likely will be slightly faster) or concatenation.

    If you use open source database drivers, then, no, they're not a magical black box. Anyone can download the source code to the client libraries of PostgreSQL, MySQL, Firebird and others. The way they handle parameterized queries is no more "black box" than PHP's mysql_real_escape_string.

    If you use closed source drivers and distrust their ability to do their job correctly, then I wonder why you would use them at all in a production system.

  • (cs)

    "[...]plagiarized it[...]"

    Wow.

    The company may as well have said, "Coud you pweeze tell it to us in Engrish? This too techy, you can't be dat smart." WTF indeed.

    Lesson learned: find out who your audience is, and tailor your communication accordingly. You don't want them to refuse to hire you because of THEIR misunderstoods.

  • (cs) in reply to steve
    steve:
    i think this story is BS.

    You should know something about life: when writing fiction, the story has to be BELIEVABLE. Truth has no such requirement.

    This does not alter the fact that we do not know for certain if the story is BS or not - I am simply reinforcing that fact.

  • tieTYT (unregistered) in reply to Cloak
    Cloak:
    This is the answer I was waiting for. Ryan you got THE point. Who wants to have somebody who is talking and talking but maybe won't understand that his boss wants the simple answer (and then goes back to work: allez, go, go, go, and implement it...)

    I think you miss the point. This is an email. It's the first email he's ever had with this person. It's not a phone conversation where you can gauge someone's reaction as you speak to them. On a phone call, all these criticisms are all completely valid. But the first time you email someone, you don't know WTF they want from you! Just look at these comments. Half of them say that this was a really good answer, the other half say that his answer was way too long and they wouldn't hire him. He has a 50% chance of answering the question the way you want thanks to the format.

    The SMART people say, "this should have been done over the phone". The DUMB people say, "this answer was too long and I wouldn't have hired him".

  • Ean (unregistered)

    The CONCATENATION operator?

    Wow, it makes me wonder what kind of monkey got the job?

    Remind me to never, ever use a web app. that company makes.

    Bonus points for pointing out a better way than the concatenation operator for joining bits on an echo line.

    Honestly, you are better off in a job that actually challenges your skill set.

    I program PHP daily but I don't consider myself an expert. I consider this screening question to be ludicrous. Why not ask people how to avoid cross-site scripting vulnerabilities or SQL injections?

    Hahah... all in all, this is just too funny.

  • Eeve (unregistered)

    Oh man, this brings back memories- in grade 4 I got an F on an essay on chimpanzees because the teacher thought I copied it from a book. Turns out I just had above average writing skills and I actually researched, and filled my essay with facts instead of the "I like chimpanzees because they are cute" stuff my classmates wrote.

    My Mom stormed into the school and showed the teacher our books on animals we had in the house and demonstrated where I got the info from and how I put it into my own words as we were instructed. Bam, A+. A five minute conversation with me by the teacher would have shown her that I knew the topic.

    Ok, I'm rambling... but the other commenters who pointed out that the company lost a strong candidate because they were too lazy to talk to the guy are all exactly right. I hate it when people jump to conclusions.

    Captcha: stinky

  • Zygo (unregistered) in reply to Cloak
    Cloak:
    Why not use a decent program in VB or Delphi which has quite good GUI editors (again: Java, aarrrrgh!!!) and the final exe is just less than 5 MB.

    Holy shit...

    puts("Hello, World!\n") in C (GCC 4.1, default compile options): 7021 bytes.

    Same source code compiled with C++: 7486 bytes.

    std::cout << "Hello, World!\n" in C++: 8477 bytes.

    Statically linked: 495K, 557K, and 1186K, respectively.

    Recompile in C++ with coverage analysis, profiling, debugging, inline functions, exceptions, RTTI, and unrolled loops: 1234K.

    Delphi produces a 5MB executable. Presumably you're not building Delphi apps with options intentionally chosen to produce the largest possible exe, so we're comparing the 8K executable with a just-less-than-5MB one.

    WTF is the just less than 5 MB for?

  • Zygo (unregistered) in reply to Random832
    Random832:
    Franz Kafka:
    The common solution is to implement a default deny policy - decide what's allowed and reject anything else. For instance, userID could be checked against (^[0-9]+$) and username against ^[a-zA-Z_-@ ]+$ and you'd be proof against sql injection.

    right, and useremailaddr can be checked against

    [something which I presume is an attempt at the RFC822 regexp]

    And don't forget, valid email addresses can contain SQL injections, mismatched HTML tags, shell commands, and Javascript, depending on what part of the system you want to inject code into.

  • Zygo (unregistered) in reply to A nanny moose
    A nanny moose:
    $sth = $dbh->prepare('insert into accounts(number) values(?)');
    $sth->execute($cgi->param('account_number'));
    
    Now you may freely set your account number to '; drop database' or whatever and you're SQL-injection proof.

    Somewhere, there is a bank with an accounts database that has an account with the number "; drop database" or whatever. It probably has very interesting monthly statements. ;-)

  • Zygo (unregistered) in reply to ratsbane
    ratsbane:
    And you will be mingling SQL with data whether you like it or not - it's just a question whether you should use a magical black box of parameterization (which likely will be slightly faster) or concatenation.

    Parameterization can be slower than concatenation:

    1. Sometimes an extra round-trip to the server is required to generate the parameterized query handle, so if you are only going to execute the query once it is probably faster to concatenate strings (unless the string is huge and full of escape characters, or your RDBMS's query parser is extremely slow).

    2. Some RDBMS query optimizers only optimize the parameterized query, and lose opportunities to optimize for specific constant values. For example if a CHECK constraint on a table makes a particular parameter value impossible, then the optimizer may figure out that specific parameter values are impossible and optimize the entire query out of existence--but it can't do that if it doesn't know what the parameter value is.

    3. Some client toolkits implement parameterized queries in O(n^2) time on the number of parameters. String concatenation, if done correctly, runs in O(n) time. If there are many parameters and they're mostly small integer or short strings, the parameterization and data marshalling cost can exceed the benefit, especially in cases like multi-row INSERTs.

    4. Some (evil or broken) client toolkits implement parameterized queries by client-side escaping and concatenation. If you can't upgrade the client toolkit, and you're not trying to be portable, it's probably going to be faster to do the escaping and concatenation yourself.

  • Zygo (unregistered) in reply to Chris
    Chris:
    If you're the type of person that dismisses someone because they write an essay but miss out a word, then I really hope I never have to work for you.

    If the someone is a lawyer, then it's certainly possible. It would depend on which word was missing.

    My lawyer: "My client pleads guilty, your honor." Me: "Missing word! You're fired!" My lawyer: "I only missed out one word! I really hope I never have to work for you again." Me: "NOT guilty! I want to plead NOT guilty!" Judge: "Too late." <strikes gavel> "Ha ha." Me: "Crap!"

  • tieTYT (unregistered) in reply to Cloak
    Cloak:
    First, fuck Java! You need a 200 MB Java engine running in the back ground just to get that stuff done. And that with some 30% more code to write. You end up with a slow program that still needs at least some 100 MB on the client just for outputting "Hello World". Why not use a decent program in VB or Delphi which has quite good GUI editors (again: Java, aarrrrgh!!!) and the final exe is just less than 5 MB. Second, there should be an option to see useful debugging information for everything not just SQL.
    If you think the size of the "executable" and the amount of RAM the application takes up is top priority... we have different priorities. Sorry, but I don't write code for cell phones or hardware. The code I write can easily handle those requirements.
  • Doug Renner (unregistered)

    Something similar happened to me with a Calculus final exam.

    They couldn't believe I could compute simple third order definite integrals in my head, presumed I was cheating, and disqualified my test.

    Only the professor could change the exam results, and since he was on vacation this ridiculous result was permanent.

    I dropped out after that, and never regretted it.

  • lucius (unregistered)

    Goodness! An educated programmer gives a quality response and is shut down. That's pathetic. Makes me then wonder why they would ask via e-mail...

  • Q (unregistered)

    That is one pitiful, uncommitted recruiter. If I had a client hit me with a concern like that about one of my candidates, my reaction would be "okay, here's his phone number, call him and ask him another question!"

Leave a comment on “Good Answer... Perhaps TOO Good”

Log In or post as a guest

Replying to comment #:

« Return to Article