|
I certainly agree with the commentary in the following (from CP newsletter.)
https://www.codeproject.com/News.aspx?ntag=19837497857718739&_z=2928472[^]
I have had interviewers ask about Big O notation as though it had some real meaning/use in large scale corporate enterprise development.
And then those same interviewers fail to ask anything about doing designs, debugging production problems, reviewing requirements/code, etc.
Not to mention asking nothing at all about doing persistent data storage.
I also can't ever remember even a single interview question (decades worth) of anyone asking about using profiling tools.
Not to mention the concern about thread deadlocks versus how to design a system that can use task prioritization with a thread strategy to maximize load. I have never seen a deadlock. But I have seen multiple systems with load problems because they thought throwing unlimited threads at a problem would solve it (and yes I do mean this literally.)
|
|
|
|
|
I have reached the stage in my career where if the interviewer handed me a programming test, I would leave.
Software Zen: delete this;
|
|
|
|
|
(I think) I am younger than you, and you (very probably) are better at programming than me, but I already reached that stage a while ago.
I once answered back: Explain me for what are this things useful in your daily business and I will stay and answer the test.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I'm 62, and I just passed the ⅓-century mark at my current employer last week.
My last interview which included a programming test they asked two questions: how do delete an element from a singly-linked list without recursion, and the classic "fizzbuzz".
I wrote the linked-list problem in C. Just for fun, I wrote the fizzbuzz problem as a Windows batch file.
Software Zen: delete this;
|
|
|
|
|
You can ask an esoteric question that someone with 30 years of experience, just doesn't know the answer to, so it kind of proves that these technical interviews are ridiculous.
I posed the following (which "should be simple") question back to the technical interviewer:
Which warning(s) and/or error(s) (if any) will the W3C Validator display for this HTML sample?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
</html>
If you do not know, then you obviously have never used HTML before. Yes, I'm kidding.
It's ridiculously esoteric, but is actually quite easy upon seeing the answer.
SPOILER 1
HINT - The W3C Validator returns :
1 warning and 1 error. Do you know what they are?
Go to W3C validator[^] and paste the html in and you'll see.
The interviewer would almost definitely fail this simple test.
|
|
|
|
|
raddevus wrote: If you do not know, then you obviously have never used HTML before. I didn't know it, and have used HTML for a while (long time ago)
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I didn't know the answer either and I began learning HTML around 95 or 96 or so.
|
|
|
|
|
Gary Wheeler wrote: I'm 62, I'm mid 40s and I answered that of my previous message 2 companies ago (end of 2014), I didn't get the job (luckily for me as I learned later on)
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
When C# and .net were fresh and new, I was applying for a just-plain-C job. A question was to write an array sort function in the language of my choice.
myArray.Sort() ;
Done.
|
|
|
|
|
with some exceptions...
Tests are mostly to see how a person answer a question when he does not know the answer to the question.
if you're at the stage of the test, you probably went through a couple of interviews; if they did not like you, you would not be there.
I answered a few SQL questions with "Select * from _Table_I_DonT_Know_SQL_I_Told_You_Before".
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
Maximilien wrote: Tests are mostly to see how a person answer a question when he does not know the answer to the question.
I think that is an idealistic view point. I am basing that on working with people who ask such questions and then reflecting on conversations with them. Their opinion is often that the interviewee must get it right and additionally must get it right in the same way that the questioner expects.
One interviewer asked me to explain a esoteric point of C++. Which I did.
Explaining was easy for me because just a few days prior I had explained exactly the same point on a site.
I thought it was an amusing coincidence and commented on that, again as a coincidence, to the interviewer.
The interviewer immediately got flustered and the interview ended shortly after.
I was on the way to may car when it dawned on me that the interviewer had likely gotten the question and my answer from the site. (Back then there were far fewer sites where one might find such information.)
|
|
|
|
|
The tests I passed to land my first programming job and one other "key" move consisted of symbolic and verbal "intelligence tests"; one administered by an industrial psychology firm. They are (much) the same one you do in your final year in high school (at least where I came from).
Anything except "symbolic" is culturally biased.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Gerry Schmitz wrote: one administered by an industrial psychology firm
Yes those are complete nonsense.
Consulting company I worked for employed about 300 employees most of who were developers.
They recognized certain individuals in that pool as being so proficient that they did nothing but work as trouble shooters solving difficult problems.
The company decided to 'optimize' hiring by using such a psy profile (paying an third party service for this.) They decided on an 'ideal' candidate profile and then, as test, gave it do all of the existing employees.
None of the proficient employees fit into the profile.
|
|
|
|
|
In my honest opinion, I think the best way to figure out how skilled someone actually is is to just talk to them. Have a technical person have a chat with them. Talk about design decisions (at various levels) relevant to your org; go over some basic tasks they'll probably be doing to see how they adapt/perform (vulnerability remediation is a great one where you'd probably be shocked at how many people can't do it properly or at all); ask them about an engineering topic they are super excited about (even if it has no relevance to your org); and my favorite is to have a discussion on a topic that has no definitive answer. This promotes a back and forth that gives you a great idea on how they collaborate. How do they handle disagreement? How do they incorporate new information? How do they mediate differing opinions when no absolute answer exists?
I think those skills are way more important than figuring out the optimal solution to the longest sub-string without repeating characters in a given string. In fact, I don't think I've ever used a single Leetcode-style solution in a real code-base. If I need a complex algorithm, there are literally researchers who devote their careers to optimizing these things - I'd just use theirs. Less bugs, less hassle, and almost certainly better performance.
|
|
|
|
|
Great post! I agree 100%.
I've had to interview people over the years and I've discovered that simply talking to the person and asking small easy-to-answer questions just having a simple discussion will allow you to know whether or not the person has actually been doing specific work or not.
EXAMPLE: We had a contracting company who sent us a candidate with a resume full of exactly what we were looking for. It was a specific load-testing software called LoadRunner. I have used it extensively but few people have, so when I saw the resume I was interested to discuss LoadRunner with the applicant.
I probed with the absolutely easiest question ever: along the lines of something like, "What is the outermost tag in an HTML document?" The applicant struggled. Hmm...
I asked another very simple question like "how do you spell loadrunner" the applicant was stumped again.
After a few more questions we ended the interview. Later we discovered that the contracting company just added all those lines to the applicant's resume.
|
|
|
|
|
raddevus wrote: After a few more questions we ended the interview. Later we discovered that the contracting company just added all those lines to the applicant's resume. I was sold once as a specialist for one particular type of robot to a company, where I was doing the 3 courses for manipulating that kind of robot before starting the project.
When I heard that boss saying that from me I could nothing else than look down, shake a bit my head and think "what a moron"
And the worst... my customers thought that too.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
It's crazy what some contracting companies will do to their own employees -- put them in a situation and say that the employee has extensive experience with the technology, while the employee will tell you truthfully that they don't even know the tech.
After the interview, it was the contracting companies other employees that already worked at our company who told us, "yes, the company will write our resumes for us putting stuff on them we have never done".
|
|
|
|
|
I disagree on some parts
What does the question answers? ...
Quote: "What is the outermost tag in an HTML document?"
.. simply he/she knows a syntax.
Are you really looking for candidates, who are familar with a certain syntax?
For me, I don't care wheter she/he knows this and that syntax. I'm more interested in somebody who can abstract requests with a given tool. And the tool is a minor thing, I think.
Only my two cents
|
|
|
|
|
0x01AA wrote: Are you really looking for candidates, who are familar with a certain syntax?
No not really.
I know what you mean and I agree.
The example question was just a start into the conversation to probe to see if the person had ever even done the most basic thing with the specific tech. This was in a hope that a deeper discussion would follow.
|
|
|
|
|
I think it depends on the seniority level. Newer programmers should have a demonstrable knowledge of the development languages listed on their resume or application - whatever it is. I've not done interviews for 20 years now....
When we were staffing for a new development project, I interviewed candidate after candidate claiming C/C++ experience but could not explain basic pointer arithmetic, scope, etc. Nothing tricky. To see if they had any knowledge of binary / system architecture, we would ask, "What is the largest unsigned number you can put in a byte? and "... put in a word?"
Total and complete lockup.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
charlieg wrote: When we were staffing for a new development project, I interviewed candidate after candidate claiming C/C++ experience but could not explain basic pointer arithmetic, scope, etc. Nothing tricky. To see if they had any knowledge of binary / system architecture, we would ask, "What is the largest unsigned number you can put in a byte? and "... put in a word?"
That sounds like you had a some other different problem.
Such as a contract company sending you candidates with inflated or made up resumes. Or someone in HR just not knowing what they are doing.
|
|
|
|
|
i agree
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
When I used to interview (before anxiety overtook me, and back before I was taking my own clients) for me I treated it exclusively as an opportunity to evaluate the company and nothing more.
Were the questions sensible? Most of the time I don't think coding questions are unless they are the kind that are open ended to try and draw out how you attack a problem.
If they don't ask sensible questions, that's usually a red flag for me.
Microsoft likes whiteboards. I understand having to implement atoi() on a whiteboard. It's not about testing how you code. It's about testing how you test. Anyone can write an atoi function or they would have never gotten to the interview. But can you do it on the spot?
If anyone ever asked me to implement atoi for a non-SDET position I'd probably walk, or at least put it in the red flag column. It's a question for testers.
I'm happy with soft questions. Figuring out how I will get along with you and other members of your team is important.
But if you're asking me about Big O notation I've either come to the wrong interview, or you're looking at the wrong candidates. I'm well past entry level positions where we need to be dealing in basic coding questions like that. Don't ask me what a linked list is either.
However, Microsoft aside (they have a script, and they stick to it), I've found because of the way I approach interviews, I tend to be the one who leads them, meaning I'm asking at least half the questions.
So maybe that's why I didn't deal with that stuff a lot, after my first few years in the field.
I've actually never had a company ask questions like you appear to want to see asked. I have had sit downs with the corporates (CEO/CTO) about their plans, and if they were realistic, and what I could bring to the table. That stuff tends to be higher level though. I've never actually gotten into the weeds at an interview to where we'd be talking about profiling.
If we did it would surprise me. I'm not sure how I would take it? Probably in the net win column but it would throw me.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
On one interview (for consultants), the PM asked me to "tell me about yourself".
I talked (this time) about everything except IT. "I was born at an early age, etc." (He had my resume)
I got the contract.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
I would have hired you.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|