Hacker News new | ask | show | jobs
by ig1 4897 days ago
Could you be more specific about why you get stumped ? - is it that you don't remember APIs, syntax, etc. or is it that you stuggle with breaking down the problem and working out the logical flow of the code, or is it something else ?

Maybe if you gave some examples of questions that stumped you and the point at which you got stuck it would help us understand exactly what your issue it.

1 comments

Here's one. "What is polymorphism?" Things go downhill after that. I know I'm going to be listening to a long lecture.
Are you self-taught? I'm pretty sure that's a pretty basic CS term. To not know it means you're going to have problems communicating.

This goes back to my original comment. You probably know what polymorphism is. You've probably used code that did it. You've probably written original code that exhibits it. And if someone explained it to you, you'd probably be like, oh, right, yeah, that thing, I did something like that over here in this code somewhere.

But, we have special words for things for a reason. Jargon increases the accuracy and efficiency of communication between specialists. You don't have to spend five minutes explaining the semantics of message passing, you can just say it's polymorphic.

Being able to write code for use by a team, and being able to communicate the value of that code, and the structure of that code, to that team, is a skill set completely separate from being able to cobble something together yourself.

This is what I mean by a long lecture :(

"Jargon increases the accuracy and efficiency of communication between specialists." I think this statement is too broad. This really depends if we're on the same page (i.e. think Java and Javascript). We could end up having a long conversation about something and end up with two ends if we're not careful.

If we've been doing the same thing and working together for many months on end, then I would say yes, jargon works as an efficient means of communication. If we've never met each other and you and me have 20 minutes (realistically 15) before the next interviewer takes me - then we're going to have a problem.

Maybe it's not that you're failing the technical part of the interview, but the cultural and interpersonal parts.

In your cited scenario, it's up to you to ask, "do you mean it generally, at the computer science, theoretical level, or specifically in language X, Y or Z?"

There's nothing wrong with asking for clarification. There's no game to win. There's just basic, professional, communication skills.

Talking and interviewing are skills. They are skills you can learn and practice. Getting defensive when someone is trying to help you is not going to help you.

You will be communicating in many, many different scenarios and with many, many different people who are at different levels of technical knowledge and interpersonal engagement, for the rest of your natural life. Being able to do so well is the most important skill in your professional existence. That's the whole thing. There isn't anything else if you don't have that.

Working on a team is very different from working alone specifically because there are other people involved. The social aspects of a professional relationship outweigh the technical ones by tonnes.

Pick up a copy of the book "Programming Interviews Exposed", it'll give you a good guide to the standard topics covered in programming interviews. Revise those and you'll do much better.