 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
It's exactly this sort of programmer that caused me to make my big list of
computer questions you should be able to answer in one sentence before you
come work for me.
http://us.php.net/manual/en/function.abs.php#58508
--
Darren New, San Diego CA, USA (PST)
Understanding the structure of the universe
via religion is like understanding the
structure of computers via Tron.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Wed, 26 Aug 2009 22:11:48 -0700, Darren New wrote:
> It's exactly this sort of programmer that caused me to make my big list
> of computer questions you should be able to answer in one sentence
> before you come work for me.
>
> http://us.php.net/manual/en/function.abs.php#58508
I think my brain just exploded. Dammit, now there's brain matter all
over my desk and monitor. That's going to make work in the morning
difficult, I gotta clean this mess up first.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New <dne### [at] san rr com> wrote:
> http://us.php.net/manual/en/function.abs.php#58508
either a joker or some true PL n00b... :)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> It's exactly this sort of programmer that caused me to make my big list of
> computer questions you should be able to answer in one sentence before you
> come work for me.
>
> http://us.php.net/manual/en/function.abs.php#58508
I don't think it's a joke, there just genuinely are lots of people out there
who aren't very good at quickly spotting good ways to do things.
We have a list of questions for graduate Engineers here too, it's surprising
how many don't spot the obvious ways to solve most questions. It takes some
time to write good questions that are capable of separating out the
applicants.
My favourite is the parametric equation we give and ask them to calculate
the area under the curve between two limits. It's funny how many go on for
sometimes over a page of algebra and integration without realising it's just
a circle and you can write down the answer in one line :-D
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New wrote:
> http://us.php.net/manual/en/function.abs.php#58508
I believe the term is "epic fail"...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New <dne### [at] san rr com> wrote:
> http://us.php.net/manual/en/function.abs.php#58508
Why do I seem to be the only one who is not getting a page with such
an anchor in it? I even checked all the anchors in that page, and that
one does not appear. The closest ones are #55694 and #58653.
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 27 Aug 2009 14:41:14 +0200, Warp <war### [at] tag povray org> wrote:
> Darren New <dne### [at] san rr com> wrote:
>> http://us.php.net/manual/en/function.abs.php#58508
>
> Why do I seem to be the only one who is not getting a page with such
> an anchor in it? I even checked all the anchors in that page, and that
> one does not appear. The closest ones are #55694 and #58653.
I get the same, though one of the comments that do exist is apparently in
reply to #58508. I presume it was simply deleted.
--
FE
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> Darren New <dne### [at] san rr com> wrote:
>> http://us.php.net/manual/en/function.abs.php#58508
>
> Why do I seem to be the only one who is not getting a page with such
> an anchor in it? I even checked all the anchors in that page, and that
> one does not appear. The closest ones are #55694 and #58653.
>
I'm not getting it either.
However, the very bottom comment is several lines of code to perform a
negative absolute... when all that's needed is "-abs(x)". I think that
might be what he's referring to.
...Chambers
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp schrieb:
> Why do I seem to be the only one who is not getting a page with such
> an anchor in it? I even checked all the anchors in that page, and that
> one does not appear. The closest ones are #55694 and #58653.
Because, apparently, someone did the only sane thing, and removed that post.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Chambers <Ben### [at] gmail com> wrote:
> However, the very bottom comment is several lines of code to perform a
> negative absolute... when all that's needed is "-abs(x)". I think that
> might be what he's referring to.
Having been a teaching assistant that the University of Technology here,
in a course where several tasks are programming-related, you wouldn't
believe the programming horrors I have had to witness.
For example, you wouldn't believe how complicated the task of writing
a function which calculates the distance between two 2D points can get.
Where normal people would just write a "sqrt(vx*vx+vy*vy)"-based solution
in 3 lines (two of them to calculate vx and vy), the worst examples I saw
spawned over 100 lines of code. And I'm not exaggerating the least bit here.
And these are university students who have gone through math courses in
grade school, high school and several years in the university.
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> Having been a teaching assistant that the University of Technology here,
> in a course where several tasks are programming-related, you wouldn't
> believe the programming horrors I have had to witness.
As a student, you wouldn't believe the bad advice I've seen.
The guy who was supposed to be teaching us Java once asked somebody else
to take one of his classes. "But I don't know Java!" the man complained.
"Oh, that's easy" he says. "If they say the program doesn't work, just
tell them they missed a semicolon somewhere. And if that doesn't fix it,
tell them they missed a close-bracket somwhere. And if that still
doesn't work, tell them 'I think you need to fundamentally rethink the
design of your application'."
...and people wonder why some folks can't program for toffee. (Although,
in fairness, those syntax glitches are the most common show-stoppers.)
Then again, our Java lecturer was rubbish. It was he to tried to tell me
that 2^64 was "more than the number of atoms in the universe". (A quick
query to Wolfram Alpha show's that it's actually a mere 1% of all the
grains of sand on *our* planet, never mind the entire universe...) This
is the guy who published a Java book with had several pages of negative
feedback up Amazone for the examples which didn't compile, and the
grammatical and spelling errors.
A bit of a twat, really. But hey, what do you pay tens of thousands of
pounds in tuition fees for?
> For example, you wouldn't believe how complicated the task of writing
> a function which calculates the distance between two 2D points can get.
> Where normal people would just write a "sqrt(vx*vx+vy*vy)"-based solution
> in 3 lines (two of them to calculate vx and vy), the worst examples I saw
> spawned over 100 lines of code. And I'm not exaggerating the least bit here.
> And these are university students who have gone through math courses in
> grade school, high school and several years in the university.
OK, that's quite scary, actually. o_O
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 27 Aug 2009 15:46:05 +0200, Fredrik Eriksson wrote:
> On Thu, 27 Aug 2009 14:41:14 +0200, Warp <war### [at] tag povray org> wrote:
>> Darren New <dne### [at] san rr com> wrote:
>>> http://us.php.net/manual/en/function.abs.php#58508
>>
>> Why do I seem to be the only one who is not getting a page with such
>> an anchor in it? I even checked all the anchors in that page, and that
>> one does not appear. The closest ones are #55694 and #58653.
>
> I get the same, though one of the comments that do exist is apparently
> in reply to #58508. I presume it was simply deleted.
It was there last night, and dated 2005, so would be very surprised if it
was deleted.
<pulls up link>
Indeed, the post is now gone. It was posted by user "concordia" and the
basic idea was that they were proposing an inverse to the abs() function
using a bizzare formula.
Try:
http://web.archive.org/web/20080117205423/http://us.php.net/manual/en/
function.abs.php#58508
It's not formatted nicely, but the original post is there.
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
scott wrote:
> My favourite is the parametric equation we give and ask them to
> calculate the area under the curve between two limits.
Heh. I don't even go that far. I just have a bunch of questions like "why do
they call it raytracing" and "what's the difference between a deterministic
and a non-deterministic state machine" and "what causes a SIG_SEGV" and
"what's the difference between an inner join and an outer join" and "what's
an advantage of UTF-8 over other encoding schemes" and "what does a
translation look-aside buffer translate".
If you can't get at least a handful of such questions right from outside the
field you're applying for, I know you're inexperienced, unschooled, or
uninterested/incapable of expanding your responsibilities.
--
Darren New, San Diego CA, USA (PST)
Understanding the structure of the universe
via religion is like understanding the
structure of computers via Tron.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Fredrik Eriksson wrote:
> I get the same, though one of the comments that do exist is apparently
> in reply to #58508. I presume it was simply deleted.
I guess concordia heard everyone was making fun of him/her, so deleted the
comment.
--
Darren New, San Diego CA, USA (PST)
Understanding the structure of the universe
via religion is like understanding the
structure of computers via Tron.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New <dne### [at] san rr com> wrote:
> Heh. I don't even go that far. I just have a bunch of questions like "why do
> they call it raytracing" and "what's the difference between a deterministic
> and a non-deterministic state machine" and "what causes a SIG_SEGV" and
> "what's the difference between an inner join and an outer join" and "what's
> an advantage of UTF-8 over other encoding schemes" and "what does a
> translation look-aside buffer translate".
> If you can't get at least a handful of such questions right from outside the
> field you're applying for, I know you're inexperienced, unschooled, or
> uninterested/incapable of expanding your responsibilities.
If I ever have to come up with job interview questions, I'll keep in mind
that principle. It sounds very sensible to me.
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
On Thu, 27 Aug 2009 09:53:36 -0700, Darren New wrote:
> Fredrik Eriksson wrote:
>> I get the same, though one of the comments that do exist is apparently
>> in reply to #58508. I presume it was simply deleted.
>
> I guess concordia heard everyone was making fun of him/her, so deleted
> the comment.
After 4 years....that's what surprised me.
Fortunately, it's difficult to remove all traces from the 'net,
especially after that amount of time has passed. ;-)
Jim
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
clipka wrote:
> Warp schrieb:
>> Why do I seem to be the only one who is not getting a page with such
>> an anchor in it? I even checked all the anchors in that page, and that
>> one does not appear. The closest ones are #55694 and #58653.
>
> Because, apparently, someone did the only sane thing, and removed that
> post.
But you can continue discussing this instead:
http://forums.sun.com/thread.jspa?threadID=5404590
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Nicolas Alvarez schrieb:
> http://forums.sun.com/thread.jspa?threadID=5404590
Somehow I /think/ I recall having actually used
LET x = 0-x
back in the old BASIC days. I think that's as bad as it ever got.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> For example, you wouldn't believe how complicated the task of writing
> a function which calculates the distance between two 2D points can get.
> Where normal people would just write a "sqrt(vx*vx+vy*vy)"-based solution
> in 3 lines (two of them to calculate vx and vy), the worst examples I saw
> spawned over 100 lines of code. And I'm not exaggerating the least bit here.
> And these are university students who have gone through math courses in
> grade school, high school and several years in the university.
>
I will admit to having done some absurd things like that in introduction
to programming classes. Not for having forgotten how to solve the
problem, but for the challenge of finding a very bad design and the look
on teaching assistants faces when they have to read the code and offer
feedback.
There were very strict rules about what was good and bad design, and how
to handle commenting the code, so skirting those was just a way to be
creative.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Sabrina Kilian <ski### [at] vt edu> wrote:
> I will admit to having done some absurd things like that in introduction
> to programming classes. Not for having forgotten how to solve the
> problem, but for the challenge of finding a very bad design and the look
> on teaching assistants faces when they have to read the code and offer
> feedback.
That's cold. I had a friend who used the entire McDonalds value menu for
variable names. Or I think I brought this up before, but I knew someone
learning c who programmed a sudoku solver and stored the whole thing in binary,
only the binary numbers were in decimal (e.g. 110110010.999999). It involved a
lot of logarithms and powers of ten.
- Ricky
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Heh. I don't even go that far.
Yeh the written test (which they do unsupervised) is meant to test the basic
Engineer (and maths) fundamentals. In the mechanics test we throw in a few
easy electronics questions and vice versa.
> I just have a bunch of questions like "why do they call it raytracing" and
> "what's the difference between a deterministic and a non-deterministic
> state machine" and "what causes a SIG_SEGV" and "what's the difference
> between an inner join and an outer join" and "what's an advantage of UTF-8
> over other encoding schemes" and "what does a translation look-aside
> buffer translate".
We have ones like "draw a diagram to show how an injection molding machine
works" :-) It's surprising how few people get taught this at university (I
certainly wasn't), yet most people at least have a rough idea what's going
on.
> If you can't get at least a handful of such questions right from outside
> the field you're applying for, I know you're inexperienced, unschooled, or
> uninterested/incapable of expanding your responsibilities.
We have a separate section of the interview where we give them an LCD and
tell them to take it apart and talk through what they think each bit does,
why it's like that, etc. It's a good one because virtually nobody has ever
done this before so it puts everyone on an equal level, and there are plenty
of mechanical and electrical things to talk about.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> We have a separate section of the interview where we give them an LCD
> and tell them to take it apart and talk through what they think each bit
> does, why it's like that, etc. It's a good one because virtually nobody
> has ever done this before so it puts everyone on an equal level, and
> there are plenty of mechanical and electrical things to talk about.
And here I was thinking that all the components are microscopic...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New wrote:
> Heh. I don't even go that far. I just have a bunch of questions like
> "why do they call it raytracing" and "what's the difference between a
> deterministic and a non-deterministic state machine" and "what causes a
> SIG_SEGV" and "what's the difference between an inner join and an outer
> join" and "what's an advantage of UTF-8 over other encoding schemes" and
> "what does a translation look-aside buffer translate".
>
> If you can't get at least a handful of such questions right from outside
> the field you're applying for, I know you're inexperienced, unschooled,
> or uninterested/incapable of expanding your responsibilities.
...OK, how many other people here felt an irresistablel urge to try to
answer all of those?
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> I will admit to having done some absurd things like that in introduction
>> to programming classes. Not for having forgotten how to solve the
>> problem, but for the challenge of finding a very bad design and the look
>> on teaching assistants faces when they have to read the code and offer
>> feedback.
>
> That's cold. I had a friend who used the entire McDonalds value menu for
> variable names. Or I think I brought this up before, but I knew someone
> learning c who programmed a sudoku solver and stored the whole thing in binary,
> only the binary numbers were in decimal (e.g. 110110010.999999). It involved a
> lot of logarithms and powers of ten.
Amatures.
Real coders define a continuation monad who's operators are all ASCII
art, and generate spaghetti code using an epimorphism over endofunctors.
Deobfuscate THAT! O_O
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible schrieb:
> ...OK, how many other people here felt an irresistablel urge to try to
> answer all of those?
I'd be having trouble with the translation look-aside buffer right now.
I have a feeling that it's about cache memory, or command execution
queue, but that's about how far I spontaneously get without resorting to
My Friend.
But aside from that - yeah :-)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> ...OK, how many other people here felt an irresistablel urge to try to
>> answer all of those?
>
> I'd be having trouble with the translation look-aside buffer right now.
> I have a feeling that it's about cache memory, or command execution
> queue, but that's about how far I spontaneously get without resorting to
> My Friend.
>
> But aside from that - yeah :-)
TLB - convert from virtual memory addresses to physical memory
addresses. It's basically a cache of the page mappings. (Let's face it,
accessing RAM for every memory access to figure out where in physical
memory the requested virtual address is would be *really* slow...)
I only know this because I read the Intel reference manuals. For no
reason other than curiosity.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> We have a separate section of the interview where we give them an LCD and
>> tell them to take it apart and talk through what they think each bit
>> does, why it's like that, etc. It's a good one because virtually nobody
>> has ever done this before so it puts everyone on an equal level, and
>> there are plenty of mechanical and electrical things to talk about.
>
> And here I was thinking that all the components are microscopic...
Err no, each component is roughly the same size as the display itself. eg
for a typical 2.0" phone display each component is going to be the same
order of magnitude. Of course the electronic circuits that are actually on
the glass panel itself are too small to see, for the electronics guys (yes
we only get male applicants) we just show them some simplified circuit
diagrams of important stuff, showing them the transistors under a microscope
wouldn't be too helpful.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> ...OK, how many other people here felt an irresistablel urge to try to
> answer all of those?
I could answer the first one :-D
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible schrieb:
> Real coders define a continuation monad who's operators are all ASCII
> art, and generate spaghetti code using an epimorphism over endofunctors.
> Deobfuscate THAT! O_O
I'd first need to deobfuscate your sentence :-P
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Real coders define a continuation monad who's operators are all ASCII art,
> and generate spaghetti code using an epimorphism over endofunctors.
> Deobfuscate THAT! O_O
We had a function called Viagra in our code. It was called every second to
check if the lifting arm on our robot was still in the fully raised
position, and if not activate the motor until it hit the limit switch.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> And here I was thinking that all the components are microscopic...
>
> Err no, each component is roughly the same size as the display itself.
> eg for a typical 2.0" phone display each component is going to be the
> same order of magnitude. Of course the electronic circuits that are
> actually on the glass panel itself are too small to see, for the
> electronics guys (yes we only get male applicants) we just show them
> some simplified circuit diagrams of important stuff, showing them the
> transistors under a microscope wouldn't be too helpful.
Yeah, but, I thought it contains stuff like a half-wave plate (which is
nanometers thick) and stuff.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
scott wrote:
>> ...OK, how many other people here felt an irresistablel urge to try to
>> answer all of those?
>
> I could answer the first one :-D
A better question might be "why do they call it a relational database?"
So many people get that one wrong...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
scott wrote:
>> Real coders define a continuation monad who's operators are all ASCII
>> art, and generate spaghetti code using an epimorphism over
>> endofunctors. Deobfuscate THAT! O_O
>
> We had a function called Viagra in our code. It was called every second
> to check if the lifting arm on our robot was still in the fully raised
> position, and if not activate the motor until it hit the limit switch.
GEEK HUMOUR FTFW!
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Yeah, but, I thought it contains stuff like a half-wave plate (which is
> nanometers thick) and stuff.
Actually the half-wave plate (or quarter-wave plate) is part of the
polariser sheet (which contains lots of other layers), these are typically
0.2-0.4mm thick and can easily be seen attached to both sides of the glass.
We expect most candidates to at least have a very basic idea how an LCD
works (we tell them this before the interview).
Other optical sheets in the backlight, like the diffuser and prism array
sheets are thinner, but still easily visible and handle-able as they are all
the same size as the display itself. In fact you can run your finger nail
along the sheet to see if has any prism structure on it, you could probably
work out the spacing of the prisms from the pitch of the sound somehow
without the need for any microscope. Also there is another sheet in there
that just looks like a mirror, but obviously it doesn't reflect all the
light or the display wouldn't work. THat's another good one to ask them
about.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> Real coders define a continuation monad who's operators are all ASCII
>> art, and generate spaghetti code using an epimorphism over
>> endofunctors. Deobfuscate THAT! O_O
>
> I'd first need to deobfuscate your sentence :-P
Trust me, if I had the time and energy, I could probably come up with
something horribly contorted in Haskell.
1. It lets you define functions with names like **_<#_^_#>_**
2. It lets you write lines of code and automatically inserts hidden
function calls between them.
3. It allows functions to construct other functions.
Need I continue? Suffice it to say, you could do some seriously messed
up stuff with this puppy...
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible schrieb:
> TLB - convert from virtual memory addresses to physical memory
> addresses. It's basically a cache of the page mappings. (Let's face it,
> accessing RAM for every memory access to figure out where in physical
> memory the requested virtual address is would be *really* slow...)
Ah yes - those animals. I knew I had read about TLBs somewhere somewhen.
> I only know this because I read the Intel reference manuals. For no
> reason other than curiosity.
Did that, too - but that's probably about a decade ago, and apparently I
never really needed that stuff :-)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
scott schrieb:
> We had a function called Viagra in our code. It was called every second
> to check if the lifting arm on our robot was still in the fully raised
> position, and if not activate the motor until it hit the limit switch.
LOL! Talk about self-explanatory identifiers :-P
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> I only know this because I read the Intel reference manuals. For no
>> reason other than curiosity.
>
> Did that, too - but that's probably about a decade ago, and apparently I
> never really needed that stuff :-)
I was trying to build a new OS, remember? :-}
(Warp's assessment was correct - I never got past a boot loader that
didn't actually load anything.)
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
clipka <ano### [at] anonymous org> wrote:
> Invisible schrieb:
> > TLB - convert from virtual memory addresses to physical memory
> > addresses. It's basically a cache of the page mappings. (Let's face it,
> > accessing RAM for every memory access to figure out where in physical
> > memory the requested virtual address is would be *really* slow...)
> Ah yes - those animals. I knew I had read about TLBs somewhere somewhen.
Same here: I knew the concept existed, but the I was not so familiar
with its *name* that I could make the connection.
Which makes the question maybe a bit unfair: Even if the person does know
what it is about, if he can't remember it from its name, it will look like
he doesn't know about that subject at all.
Besides, in which job would it be necessary to know this?
Unicode encodings? Certainly useful to know. Basic SQL knowledge? Can
become handy sometimes even in jobs not directly related to databses.
Knowing what a TLB is and how it works? Exactly where do you need to know
that? It's not like knowing that would change the way you develop programs.
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>>> TLB - convert from virtual memory addresses to physical memory
>>> addresses. It's basically a cache of the page mappings.
>
>> Ah yes - those animals. I knew I had read about TLBs somewhere somewhen.
>
> Same here: I knew the concept existed, but the I was not so familiar
> with its *name* that I could make the connection.
>
> Which makes the question maybe a bit unfair: Even if the person does know
> what it is about, if he can't remember it from its name, it will look like
> he doesn't know about that subject at all.
>
> Besides, in which job would it be necessary to know this?
>
> Unicode encodings? Certainly useful to know. Basic SQL knowledge? Can
> become handy sometimes even in jobs not directly related to databses.
> Knowing what a TLB is and how it works? Exactly where do you need to know
> that? It's not like knowing that would change the way you develop programs.
Well, I guess the idea is that by asking *lots* of [admittedly fairly
arbitrary] questions, you get some idea of whether the person in
question knows anything.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> Unicode encodings? Certainly useful to know. Basic SQL knowledge? Can
> become handy sometimes even in jobs not directly related to databses.
> Knowing what a TLB is and how it works? Exactly where do you need to know
> that? It's not like knowing that would change the way you develop
> programs.
I think any programmer (that isn't just a code-monkey being told what to do)
should have a good understanding of the hardware and what it does and
doesn't do. Not knowing what a TLB is kind of makes it obvious you don't
really know about the hardware in much detail. If you don't know what a TLB
is, then you probably also don't know much about how the cache or pipelining
system works.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible wrote:
> ...OK, how many other people here felt an irresistablel urge to try to
> answer all of those?
Here's my full current list. Each one can be answered in a word or a
sentence or so. There's no deeply tricky questions. Just in case you want to
play around.
Why is it called "Ray tracing"?
Name an important property of a controlled not gate.
What's the difference between an inner join and an outer join?
What part of the computer does RAID affect?
What is the difference between a deterministic and a nondeterministic state
machine?
What colors make up a pixel? Why?
What does O(N^2) measure? What does it mean?
What does a JIT compiler do?
What gets routed over a Petri net?
What causes a SIG_SEGV?
What is the difference between call by reference and call by value?
What are some of the other "call by's" you understand?
What is Byzantine fault tolerance?
Describe several ways to guarantee the prevention of deadlocks.
Describe an advantage of having multiple partitions on a disk
for one operating system.
Name an important difference between threads and processes.
What is a stop bit?
What is a logical contrapositive?
What is a difference between swapping and paging?
Why is the "halting problem" important?
What is an imaginary number? Name a situation where it is useful.
What is a fencepost error? Describe a good way to avoid them.
What does cache coherence mean?
What is priority inversion? How does it happen? How is it "cured"?
What is an advantage of having an index on a relational database table?
What is a disadvantage of having an index on a relational database table?
Name an advantage that UTF-8 has over other Unicode encoding schemes.
What is a rewrite rule?
What is cryptographic non-repudiation?
What does ACID mean in database systems?
What part of the Internet protocol suite is CIDR involved in? Why was it
invented?
How would you sort a list that is too big to fit in memory at once?
What does a fourier transform do? What does it transform into what?
What protocol do "web services" usually use? Name as many levels of
protocol encapsulation as you can, from the application down
to the hardware.
What is unified by the process of logical unification?
What is an important difference between "SOAP" and "REST"?
What is a symetric cryptographic algorithm?
What is a TCP Window?
How does TCP ensure reliability?
Name an important difference between a tar file and a zip file.
What is a CNAME in DNS?
What are the layers called in the OSI protocol stack? What does each do?
Name something the CPU does differently between Kernel mode and User mode.
What is inheritance in an object-oriented system? What is delegation?
What distinguishes a functional programming language from other paradigms?
What property of its input data does a radix sort need that a qucksort does not?
What does SMTP stand for?
What does it mean to say a programming language is "safe"?
What problem does NAT solve in the Internet Protocol world?
Why do computers use binary numbers?
Name one advantage of WIMP over CLI.
Name one advantage of CLI over WIMP.
What does it mean for a system to be "hard real-time"?
What does a translation look-aside buffer translate?
Name one problem with automated garbage collection.
Describe the difference between access control lists and
capability-based permissions.
What does a VM mean, when speaking of programming languages?
What does a VM mean, when speaking of operating systems?
What is a "managed environment," speaking of programming languages?
What is the advantage of 2's compliment arithmetic?
What is a CGI script? How does it differ from an Apache or IIS module?
What is MIME? What benefit does it provide?
* * * Harder questions * * *
What is a business-object layer, and why is it helpful?
What are some advantages of the relational database model over earlier models?
In an RDBMS, what is a primary key? A foreign key? How do you choose
the primary key columns and foreign key columns of a table?
What benefits do ASN.1 object identifiers have over URIs
when used as arbitrary identifiers naming protocol information?
What are some disadvantages?
What is your favorite programming language? Why? What's wrong with it?
What is the most unusual programming language you've learned, even a little?
What makes it unusual? Why did you learn it?
--
Darren New, San Diego CA, USA (PST)
Understanding the structure of the universe
via religion is like understanding the
structure of computers via Tron.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> Which makes the question maybe a bit unfair: Even if the person does know
> what it is about, if he can't remember it from its name, it will look like
> he doesn't know about that subject at all.
Of course, I can give hints in person. :-)
> Besides, in which job would it be necessary to know this?
Computer programming. You should know how the system works, what a L1 vs L2
cache is, etc. If you're writing an OS, you probably should know how page
tables work.
This whole thing started when I was working with a guy named Kevin. He was
an OK programmer, but I kept having to bail him out of corners he'd painted
himself into. At one point, he had a big complicated way of keeping track
of where he was in a network protocol, using strings with stars and plus
signs and zeros and such to track what messages he'd seen and such, and I
said "why not just use a state machine?" He said "What's a state machine?"
So the deterministic vs non-deterministic question was the first one on my list.
> Unicode encodings? Certainly useful to know. Basic SQL knowledge? Can
> become handy sometimes even in jobs not directly related to databses.
> Knowing what a TLB is and how it works? Exactly where do you need to know
> that? It's not like knowing that would change the way you develop programs.
As I said, these are to assess your breadth of knowledge. It's like asking
someone to write a program to compute prime numbers - you'll never have to
do that at work either.
--
Darren New, San Diego CA, USA (PST)
Understanding the structure of the universe
via religion is like understanding the
structure of computers via Tron.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
scott wrote:
> We had a function called Viagra in our code. It was called every second
> to check if the lifting arm on our robot was still in the fully raised
> position, and if not activate the motor until it hit the limit switch.
LOL! I definitely know some engineers I'll tell this one to.
The old OS I worked on had a routine called Enable Interrupts for External
Input and Output. The first comment was "with a sync sync here and a nak nak
there".
--
Darren New, San Diego CA, USA (PST)
Understanding the structure of the universe
via religion is like understanding the
structure of computers via Tron.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New <dne### [at] san rr com> wrote:
> This whole thing started when I was working with a guy named Kevin. He was
> an OK programmer, but I kept having to bail him out of corners he'd painted
> himself into. At one point, he had a big complicated way of keeping track
> of where he was in a network protocol, using strings with stars and plus
> signs and zeros and such to track what messages he'd seen and such, and I
> said "why not just use a state machine?" He said "What's a state machine?"
The only places I have heard where they use state machines is in formal
verification apps and regular expression interpreters. But I suppose there
are tons of other places where they are useful as well... :)
> > Unicode encodings? Certainly useful to know. Basic SQL knowledge? Can
> > become handy sometimes even in jobs not directly related to databses.
> > Knowing what a TLB is and how it works? Exactly where do you need to know
> > that? It's not like knowing that would change the way you develop programs.
> As I said, these are to assess your breadth of knowledge. It's like asking
> someone to write a program to compute prime numbers - you'll never have to
> do that at work either.
But I think there's a big difference between knowing how to calculate
prime numbers and knowing how virtual paging works at hardware level
(which is completely transparent to everyone except maybe operating system
developers).
--
- Warp
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Warp wrote:
> are tons of other places where they are useful as well... :)
Um, network protocols?
http://images.google.com/images?q=tcp+state+machine
> (which is completely transparent to everyone except maybe operating system
> developers).
Yes, there is such a difference. That's why I ask both questions.
And if I need you to figure out what's broken in the OS's paging algorithms
in a year's time, I'd like you to know enough about the subject to be able
to understand a tutorial on the topic.
I don't expect you to know how to program quantum computers, either, but I
expect you to know what quantum computing *is*, to the point that you could
fool the boss into thinking you know something about it. :-)
Anyway, that's one of many questions. If you're working for me, you'll
probably never need a ray tracer, either. But it would be good for you to
know that a ray tracer takes a 3D description and turns it into an image,
for example.
You could say "I'll never need to know that" about every question on that
entire list. A web designer doesn't need to know what a stop bit is or what
priority inversion is. A hardware designer doesn't need to know why you'd
want an index on a relational database table or what protocols web services
use. It's a breadth of knowledge thing.
--
Darren New, San Diego CA, USA (PST)
Understanding the structure of the universe
via religion is like understanding the
structure of computers via Tron.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New wrote:
> The old OS I worked on had a routine called Enable Interrupts for External
> Input and Output. The first comment was "with a sync sync here and a nak
> nak there".
EIEIO
http://en.wikipedia.org/wiki/GNU_Hurd#Error_messages
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Darren New schrieb:
> Here's my full current list. Each one can be answered in a word or a
> sentence or so. There's no deeply tricky questions. Just in case you
> want to play around.
Duh - and I tend to consider myself an all-rounder...
> What is your favorite programming language? Why? What's wrong with it?
That's a pretty nice one, especially the third part ;-)
> What is the most unusual programming language you've learned, even a
> little?
> What makes it unusual? Why did you learn it?
That, too, is a smart thing to ask.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |