Did I make a fool of myself

Here is another puzzle.

"neat learnt absent"

Take out ten letters from this phrase to leave letters that spell the name of a fruit.
 
banana? I bet this was inspired by Banana ;)

Well done. Actually the original I saw in a trivia night question also used Banana. Banana reminded me of it. The original arrangement was random. The phrase arrangement was my contribution.
 
If I was holding that interview, I wouldn't be interested in whether you could write a sorting algorithm from the top of your head. A tool for my business would have been written for that long ago.

I would be more interested in what tools you had developed to save time and money. Have you used Entity Framework, linqtosql etc etc.

Questions like you underwent underline that these people don't actually know what they want. They are just questions designed to filter down a large number of candidates, nothing more.

I'll tell a story...

Once a company had to develop a template system for different emails in .net. The brightest member of the inhouse team came up with an object with properties for each section of the email which was then saved to xml. To change the properties of the email, you had to open the xml file, amend the html of the appropriate property and save and reupload. Ugly as hell but the team member could probably answer the type of questions you mentioned.

I then had to spend time coming up with an alternative. Using a .net user control with a data object assigned to it which was then dynamically loaded on request. The solution was a tool that saved time and money and instantly relegated the other solution to the trash.

If an interviewer has no interest in using tools to complete a task then tell him to go build a car with his bare hands.

If I was interviewing you and you told me how to save time and money, you would have my attention but unfortunately the people doing the interviews don't usually care about this. They prefer to stroke their own egos with arbitrary questions that have nothing to do with what the owners really want.
 
This one takes a bit of lateral thinking:

A man and his wife are fast asleep in bed, the man is having a vivid dream that he has been captured during the French revolution and is about to be beheaded. They march him up to the block and kneel him down and place his head under the blade. Just as they were about to release the blade his wife rolled over in bed and hit him on the back of his neck. The man had a massive heart attach and died instantly.:eek:

What is wrong here?
How did they lnow what he was dreaming?:D
Another one:

BackGround:
Two identical twins, both boys, cannot be seperated in looks, the only difference between them was that one never told a lie whilst the other never told the truth.

Situation:
You bump into one of them at the bus stop and need to know if the bus has gone past lately. The problem is that you can only ask him one question only, then based on his answer you find out if you have missed the bus or not.

Problem:
What do you ask him?


BTW:He is not waiting for a bus.
if I asked your brother if the the bus had gone past what would he say?
 
If I was holding that interview, I wouldn't be interested in whether you could write a sorting algorithm from the top of your head. A tool for my business would have been written for that long ago.

I would be more interested in what tools you had developed to save time and money. Have you used Entity Framework, linqtosql etc etc.

Questions like you underwent underline that these people don't actually know what they want. They are just questions designed to filter down a large number of candidates, nothing more.

I'll tell a story...

Once a company had to develop a template system for different emails in .net. The brightest member of the inhouse team came up with an object with properties for each section of the email which was then saved to xml. To change the properties of the email, you had to open the xml file, amend the html of the appropriate property and save and reupload. Ugly as hell but the team member could probably answer the type of questions you mentioned.

I then had to spend time coming up with an alternative. Using a .net user control with a data object assigned to it which was then dynamically loaded on request. The solution was a tool that saved time and money and instantly relegated the other solution to the trash.

If an interviewer has no interest in using tools to complete a task then tell him to go build a car with his bare hands.

If I was interviewing you and you told me how to save time and money, you would have my attention but unfortunately the people doing the interviews don't usually care about this. They prefer to stroke their own egos with arbitrary questions that have nothing to do with what the owners really want.

I would have to completely disgaree - someone applying for this type of work - should have the basic programminng knowledge to produce the functions required. They are hardly more than a step above pure beginner. So asking someone to write that out is far game - frankly anyone who couldn't , asking for a programming job with experience , well - I'd steer clear. As for these functions already exist , why would anyone want to recreate them - thats beside the point - at the end of the day - the question was to create a couple of simple functions. We are not seriuosly suggesting the company just wanted that solution!?

The hard bit was doing them under pressure when surprised with it in an interview, maybe explaining technical things under pressure is part of the job. And we will all know for next time.

To complain about these type of questions - seems odd - after all for the job shouldn't you be able to do them. And if you can do them aren't you glad they weeded out all the bullshitters who cant. -

and I have seen some fantastic looking CVs - in well paid jobs, who couldnt have done those questions without the internet, would probably have taken them a day. But couldn't actually do it themselves, or make small alterations to make a generic function - which is available to all into a bespoke one - which may actually be called for.
 
It doesn't matter whether you can write an algorithm instantly.

What matters is that you can write one ONCE and carefully over a considered time. Then apply it to an environment where it can be reused effectively and efficiently. The first part is useless without the second. If you think the second part is besides the point then I don't want you anywhere near my frameworks.

I wouldn't want my coder to write code and design frameworks under pressure. They will turn out crap. I want considered, robust work that has accessible and practical use.

The company is still using VB6, no longer supported by over two years, instead of the fifth generation of its successor probably because it has no concern with efficient design.
 
It doesn't matter whether you can write an algorithm instantly.

What matters is that you can write one ONCE and carefully over a considered time. Then apply it to an environment where it can be reused effectively and efficiently. The first part is useless without the second. If you think the second part is besides the point then I don't want you anywhere near my frameworks.

I wouldn't want my coder to write code and design frameworks under pressure. They will turn out crap. I want considered, robust work that has accessible and practical use.

The company is still using VB6, no longer supported by over two years, instead of the fifth generation of its successor probably because it has no concern with efficient design.

You have a nice job - ie one with no pressure, and you are able to use whichever latest technology is available.

Most jobs aren't like that. Of course efficiency is important, but so is basic progamming ability- with which to work effiiency into.
 
The company is still using VB6, no longer supported by over two years, instead of the fifth generation of its successor probably because it has no concern with efficient design.

Mind clarifying? You mean your company has no concern with the efficient design or successor to VB6 has no concern with efficient design?
 
Mind clarifying? You mean your company has no concern with the efficient design or successor to VB6 has no concern with efficient design?

I think he meant the use of VB6 showed little concern for efficiency - thats what I understood anyway - which is why I thought it a little of an idealist, rather than realist expectation, not to be using VB6.
 
Mind clarifying? You mean your company has no concern with the efficient design or successor to VB6 has no concern with efficient design?

I was saying that a company who still uses VB6, expects candidates to pull algorithms from memory and who is offering low pay, probably has no idea what skills are required and what contemporary tools are available to produce good design. The questions were probably pulled off some website.

Nothing wrong with VB6, just that it's successors have moved on 5 generations.
 
I think he meant the use of VB6 showed little concern for efficiency - thats what I understood anyway - which is why I thought it a little of an idealist, rather than realist expectation, not to be using VB6.

I think you'll find that it is actually the reverse. With the extreme pace of technological progress, it is actually more realistic to not expect candidates to hold the required processes in memory but to expect them to use tools to harness them well.
 
Another possibility is that they did not want to employ a 55 year old person.

As illogical as it may seem, experience can be a drawback.
Some department managers may feel threatened by people older than themselves.
They may feel that they can not control an older person as easily as they could someone younger.

Who can say if each candidate would get the same questions?

Chris.
 
I think you'll find that it is actually the reverse. With the extreme pace of technological progress, it is actually more realistic to not expect candidates to hold the required processes in memory but to expect them to use tools to harness them well.

What an excellent observation their!

I am currently reading a book on extreme programming and in essence it says build something small often, released often, rebuild it often, build in small independent chunks, really it just confirms what I already do, in other words my suspicion is extreme programming is a manifestation of what programmers want, not what is dictated to them how they should do it by cerebral university dons who have never done any serious programming in their lives.

Anyway I digress as usual, following on from this excellent observation, the Internet gives you access to much information, and particularly in the programming environment, the information is updated regularly, information where you get feedback automatically as in posting questions in forums and the like. In other words the web is a bit like an interactive book.

My father employed “fitters” these were skilled engineers who had served long engineering apprenticeships and had several years’ experience. Having employed many different fitters over the years my father came to the conclusion:
The difference between a good fitter and a bad fitter, a good fitter knows when to ask. A bad fitter is a fitter who says I’m a good I'm clever, I will just carry on and it will be all OK! Basically like what was said earlier weed out the bull shitters.
 
I think you'll find that it is actually the reverse. With the extreme pace of technological progress, it is actually more realistic to not expect candidates to hold the required processes in memory but to expect them to use tools to harness them well.

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.
 
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.

This is what I'm trying to tell you and what you are not accepting.

Anyone WITH EXPERIENCE will have been asked to do this a thousand times and thus would have written a tool to automate the process. You write the tool SO YOU DON'T HAVE TO REMEMBER. Software developers are confronted with PHP, C#, JAVA, VB.NET, CSS, ActionScript, Javascript, AJAX, XHTML, JQUERY, XML, SOAP, OAUTH, HTTP and any number of API's that Paypal, Facebook, Twitter, Google etc decide to release. It is NOT realistic to remember specific algorithms in memory when confronted with this huge array of interfaces that you need to be familiar with.

There's no way my brain can instantly remember how to do anyone of the processes that I've written tools for. That's why the tools were written in the first place. How to write a bubble sort is a distant memory for me though I could probably quote any Facebook API method from the top of my head. This in turn will be removed from muscle memory when it is time to learn HTML5.

This is why your criteria for what defines a beginner is flawed. Someone who can write a bubble sort algorithm hasn't forgotten yet. They either are not long out of Uni or are still rewriting it each time they get asked to sort something.

The interviewer by giving you notepad and picking an algorithm (not a function) for you to write from the top of your head as a defining criteria has no understanding of what an EXPERIENCED coder HAS TO DO to retain and adapt their abilities for the fast paced software world. A company using VB6 as opposed to .NET 4.0 which is FREE is just a supporting argument of how out of touch they are.

I have been able to learn these new technologies, which are free and accessible to all, by archiving how to do a bubble sort. This is what neither you nor the interviewer understands.
 
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.
 
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, then things would quickly 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 store 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" look things 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 look it up when needed.

It doesn’t detract from me, I am quite capable of working out how to calculate the volume of a sphere from first principles. Well, I like to think I am!
 
Last edited:
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
 

Users who are viewing this thread

Back
Top Bottom