Ask HN: Is saying "I don't know during an interview" something negative?
21 points| orangethirty | 13 years ago
I just interviewed for a position doing PHP/codeigniter. One of the technical questions I was asked had me working with multi-dimensional arrays. This is an area where I have not had much need to work with in the past. I could not complete the whole exercise. I was honest and did not cheat by asking for a solution at some web forum. I did not get the job due to not being able to do this.
Did I make a mistake by being honest and should have just googled for the answer?
Please give me your insight because I'm just confused by the whole thing.
[+] [-] debacle|13 years ago|reply
2. If you don't know how to work with multidimensional arrays, you really need to learn. It's something I would consider a core skill for a programmer.
3. If you're competent at all, it would have only taken a few minutes of googling to figure out the right solution. Multidimensional arrays are very easy to work with in PHP.
[+] [-] brandoncordell|13 years ago|reply
It's such a common element of PHP development. This probably came off to your interviewer as "he hasn't worked with PHP much" because of how common they are.
[+] [-] redspark|13 years ago|reply
I don't see how you could have built any substantial project in CI/PHP without coming across them.
That being said, I think saying I don't know is fine, but be aware of how you say it. If it is a shrugging "I don't know", that would be bad. A positive "I don't know yet", would show you are being honest and willing to educate yourself.
[+] [-] whichdan|13 years ago|reply
A few simple things you can try:
- Design a database for a forum. Use PHP to pull a list of Users. For each User, pull the top 5 Posts, and for each Post, pull the Topic they posted in, and for each topic, pull the most recent Post and User who replied. That's 3 levels deep.
- Create a list of 10 major Cities in your country, and for each City, list the Average, High, and Low temperatures for two different Dates. That's 2 levels deep.
- Create a database for a store. For each Product, pull a list of the 10 most recent Purchases. For each Purchase, pull the User, and for each User, pull a list of their 10 most recent Purchases, and for each of these Purchases, pull the Products that were Purchased. That's 4 levels deep.
These are all very real-world scenarios, and if you can design and code them all, you'll have no problems working with any other multi-dimensional arrays.
I would also highly recommend writing the code to display the data from each array in a hierarchical table, and make sure you know how to access a single value directly, such as the Lowest temperature for a given Date in a City.
[+] [-] orangethirty|13 years ago|reply
[+] [-] yShrike|13 years ago|reply
[+] [-] zwieback|13 years ago|reply
[+] [-] evilmoo|13 years ago|reply
Instead of guessing and potentially being very wrong and breaking things.
Be honest, but prove you're smart by showing how you'd get to the answer.
[+] [-] jrussbowman|13 years ago|reply
Therefore the interviewer could have decided that the applicant didn't have enough base experience for the position they were applying for because of that.
Translating this to a sysadmin candidate. If I were interviewing someone for a Systems Administrator III position focusing on Linux and they couldn't answer basic DNS questions, such as A vs CNAME record I'd be inclined to believe they haven't done enough server and application builds to qualify for a III. IF they were applying for a devops position and couldn't cover the basics of named based virtualhosts in apache, that might be another indicator.
I don't know is the right answer always. It's a lot worse for a company to hire you because you are able to fluff the answers in an interview and then not be able to perform once you have the job. It creates stress on you and on the team you join. It's especially more negative when you have to once again go looking for a job and explain why your most recent position experience was so short.
To the original poster, as others have said, you got a leg up here. You know specifically what you missed during the interview so now you have an opportunity to go focus on an are you've identified yourself as weak on so you can pass the next interview honestly.
[+] [-] tagawa|13 years ago|reply
Be honest and in the long term it will be the right decision. And learn about multi-dimensional arrays - they're super useful.
[+] [-] nsxwolf|13 years ago|reply
[+] [-] genwin|13 years ago|reply
[+] [-] ritchiea|13 years ago|reply
[+] [-] josephturnip|13 years ago|reply
If a candidate says "I don't know" during the first part, it's a sign that they will flounder during the second part. However, I usually guide the questions to try and actively FIND the "I don't know" point for the second part, as it helps me establish the boundary of their abilities.
[+] [-] tokenizer|13 years ago|reply
Now if this was a phone interview and not some take home style assignment, I would've done the same as you and said, "I don't know that right now", and then give your best educated guess. Best of luck next time.
[+] [-] tonyfortunato|13 years ago|reply
In most technical jobs (the good ones anyways), you aren't expected to know everything off the top of your head. You are however, being paid to solve problems, and that means knowing how to talk about them with others, and how to go about looking for answers. Like many others have said, keep honest, but also show that you can talk with others, and reason about problems, even if you don't know an answer offhand.
All that being said, from what I gather, it sounds like multidimensional arrays in PHP may be something you want to look into. It sounds like this might be one of the easier things to work with in PHP. (I hope you don't take offense. I'm not a PHP dev., but it's just the impression I get from the other comments)
[+] [-] joubert|13 years ago|reply
[+] [-] grumps|13 years ago|reply
[+] [-] EvilTerran|13 years ago|reply
Being a good programmer isn't about knowing absolutely everything about the tools you're using, that'd be impossible -- being able to look up things you don't know is a very important skill.
If, in a face-to-face interview, I were faced with something I didn't know, I'd say something like "I can't remember quite how this bit works, but I'd look it up on php.net/developer.mozilla.org/api.jquery.com/[appropriate reference]. Do you mind if I use pseudocode for the sake of getting on with the rest of the problem?" -- thus showing honesty, humility, the ability to use the resources available to you, and expedience.
[+] [-] orangethirty|13 years ago|reply
[+] [-] alainc|13 years ago|reply
That honesty got him an on-site interview.
That interview, reference checks, etc., got him the job. He starts on Monday.
[+] [-] dspeyer|13 years ago|reply
I recall one interview where I asked what sort of responses an HTTP GET might result in. The candidate knew 200 and 404 but that was about it. Then I asked, "If you were writing the HTTP standard, what other responses might you include" and he told me about HTTP 304 Not Modified and the related cache-* headers, which he was clearly re-inventing on the spot. I scored him very highly for that.
[+] [-] PaulHoule|13 years ago|reply
#1 look it up in a hashtable, and #2 look it up in the literature
"look it up in the literature" is the answer you're really going to use on the job, so be proudof it.
[+] [-] WalterBright|13 years ago|reply
I think Henry Ford said that.
[+] [-] edwingustafson|13 years ago|reply
[+] [-] aw4y|13 years ago|reply
[+] [-] lightblade|13 years ago|reply