DEV Community

Discussion on: Reasons I've Been Rejected For Software Engineering Roles

Collapse
 
sunitk profile image
Sunit Katkar

I will share an interview experience that happened many many years ago. The question asked was how to reverse a string. It was supposed to test how I can think about breaking down the problem and applying any algorithm if required. So I showed the standard 2 methods using a character array and going through in reverse order. Then I showed the way recursion can be used. The interviewer was okay with my answers and asked me which method I would use. Since the position required Java skills, I said none of these methods but the java provided StringBuffer which has a reverse method. This did not go down well with the interviewer despite my explanation that it's a method available in the JDK and has been tried and tested and hence more reliable.

For the other 2 questions asked, I did show the whiteboard code to solve the problem but suggested using JDK methods.

I did not get the job because the comment the interviewer made was like they needed people who could come up with solutions and not just use someone else's code!! I could not believe what I heard. I was recommending using available, tried and tested JDK methods!!

Thanks for this topic ... I too have many experiences where half way through an interview I knew that I won't get the job or I didn't want to work there.

Collapse
 
theodesp profile image
Theofanis Despoudis • Edited

Speaking of which. Take a look at this comment thread:
dev.to/jonrandy/comment/joh6

I believe it's not about the language or what the JDK offers but about the way you approach the problem.

Collapse
 
sunitk profile image
Sunit Katkar

Well he asked me which method i would use. I replied that the character array method but for most tried and tested way I would use the jdk method. So I had demonstrated my algorithm thinking and coding ability but in reality i would prefer a tried and tested facility. Whats wrong in that?

Thread Thread
 
dexygen profile image
George Jempty

Nothing is wrong in that of course. I've run into home-rolled code that should have never gone into production. IIRC it was an implementation for encoding a string, instead of using either the java.net implementation or Apache commons implementation. Well their implementation forgot to encode the all-important new-line character, so they were sending out incomplete emails, emails that, depending on the response, could generate thousands of dollars of revenue per month and therefore had already cost the company tens of thousands, before I figured out the problem. There's even a name for this anti-pattern: "not invented here" (or "re-inventing the wheel")

Collapse
 
rashidibrahim profile image
Rashid Ibrahim

I was rejected from an interview for python when I was asked how I would remove the nth element from a list. It's python so I said I'd pop the index. I was told that since pop doesn't do that in other languages, that was the wrong answer and that I needed to write my own code... So yea I've got the python version of your story.

Collapse
 
theodesp profile image
Theofanis Despoudis • Edited

Yeap. I believe there is a different mentality when doing code interviews. The mentality is that we live in stone age and only the most trivial code is available in the language. So no fancy methods like pop or push.

Thread Thread
 
rashidibrahim profile image
Rashid Ibrahim

Worse was that they acknowledged that pop would have been great for removing the last element. Just that I was not allowed to pass it an index because languages like java didn't accept it. So it was that it couldn't be done in language that is not used at that company so we won't let you do it in language that is used at that company.

Collapse
 
hegh profile image
Jonathan P

I am a pretty regular interviewer at my company (I've done about 85 last I checked), and that sounds like an awful experience.

I am generally impressed when the candidate knows the API well enough to take shortcuts (most recently someone used LinkedHashMap in Java), and I allow "I know there's a function that does this, but I can't remember the name;" we agree on a name, and I check it later.

The only exception is when I want TC to implement an existing API function, but that's rare; the solution is generally available, so the signal is less reliable.

Collapse
 
sunitk profile image
Sunit Katkar

I currently work on IBM BlueMix but before this it was all AWS. I am an independent contractor. In this interview where I work now, I asked the interviewer if I could answer questions using AWS examples like for instance the message bus I've used is Firehose Kinesis, etc. Though I'm good at Spring and Blue mix is just a white labelled Pivotal Cloud Foundry implementation, I told him I'm most comfortable with AWS.

He was okay and was satisfied that all my cloud concepts and microservices experience was all clear though I used AWS as examples. I now work in the same group as the interviewer and enjoy it. He was satisfied that my concepts were clear and knew that I could adopt Blue mix easily.

Some comments have been hidden by the post's author - find out more