30 seconds on Google and I can look up just about anything C, C++, stdlib, Qt (especially Qt) that I need to know. I knew and forgot what static meant on a global variable over 10 years ago... I didn't know it when I read the post because it's not something I or my colleagues have used in years.
More important than knowing a bunch of trivia and obscure coding tricks is knowing what gets the job done with a minimum of hassle up front, and ease of maintenance when you have to look back at it after months or years. static declaration on a global variable is something I could live without forever and never miss, but if I ever encounter it in somebody else's code, Google is just one click away.
I joined a Credit Union when I was 12, and that was a long time ago, indeed. I have never looked at a bank account set of terms and conditions that was not absolutely offensive and repulsive when compared to the Credit Union.
I had bank accounts back in the 80s and early 90s (with smaller banks, not anything national), and I don't remember them having all these ridiculous fees and such back then, in fact I don't remember anything negative about them in those days. On the contrary, I remember when ATMs were brand-new, and "ATM fees" were unheard of, and I could go to any ATM that was part of my bank's network (which was pretty much all of them) and withdraw cash without any fees. I only remember banks getting horrible since around the time Bush took office.
I guess I just made a bad choice in 1991. My friend worked at one bank across the street from work, and their fee structure was pretty horrible if you didn't have at least $10K on deposit (for those people who did, they ran a shuttle down to the condos, the little old ladies would take the shuttle to come "check their balance" then get a bag of groceries while they were there and take the shuttle home... with service like that, I definitely couldn't afford the fees.) The bank I chose was Washington Mutual, at least for a few months, then they got bought and renamed, that happened every couple of years. I chose them because they were right across the street, but the lines for deposit were so long (plus the "error" in their favor, and surprise fees) that I dropped them and just went back to mailing my check to Tampa.
That's an example of "tricky" syntax that I just stay away from whenever possible. My personal solution to that problem is to prefix variables in a given file with a unique two or three letter code so that the namespace stays non-interfering. They are still accessible outside if desired (without having to go make changes where they were declared), and they don't cause problems. Plus, the code is a clue where they came from.
These observations show a level of precision equivalent to spotting individual grains of sand on the surface of the Moon.
Hubble probably wasn't designed for this sort of thing, but imagine a space telescope that's designed for observing objects inside our solar system. It'd be like putting the moon under a microscope, or exploring Mars and getting detailed survey results without the time and expense of sending a probe there. Is it possible? Is it being planned?
Gravitational lensing uses very heavy objects (stars, black holes, galaxies, galaxy clusters) to magnify objects on the other side.
We don't happen to have any of those between us and Mars, so it won't work. And, I'm just a little too foggy for the accuracy vs. precision discussion at the moment, but even if they managed to magnify these things so extraordinarily as to look at grains of sand on the moon, I doubt they really know if they're looking at coarse sand, fine sand, or small pebbles. After all, how many black hole accretion discs can they compare it to for reference?
I appreciate the power of gravitational lensing, but to presume that you have anything resembling an accurate measurement when using it, unless they mean precisely, within an order of magnitude, or two.
I joined a Credit Union when I was 12, and that was a long time ago, indeed. I have never looked at a bank account set of terms and conditions that was not absolutely offensive and repulsive when compared to the Credit Union.
Once, about 20 years ago, when I lived in Miami and the nearest branch of my Credit Union was in Tampa, I opened a local account to be able to deposit my paychecks locally. That lasted about 6 months, during which time they charged fee after fee, and posted a $20 "computer error" in their favor to my account. Computer error, in 1991, from a bank? The computer made a mistake adding a column of numbers? "Sorry sir, we'll fix that." Yeah, you do that, and give me all my cash, NOW.
Just a note: the dudes who ace the test are usually done within 20 minutes, 30 tops. Beyond that I kind of peek in and see if I can "mentor" them through the problem a little bit, but that only helps a small percentage of people (about the same number as can do the test without help.)
That's a great test and I'm one of the dudes that also would ace it. But when you run such a test, and this is very important, make the test actually matter! If someone completes the test with flying scores, you can not reject him because you dont like his style, he doesn't have a manly handshake or is socially awkward. Because that is very unfair if you have your applicants waste hours with a skill test and then return to them that they aren't a "good fit" for the company which you could have figured out after talking to them for five minutes, if fitting in is the most important variable you judge applications on.
In the world I live in, fitting in with the team is at least as important as technical skills. Some people might wish that we all worked in caves and never saw each other, but interpersonal communication is actually key to doing a good job as a team.
If we were building little toy software that one guy could produce and maintain, fitting in would matter less, but it still matters. If you want to put out there that "people should be professionals and respect a job well done, the rest shouldn't matter" - that's a nice ideal, I've never found a place where it was true in practice.
As for "the test" - it's always the last part of the interview. I may have turned away about 10% of the candidates before offering them the test, and they certainly have the option to walk away before taking it if they don't feel a good fit based on the interview - but, to a certain extent, it feels cruel to not give them the opportunity to shine technically if there's any chance they might be a good candidate.
Also, pass rates on the test are so absolutely dismal, we can't afford to be too picky about who gets to take it or we'll never find anyone to hire.
One fresh East German immigrant was a real wizard, he e-mailed in a perfect answer, when we interviewed him on-site I asked him to do it again, but with 5 cycles in polar coordinates, he finished in 15 minutes with great looking code - we made him an offer and he accepted, but 3 hours later phoned back and sheepishly declined, it seems he hadn't discussed the possibility of moving with his girlfriend.
If he's not that expensive why not have him work for you without emigrating?
The East German was almost 15 years ago, and he had already emigrated to Mississippi. The internet wasn't quite robust enough for things like Skype video back then, and we really needed somebody who could talk with the end users to get their feedback.
I really want to believe that I am exaggerating too, I was writing stuff like that test, for fun, with no guidance, when I was 12, in BASIC. By the time I was 14, I was doing it in polar coordinates.
Unfortunately, no, and I didn't make up the test, it was the test given to me for my first job, and I used it first while hiring people for that company. They said that my results were similar to their experience with giving the test before I was hired.
I have been programming in C professionally for 20 years - my colleagues tell me I'm good, I feel confident and I deliver good code on-time.
I don't know the answer to #2 (though, 30 seconds on Google and I could find out.)
C/Unix development/support role. I have had multiple supposedly experienced people fail to answer these questions.
1. What does static do when applied to a variable within function scope? 2. What does static do when applied to a variable not within a function? 3. Aside from multiplication, what does "*" do? 4. How do you list the files in a directory? 5. Tell me a few kinds of inter-process communication.
You must study for it like the SAT's. I have even seen Google Interview Study parties.
See, there's my problem, I never studied for the SATs or GRE. Hell, when I took the GRE, I was in a strange city (Manhattan), and my prep for the test was to find out which train to take in the morning, I think I only got about 6 hours sleep the night before.
I got 790 math, 800 logic, and something in the high 600s verbal, first (and only) try.
Born in 1967, Google won't give me the time of day, unless I ask for it in the search query box.
Past employers lie (I've watched several of my current employers "puff up" someone recently laid off just to get them away from our unemployment benefits...)
Resume? You've got to be kidding.
You can't judge how somebody will do on a 6 month problem in 60 minutes, but you can at least see if they can handle what should be a 15 minute problem. People who can't pull that off within an hour or so tend to be "needy" all the time, and generally much less productive.
I interviewed for an EE position once years ago. They said over the phone that there would be a test. When I got there, there was only a test, handed through the window by a secretary. There were 5 other candidates in the lobby taking the test. They had all brought duffel bags filled with their textbooks, most of them looked to be in their 30s and 40s - apparently they had failed this interview process before.
I took the test with no books, fairly confident I got at least 90% correct and proud that I accomplished it without a reference library. Unfortunately, I don't think the secretary noticed or cared - there was no interview. Walking out the door into a bad neighborhood, through the parking lot filled with junk cars that hadn't been washed in forever, I got the feeling that there were better places to work - and there were.
"Can you call a destructor in C++ directly?" (The answer is yes, but it's a terrible idea)
It can be a perfectly reasonable thing to do, depending on the circumstances.
Says the guy who, no doubt, does it all the time.
That's the only possible utility I can see in these hyper-obscure programming trivia contests - if a company has a closet full of code written by 15 different guys working independently, who all walked out last week, and now they want to hire you to do maintenance updates on the existing code base.
Like so many others have said in the thread: "If that's the gig, I'm glad I failed the audition."
I hired on at a startup as a Director of Software Development in 2006. I got them into Qt, I (39 at the time), the old dog, took it as an opportunity to learn a new trick. It's a great library and I have applied it to 4 different companies' problems since then.
When the whipper snappers start Java, Perl, Ruby, Python-ing me to death, I smack 'em down with good old fashioned C++ and Qt. The "modern" stuff is o.k. for little problems, but the Qt solution almost always looks better when it grows into anything significant.
30 seconds on Google and I can look up just about anything C, C++, stdlib, Qt (especially Qt) that I need to know. I knew and forgot what static meant on a global variable over 10 years ago... I didn't know it when I read the post because it's not something I or my colleagues have used in years.
More important than knowing a bunch of trivia and obscure coding tricks is knowing what gets the job done with a minimum of hassle up front, and ease of maintenance when you have to look back at it after months or years. static declaration on a global variable is something I could live without forever and never miss, but if I ever encounter it in somebody else's code, Google is just one click away.
$7K, 80 mile range, 74mph, 2 passengers, I'll grey market import it if it's really that good and cheap.
I joined a Credit Union when I was 12, and that was a long time ago, indeed. I have never looked at a bank account set of terms and conditions that was not absolutely offensive and repulsive when compared to the Credit Union.
I had bank accounts back in the 80s and early 90s (with smaller banks, not anything national), and I don't remember them having all these ridiculous fees and such back then, in fact I don't remember anything negative about them in those days. On the contrary, I remember when ATMs were brand-new, and "ATM fees" were unheard of, and I could go to any ATM that was part of my bank's network (which was pretty much all of them) and withdraw cash without any fees. I only remember banks getting horrible since around the time Bush took office.
I guess I just made a bad choice in 1991. My friend worked at one bank across the street from work, and their fee structure was pretty horrible if you didn't have at least $10K on deposit (for those people who did, they ran a shuttle down to the condos, the little old ladies would take the shuttle to come "check their balance" then get a bag of groceries while they were there and take the shuttle home... with service like that, I definitely couldn't afford the fees.) The bank I chose was Washington Mutual, at least for a few months, then they got bought and renamed, that happened every couple of years. I chose them because they were right across the street, but the lines for deposit were so long (plus the "error" in their favor, and surprise fees) that I dropped them and just went back to mailing my check to Tampa.
That's an example of "tricky" syntax that I just stay away from whenever possible. My personal solution to that problem is to prefix variables in a given file with a unique two or three letter code so that the namespace stays non-interfering. They are still accessible outside if desired (without having to go make changes where they were declared), and they don't cause problems. Plus, the code is a clue where they came from.
Schoenberg +1
The FFmpeg team has some ideas about this.
I see they are currently updating the page - they do that a lot.
What I am unclear on is whether they are just noisy whiners, or if they ever actually put the legal teeth to any of their targets?
Quoth TFA:
These observations show a level of precision equivalent to spotting individual grains of sand on the surface of the Moon.
Hubble probably wasn't designed for this sort of thing, but imagine a space telescope that's designed for observing objects inside our solar system. It'd be like putting the moon under a microscope, or exploring Mars and getting detailed survey results without the time and expense of sending a probe there. Is it possible? Is it being planned?
Gravitational lensing uses very heavy objects (stars, black holes, galaxies, galaxy clusters) to magnify objects on the other side.
We don't happen to have any of those between us and Mars, so it won't work. And, I'm just a little too foggy for the accuracy vs. precision discussion at the moment, but even if they managed to magnify these things so extraordinarily as to look at grains of sand on the moon, I doubt they really know if they're looking at coarse sand, fine sand, or small pebbles. After all, how many black hole accretion discs can they compare it to for reference?
I appreciate the power of gravitational lensing, but to presume that you have anything resembling an accurate measurement when using it, unless they mean precisely, within an order of magnitude, or two.
I joined a Credit Union when I was 12, and that was a long time ago, indeed. I have never looked at a bank account set of terms and conditions that was not absolutely offensive and repulsive when compared to the Credit Union.
Once, about 20 years ago, when I lived in Miami and the nearest branch of my Credit Union was in Tampa, I opened a local account to be able to deposit my paychecks locally. That lasted about 6 months, during which time they charged fee after fee, and posted a $20 "computer error" in their favor to my account. Computer error, in 1991, from a bank? The computer made a mistake adding a column of numbers? "Sorry sir, we'll fix that." Yeah, you do that, and give me all my cash, NOW.
A wide variety of manufacturers will tend to include some of lower quality.
Buyer beware, or just pay extra and get the Apple. (Apple hardware ain't perfect either.)
I might fail hard on the debugging test... more because I don't want the job than anything else ;-)
Just a note: the dudes who ace the test are usually done within 20 minutes, 30 tops. Beyond that I kind of peek in and see if I can "mentor" them through the problem a little bit, but that only helps a small percentage of people (about the same number as can do the test without help.)
That's a great test and I'm one of the dudes that also would ace it. But when you run such a test, and this is very important, make the test actually matter! If someone completes the test with flying scores, you can not reject him because you dont like his style, he doesn't have a manly handshake or is socially awkward. Because that is very unfair if you have your applicants waste hours with a skill test and then return to them that they aren't a "good fit" for the company which you could have figured out after talking to them for five minutes, if fitting in is the most important variable you judge applications on.
In the world I live in, fitting in with the team is at least as important as technical skills. Some people might wish that we all worked in caves and never saw each other, but interpersonal communication is actually key to doing a good job as a team.
If we were building little toy software that one guy could produce and maintain, fitting in would matter less, but it still matters. If you want to put out there that "people should be professionals and respect a job well done, the rest shouldn't matter" - that's a nice ideal, I've never found a place where it was true in practice.
As for "the test" - it's always the last part of the interview. I may have turned away about 10% of the candidates before offering them the test, and they certainly have the option to walk away before taking it if they don't feel a good fit based on the interview - but, to a certain extent, it feels cruel to not give them the opportunity to shine technically if there's any chance they might be a good candidate.
Also, pass rates on the test are so absolutely dismal, we can't afford to be too picky about who gets to take it or we'll never find anyone to hire.
One fresh East German immigrant was a real wizard, he e-mailed in a perfect answer, when we interviewed him on-site I asked him to do it again, but with 5 cycles in polar coordinates, he finished in 15 minutes with great looking code - we made him an offer and he accepted, but 3 hours later phoned back and sheepishly declined, it seems he hadn't discussed the possibility of moving with his girlfriend.
If he's not that expensive why not have him work for you without emigrating?
The East German was almost 15 years ago, and he had already emigrated to Mississippi. The internet wasn't quite robust enough for things like Skype video back then, and we really needed somebody who could talk with the end users to get their feedback.
I really want to believe that I am exaggerating too, I was writing stuff like that test, for fun, with no guidance, when I was 12, in BASIC. By the time I was 14, I was doing it in polar coordinates.
Unfortunately, no, and I didn't make up the test, it was the test given to me for my first job, and I used it first while hiring people for that company. They said that my results were similar to their experience with giving the test before I was hired.
I have been programming in C professionally for 20 years - my colleagues tell me I'm good, I feel confident and I deliver good code on-time.
I don't know the answer to #2 (though, 30 seconds on Google and I could find out.)
C/Unix development/support role. I have had multiple supposedly experienced people fail to answer these questions.
1. What does static do when applied to a variable within function scope?
2. What does static do when applied to a variable not within a function?
3. Aside from multiplication, what does "*" do?
4. How do you list the files in a directory?
5. Tell me a few kinds of inter-process communication.
You must study for it like the SAT's. I have even seen Google Interview Study parties.
See, there's my problem, I never studied for the SATs or GRE. Hell, when I took the GRE, I was in a strange city (Manhattan), and my prep for the test was to find out which train to take in the morning, I think I only got about 6 hours sleep the night before.
I got 790 math, 800 logic, and something in the high 600s verbal, first (and only) try.
Born in 1967, Google won't give me the time of day, unless I ask for it in the search query box.
Past employers lie (I've watched several of my current employers "puff up" someone recently laid off just to get them away from our unemployment benefits...)
Resume? You've got to be kidding.
You can't judge how somebody will do on a 6 month problem in 60 minutes, but you can at least see if they can handle what should be a 15 minute problem. People who can't pull that off within an hour or so tend to be "needy" all the time, and generally much less productive.
I ran a shop with 3 PhDs and 3 BS students or recent grads.
The PhDs had a real difficulty following simple directions (fill out your timesheet, put your name on it.)
Two of the PhDs were impossible to retask, once they got into a problem area, forget about asking for anything else for at least a month.
The other PhD couldn't program his way out of a paper bag.
No such problems with the BS level people.
Free lobster, sounds like a win to me.
That's too much work. If it's a female applicant, you should just ask her to take her top off and if she does, hire her.
If it's good enough for Herman Cain, it's good enough for me.
Hey, I had one of those, she interviewed for the programmer spot, unfortunately, we actually needed someone who could program.
I interviewed for an EE position once years ago. They said over the phone that there would be a test. When I got there, there was only a test, handed through the window by a secretary. There were 5 other candidates in the lobby taking the test. They had all brought duffel bags filled with their textbooks, most of them looked to be in their 30s and 40s - apparently they had failed this interview process before.
I took the test with no books, fairly confident I got at least 90% correct and proud that I accomplished it without a reference library. Unfortunately, I don't think the secretary noticed or cared - there was no interview. Walking out the door into a bad neighborhood, through the parking lot filled with junk cars that hadn't been washed in forever, I got the feeling that there were better places to work - and there were.
"Can you call a destructor in C++ directly?" (The answer is yes, but it's a terrible idea)
It can be a perfectly reasonable thing to do, depending on the circumstances.
Says the guy who, no doubt, does it all the time.
That's the only possible utility I can see in these hyper-obscure programming trivia contests - if a company has a closet full of code written by 15 different guys working independently, who all walked out last week, and now they want to hire you to do maintenance updates on the existing code base.
Like so many others have said in the thread: "If that's the gig, I'm glad I failed the audition."
I hired on at a startup as a Director of Software Development in 2006. I got them into Qt, I (39 at the time), the old dog, took it as an opportunity to learn a new trick. It's a great library and I have applied it to 4 different companies' problems since then.
When the whipper snappers start Java, Perl, Ruby, Python-ing me to death, I smack 'em down with good old fashioned C++ and Qt. The "modern" stuff is o.k. for little problems, but the Qt solution almost always looks better when it grows into anything significant.
I'm 44, Google doesn't answer any of my applications at all.