3 ms·
We do this too, works fine. We ask open ended questions like, "What's your favorite thing you've done in your career and why?" and "What was the most challengin
by Clubber 2y ago
We do this too, works fine. We ask open ended questions like, "What's your favorite thing you've done in your career and why?" and "What was the most challenging project in your career and why?" If you listen, you can get a lot of insight from just those two questions. If they don't give enough detail, we'll probe a little.
Our "gotcha," which doesn't apply to most languages anymore is, "What's the difference between a function and a procedure." It's a one sentence answer, but people who didn't know it would give some pretty enlightening answers.
Edit: From the replies I can see people are a little defensive about not knowing it. Not knowing it is ok because it was a question I asked people 20 years ago relevant to a language long dead in the US. I blame the defensiveness on how FUBAR the current landscape is. Giving a nuanced answer to show your depth of knowledge is actually preferred. A once sentence answer is minimal.
I'm editing this because HN says I'm posting too fast, which is super annoying, but what can I do?
- bdavisx 2y agoHere's an interesting thought on your "gotcha" - I'm 57 years old, been programming as a career for over 30 years, a lot of languages and I have no idea what the difference is.
- Clubber 2y agoA function returns a value. https://stackoverflow.com/questions/721090/what-is-the-difference-between-a-function-and-a-procedure https://stackoverflow.com/questions/721090/what-is-the-diffe...
- aleph_minus_one 2y ago> A function returns a value ... in Pascal/Delphi.
- Clubber 2y agoYup, it was for a Delphi job in 1998.
- vips7L 2y agoIsn't this something the compiler is going to enforce anyway? Why does it matter? If that's the only difference it's kind of inconsequential isn't it?
- Clubber 2y agoIt's a question to filter out people who don't know a lick of Delphi for a position where the person was coding Delphi. It's like level 2 after the hello world chapter. It's easier than asking a database developer the difference between a query and a view. It's a bonehead simple question that 70% of applicants couldn't answer. You would be surprised how many bad applicants interviewers get. It's only gotten worse over the last 20 years.
- dennis_jeeves2 2y agoI have no idea either. I can easily look it up though. You can often tell an inexperienced interviewer from the extremely domain specific question they ask which _they_ are familiar with.
- Clubber 2y ago>You can often tell an inexperienced interviewer from the extremely domain specific question they ask which _they_ are familiar with. Lol a bit touchy aren't we? Like I said, it's not really relevant in today's languages. It was for a Delphi/Pascal position. If you do any type of database code (like T-SQL), you would also know it. If your experience is mainly in C type languages, everything is a function so it doesn't apply. If you hired a guy for a Delphi position who didn't know the difference between a function and a procedure, you hired the wrong guy. procedure Hello; begin ShowMessage ('Hello world!'); end; function Double (Value: Integer) : Integer; begin Double := Value * 2; end; Function or procedure is defined in every subroutine. It's a very basic question for Delphi, like what's the difference between an integer and a string.
- dennis_jeeves2 2y agoI think you are missing my point. Words like functions/procedures tend to have different connotations across languages and once one crosses one's 15th language, and each having some 20 different keywords, it become difficult to remember what the exact connotation of a word is, in a specific language/framework. This is the most likely situation of the guy whose post I responded to. The exception to the rule is, if you have been working quite a bit _recently_ on a specific language. You are presumably talking about this situation.
- dennis_jeeves2 2y ago>Lol a bit touchy aren't we? No. I just looked up other responses to your post. It's obvious you got exposed as being inexperienced (or an idiot), while posing to know the definitive with your "gotcha". Being inexperienced (or ignorant) is not a problem, but being cocky is.
- deleted 2y ago[deleted]
- ttyprintk 2y agoIt’s ok to say that it’s never professionally mattered. No one has ever been paid to know that. “Are side effects a bad pattern?” Lotsa people have needed to know that on day one.
- michaelt 2y agoIf I'm applying for a Java position and I claim to have Java experience on my resume, it's perfectly valid for them to ask me the difference between an int, an Integer, and a BigInteger. But it's certainly not a universal question applicable to all programming languages. Likewise, Clubber says in their post that their 'gotcha' question doesn't apply to most languages.
- aleph_minus_one 2y ago> We do this too, works fine. We ask open ended questions like, "What's your favorite thing you've done in your career and why?" and "What was the most challenging project in your career and why?" If you listen, you can get a lot of insight from just those two questions. If they don't give enough detail, we'll probe a little. The problem is: there is a very negative incentive to give honest answers. If I were to answer these questions honestly, I'd bring up some very interesting theorems (related to some deep algorithmic topics) that I proved in my PhD thesis. Yes, I would have loved to stay in academia, but I switched to industry because of the bad job prospects in academia - this is not what interviewers want to hear. :-( > "What's the difference between a function and a procedure." It's a one sentence answer The terminology here differs quite a lot in different "programming communities". For example > https://en.wikipedia.org/w/index.php?title=Procedure&oldid=1139346478 https://en.wikipedia.org/w/index.php?title=Procedure&oldid=1... says: "Procedure (computer science), also termed a subroutine, function, or subprogram", i.e. there is no difference. On the other hand, Pascal programmers strongly distinguish between functions and procedures; here functions return a value, but procedures don't. Programmers who are more attracted to type theory (think Haskell) would rather consider "procedures" to be functions returning a unit type. If you rather come from a database programming background, (stored) procedures vs functions are quite different concepts. I could go on and on. What I want to point out is that this topic is much more subtle than a "one sentence answer".
- Clubber 2y ago>The problem is: there is a very negative incentive to give honest answers. If I were to answer these questions honestly, I'd bring up some very interesting theorems (related to some deep algorithmic topics) that I proved in my PhD thesis. This is unfortunate that you would get that response. FWIW, I would be interested in hearing all this in an interview and I would look at it favorably. >What I want to point out is that this topic is much more subtle than a "one sentence answer". Yes, you would definitely get bonus points for nuance. The one sentence answer was minimal. What it filters out are people who don't know anything about Delphi but applying for the job with highly embellished resumes hoping to get lucky. This was for software used in hospitals, so bugs or errant code could have pretty drastic consequences.
- 2y ago
- bluefirebrand 2y ago> Our "gotcha," which doesn't apply to most languages anymore is, "What's the difference between a function and a procedure." My answer would be along the lines of "It's 2025, no one has talked about procedures for 20+ years"