Did I make a fool of myself

I can't quite beleive what I am reading -

An experienced coder should be able to write a factorial function - or sorting function off the top of their head.

The fact they dont have to day in day out or ever - is not the point.

They should have the skills to be able to so, should they not?
The interviewer merely asked the interviewee - to show those skills under a bit of pressure.


What you fail to understand is that neither me - nor the interviewer wants to hire someone - who is forced to look up, how to produce the simplest of functions. One which you say they would have produced a thousand times similarly - if that was the case - they should be able to demonstate it. How can your forget something so basic youve done so often. (I understand the interview pressure element)

Are you telling me you are happy to hire a coder who can't write down from the top of their head a factorial function? If they cant do that - how do they produce more complex functions that they can't just look up?


I would not be - as for only beginners being able to do that? Its so basic - that its the building blocks of much coding!

Again - your criticising the company for which technologies they are using! The fact is they want VB6 for what ever reason - they dont necessily want some flash harry - who lists all the latest technologies - but cant write a factorial function.
And youre continueing to pretend anyone who asked you to demonstate how to write a basic function - lacks the knowledge to know that the function doesn't need to be witten every time its needed. Which is a pathetic line of argument.
 
I should be careful making things personal if I were you, I and I am sure many others here are quite capable of responding in kind. If this were to happen, and then things would deteriorate into something akin to a flame war which is of no benefit to anyone.
When I was at school many years ago, I learnt how to calculate the area of a circle, the volume of sphere, all sorts of useless formulas which I have never had a need to visit ever again.
When I first started business, telephones did not restore telephone numbers, you had to memorise them, I think I memorised at least 20 or 30 numbers, now today my mobile phone stores every number imaginable. I can’t remember phone numbers to save my life, I don’t even know my own mobile number!
The fact that I “can “looking up instantly, means I don’t have to remember it, and I think you can possibly see where I’m going with this, there’s no need for me to remember the formula for the volume of the sphere, I will just looking up when I needed.
If it doesn’t detract from me, I am quite capable of working out how to calculate the volume of the sphere from first principles. Well, I like to think I am!

I didn't make it personnel - I said the argument was pathetic - beacuse we all know the interviewer, was looking for the ability to write simple functions - not someone who was actually going to write simplistic functions over and over again.

I'm not sure what the ability to remember telephone number - or mathematical formula has to do with a coding job.

But I bet if you were going for a job as a mathematician - they may ask you for the formulas - expecting you to be able to develop them, even if you had forgotten them.

Unless - we go down the pathetic argument route that any organisation requiring a mathematician who asks this - obviuosly doesn't know you can just look up the formulas and so doesnt know what they are doing?
 
You will get this sort of argument when it comes to Visual Basic. It all depends on your background.

If you come from a core programming background, i.e. the likes of C, Java or those with knowledge of older languages, i.e assembly, fortran, cobol etc... then these sort of questions are expected and you are expected to know how to write certain algorithms without the aide of an IDE. For example, if you code in C, you will have learnt how to code in notepad and compile it in command prompt.

VB6 on the other hand is a much easier programming environment and you will find that quite a lot of VB6 programmers use it as a stepping stone to learning core languages. Considering the environment VB6 provides, most VB6 programmers hardly come acoss the need to write Bubble Sort-like algorithms, so in my opinion it is was a bit unfair to ask a VB6 programmer to do so. But bear in mind, there could be more to the Job Description that we don't know about which may justify why this sort of question was asked.

Edit: This seems to be a hot thread. Good job David :D
 
I'd agree that it seems the interviewer was trying to narrow down the pool of applicants. The focus should be on increasing profits for a company or reducing costs, not minutiae.

It actually reminds me of an accounting class I took once. On the first day as we were learning the basics I asked the professor why we needed to know how to do it by hand when there were computer programs that did the work for you.

He said that he agreed, and while he thought it was important to know the basics, to understand what the computer was doing, he thought it was silly to expect people to learn the old method when no one used that method anymore. But he said the school was paying him to teach the old method, so that's what he would teach.

If you can manage the books using a software program (and a free one at that), should you really need to be able to demonstrate in-depth knowledge of what is going on behind the scenes?

If it boosts your confidence at all, from my time on the forums it is quite obvious to me (and I imagine many others) that you are quite adept with Access, SQL, and VB (and I imagine more beyond).

Best of luck.
 
Thats exactly what I said you said - and I half disgree with. Fine yes obviuosly use the correct tools.

But being asked to quickly write out a function to do factorials is hardly holding anything in memory except basic programming knowledge, which for someone with experience - I think is fair.

I have to agree with dan-cat on this one.

In my experience, employers who understand the job aren't worried about you actually being able to write functions then and there. They are worried about your ability to solve problems.

Like I've always said, give me a choice between 100 code monkeys or 1 guy who can think critically, and I'll take the 1 guy any day of the week and twice on sunday.
 
You're not reading what I'm posting. Don't worry about it.

Anyone WITH EXPERIENCE will have been asked to do this a thousand times and thus would have written a tool to automate the process.

Yes - I see what you mean now - when they were fisrt asked to write a factorial function - you mean they archived it - and reused 999 times?

I thought you meant someone with experience would have written some kind of basic loop a thousand times. Which I would have thought they would have - so it still stands - if you have to look up how to write a function which requires a basic loop, theres something amiss for a lot of jobs surely?
(even though I did misunderstandwhat you wrote)
 
I have to agree with dan-cat on this one.

In my experience, employers who understand the job aren't worried about you actually being able to write functions then and there. They are worried about your ability to solve problems.

Like I've always said, give me a choice between 100 code monkeys or 1 guy who can think critically, and I'll take the 1 guy any day of the week and twice on sunday.

Which is why the interviewer was asking for both a coder and a problem solver?

Ie solve the problem of working out factorial - by writing a function - or the other questions he asked. He wasn't after a memory test was he. I doubt it .
 
I'd agree that it seems the interviewer was trying to narrow down the pool of applicants.
Most likely!

He said that he agreed, and while he thought it was important to know the basics, to understand what the computer was doing, he thought it was silly to expect people to learn the old method when no one used that method anymore.
I've never been in a VB6 beginners class but I don't imagine the tutor going into too much detail on sorting algorithms. They may just be mentioned and maybe one or two algorithms put to use. I think this really is the essence of VB6 - making programming easy so you don't have to worry about the intricacies.

If you can manage the books using a software program (and a free one at that), should you really need to be able to demonstrate in-depth knowledge of what is going on behind the scenes?
In the case of VB6 it would depend on personal interest. In C, where you have to manage memory allocation and the works, it would be worth knowing the ins and outs.

If it boosts your confidence at all, from my time on the forums it is quite obvious to me (and I imagine many others) that you are quite adept with Access, SQL, and VB (and I imagine more beyond).
Just a hack Adam :p I'm from a different background.
 
A hard one really, as we don't know the contents of the Job Description.

No we dont - but for almost any VB6 job - I dont think he asked anything unreasonable. - the sort maybe - but nones said he wanted a spot on, perfect answer. He maybe just wanted rid of the complete blaggers.

A bit of basic coding, a basic aptitude problem solving question and a bit of SQL. About the only complaint - would be that it was asked to be done as he watched over you, but there may have been good thiinking behind that too.

Lets take the there are tools to do this for you to the SQL question - I suppose the JOIN question was inappropriate too because - in Access say -theres a wizard which will write that for you?

I'm not having a go at the original poster - cos I would have struggled when put on the spot - but frankly would have expected to have a good go at the questions with a few minutes, in a differant room, and dont think the questions unfair - or pointless.
 
I have to agree with dan-cat on this one.

In my experience, employers who understand the job aren't worried about you actually being able to write functions then and there. They are worried about your ability to solve problems.

Like I've always said, give me a choice between 100 code monkeys or 1 guy who can think critically, and I'll take the 1 guy any day of the week and twice on sunday.

I totaly agree with that.
I think it's not importent if you remember a specific function, either you done it many times or never done it before. it's importent how you try to solve it, how you think of this question. What I like to call "Can you Think out of the box"
If you do 100 times exactly the same you will end up 100 times with the same result. you will never get a better one.
 
No we dont - but for almost any VB6 job - I dont think he asked anything unreasonable. - the sort maybe - but nones said he wanted a spot on, perfect answer.
It was the sort I was stressing as being a bit harsh. Apparently, the scale was low too. :eek:

Lets take the there are tools to do this for you to the SQL question - I suppose the JOIN question was inappropriate too because - in Access say -theres a wizard which will write that for you?
The SQL question was easy so I would imagine, for this to be asked, there would be some SQL server implementation involved in the job.

I'm not having a go at the original poster - cos I would have struggled when put on the spot - but frankly would have expected to have a good go at the questions with a few minutes, in a differant room, and dont think the questions unfair - or pointless.
I know you're not and I think he would have done his best.
 
Yes - I see what you mean now - when they were fisrt asked to write a factorial function - you mean they archived it - and reused 999 times?

I thought you meant someone with experience would have written some kind of basic loop a thousand times. Which I would have thought they would have - so it still stands - if you have to look up how to write a function which requires a basic loop, theres something amiss for a lot of jobs surely?
(even though I did misunderstandwhat you wrote)

Last try lol.

Look I understand your point but here's mine.

They didn't ask for a basic loop. They asked you for the understanding of how a sort array ACTUALLY works. ie. Do you use bubble, insertion etc etc and to have the mechanical understanding of that accessible instantly without IDE and then code it.

If you can't do a For i as integer = 0 to x.count -1 in notepad, then I agree but that wasn't what was asked for.

I don't need a refresher on a basic loop because yes, for my sins, I have to do that everyday. But I quickly had to google the insertion method for sorting to refresh myself of the mechanics of it, from there I was good to go.

My brain couldn't pull the insertion method of sorting because it was 'archived' long ago. If I had to keep re-coding that algorithm daily instead of encapsulating it within a single method I could have answered the question but I wouldn't have got anything done in the past x amount of years.

It was a deliberately tough question to cut down the numbers. It would have culled me but then I don't care to memorize all the mechanics of every single algorithm ever written for the reasons I've stated.
 
By the way. He didn't want your 2 alternative solutions to the bucket problem because that wasn't the answer on the piece of paper he'd been given.

If you gave me an alternative solution to a long-existing problem, I'd be all ears. Shows a rare commodity, creativity.

EDIT: here's my solution to the bucket problem.

Fill big and pour in small
Leaving 2 in big
Empty small and pour 2 from big into small
Mark small water level
Empty big and pour 2 from small into big.

Refill small to mark and repeat.

Never repeat the 1st four steps again.
 
Last edited:
Quite a number of years ago one of my staff came in with a maths question that was given out a homework from the junior school. I have even set the task to plenty of so called mathamaticians to come up with the FULL solution.

Take a look at the attached spreadsheet for the layout of the question. But basically there are 20 questions numbered 1 - 20 and coincidently the answer to each question is 1 - 20. Therefore the anwer to question 1 is 1, likewise the answer to question 16 = 16. All you have to do is to fill in the mathmatical symbols betwen the numerators so that the question number equals the answer.
 

Attachments

All you have to do is to fill in the mathmatical symbols betwen the numerators so that the question number equals the answer.

I'm assuming you have to be able to use paranthesis to control the order of operations. If not, I'm totally lost. Even with, I'm not able to get 10, 11, 13, 14, 18, 19. Unless you're allowed to use variables? (is a variable considered a mathmatical symbol?)

If you can use variables, then it would be a lot easier.
 
You need to use BODMAS and only use mathmatical symbols

PS 50 rep points for the first correct answer.
 
Last edited:
I looked at the bucket problem -


5 pour into 3 leaves 2
empty 3 put 2 into 3 (this leave 1 gallon short of the three ) then fill 5 up and pour into 3 (5-1 =4)

took a couple of mins to figue it out

or alternaively

fill both buckets up tilt to 45% half the water falls out
1.5 plus 2.5 = 4

(not sure if anyone had type up the answer)

as to the other logic problems - failed miserable .

If you get he job - Great - if you dont..F*%k em' -their loss
 
Actually David. What did you get wrong in the factorial test? As Anthony said it isn't a very difficult task.

Sounds to me like it must have been a bad case of interview anxiety.
 

Users who are viewing this thread

Back
Top Bottom