IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Shell scripting isn't the same thing at all.
People can write serious programs with the "higher" scripting languages. But again, I've had good luck with people who put down things like Python and Ruby because that means they actually USE them instead of just putting them on a resume to get past filters.

But what if I told you that you work for a fraud detection company and your job is to produce a little server that listens on a socket for a SSN and writes back an integer 1 or 0 depending on whether the SSN was valid (held by a live person). Assume the US Gov sends you a text file every month that has all valid SSN's - one per line. Also assume SSN data is potentially sparse.
See, you're providing more information now. :-)

Depends on how fast it *needs* to be, what the machine constraints are, and how much time you want to spend on a solution. If you're bringing stuff in over TCP/IP, then the data is already in string format, for one thing. If efficiency is everything, and you can't afford the RAM, then sure, put it in a numeral. Or if you just want a solution and RAM is not a problem, read the whole thing into a HashSet and get O(1) lookups straight from the string you read in.

Actually, the best way might be: allocate 125M of RAM, and on startup flip the corresponding bit to 1 for each SSN you read in. When you get a request, convert the SSN to long or whatever, divide by 8, look up the byte, and bitmask off the remainder to see if the SSN is valid. That way you don't have to keep any of the actual SSNs in memory at all, and your question is more or less moot. ;-)

I've personally never been in a situation like that with SSNs, though. :-)

Programming puzzles... I don't like them, in general, but it depends on what you're hiring for. When I hire for web developers, I give them a project to do that should take no more than 8 hours of time. They get a CD with a full environment on it, README, install instructions, compiler, Tomcat, JUnit libs, etc., and they're expected to produce a working web application given a spec. They can do it at home, here at the office on a spare machine, whereever. No frameworks allowed, no external libraries, but they can use any reference guide they wish. As a result I get people who can actually program and discuss the decisions they made intelligently, instead of people who are great at "puzzles" but couldn't actually program their way out of a wet paper bag on an actual project.

Let me know if you want a copy of the CD I have prepared.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New I said it was rhetorical
I also knew that wouldn't stop you. :-)

Personally, I look for diversity of experience - more languages/environments is better.

"Depends on how fast it *needs* to be"

Here everything is optimized for speed. RAM is cheap. Volumes are really high though. This is the first place I've ever worked where maximum performance software was really important.

"Or if you just want a solution and RAM is not a problem, read the whole thing into a HashSet and get O(1) lookups straight from the string you read in. "

Around here *money* is not a problem for hardware as long as you're buying off the rack (no exotics). With that answer I'd ask for a quick estimate of RAM required in the worst case of all SSN's being populated. What is the overhead of a HashSet (I have no idea without doing research)?

"Actually, the best way might be: allocate 125M of RAM, and on startup flip the corresponding bit to 1 for each SSN you read in. When you get a request, convert the SSN to long or whatever, divide by 8, look up the byte, and bitmask off the remainder to see if the SSN is valid. That way you don't have to keep any of the actual SSNs in memory at all, and your question is more or less moot. ;-)"

Yep, bit vector is the best answer (smallest and fastest).

"I've personally never been in a situation like that with SSNs, though. :-)"

That's a real program at a real company where I once interviewed in San Diego. The question generally produces the nice thought process you wrote down. It lets me see the thinking pattern.

Most frequent answer from soon to be rejected candidates is to suggest a binary tree, then fail to be able to calculate the memory requirements of the fully populated structure. They get tangled up in trying to figure out memory partitioning algos to swap to disk too.

The CD sounds intriguing but I don't know how applicable it is. We use very little Java and the stuff I need coded isn't even a web app.



"The significant problems we face cannot be solved at the same level of thinking we were at when we created them."     --Albert Einstein

"This is still a dangerous world. It's a world of madmen and uncertainty and potential mental losses."     --George W. Bush
Expand Edited by tuberculosis Nov. 8, 2004, 04:35:33 PM EST
New Don't you mean, "rederickal"?
Sorry, Beep. ;-)

Diversity is good, but the scripting languages seem to bring out the more curious, problem-solving types. Most people who can't be arsed to learn a scripting language for the hell of it also can't be arsed to do a lot of other things.

This place is all about speed, too. We get thousands of pricing ticks a second, and those explode into huge calculations. And updates have to be as near to real time as possible.

The CD doesn't sound too useful, other than as an example. We've also given applicants a shell login and had them code in a C++ environment on a server here. You could probably do the same thing with Oracle if that's what you're looking for. Just make sure you trust your sysadmins to get the permissions right. :-P

The key is to make them do an actual project in an environment where they can be comfortable, in order to get an idea of how they would work on the job as opposed to in an interview.

I put a copy of the problem up for general perusal at [link|http://www.mr-anderson.net/stuff/PROJECT.html|http://www.mr-anders...tuff/PROJECT.html] if anyone is interested.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Admin, I'd like a copy of the CD or the ISO.
--
[link|mailto:greg@gregfolkert.net|greg],
[link|http://www.iwethey.org/ed_curry|REMEMBER ED CURRY!] @ iwethey
Freedom is not FREE.
Yeah, but 10s of Trillions of US Dollars?
SELECT * FROM scog WHERE ethics > 0;

0 rows returned.
New I'll throw a copy up on my site.
I'll need to scrub it first, though.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New I wonder if that CD would be good as a VMWare image
Don't mean do it, just thinking that CD image seems to be a good fit for Virtual Machine image technology.

--Tony
New When ever. Its a *NOT* short term thing.
--
[link|mailto:greg@gregfolkert.net|greg],
[link|http://www.iwethey.org/ed_curry|REMEMBER ED CURRY!] @ iwethey
Freedom is not FREE.
Yeah, but 10s of Trillions of US Dollars?
SELECT * FROM scog WHERE ethics > 0;

0 rows returned.
New Re: I'll throw a copy up on my site.
[link|http://www.mr-anderson.net/stuff/j2eedist.tar.bz2|http://www.mr-anders.../j2eedist.tar.bz2]

I truncated the binary files and the Tomcat directories to save space. It was all very old stuff, and easy to obtain at any rate.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
New Interesting.
Its a project low enough for me to do, but has all the challenge of a real world thingamabober.

It may take me longer than 8 hours... but then I don't have really any programming experience in Java.

Thanks.
--
[link|mailto:greg@gregfolkert.net|greg],
[link|http://www.iwethey.org/ed_curry|REMEMBER ED CURRY!] @ iwethey
Freedom is not FREE.
Yeah, but 10s of Trillions of US Dollars?
SELECT * FROM scog WHERE ethics > 0;

0 rows returned.
New Enjoy.
Regards,

-scott anderson

"Welcome to Rivendell, Mr. Anderson..."
     Finding decent programmers - (tuberculosis) - (56)
         well.. - (deSitter)
         Not surprising. - (admin) - (35)
             Don't agree - (tuberculosis) - (34)
                 Hire Jake - (deSitter)
                 Re: Don't agree - (admin) - (22)
                     Oh yeah - we want one scripting language - (tuberculosis) - (21)
                         Please don't ask the one about the manhole covers. :-/ - (Another Scott) - (1)
                             Otherwise known as... - (admin)
                         Shell scripting isn't the same thing at all. - (admin) - (9)
                             I said it was rhetorical - (tuberculosis) - (1)
                                 Don't you mean, "rederickal"? - (admin)
                             Admin, I'd like a copy of the CD or the ISO. -NT - (folkert) - (6)
                                 I'll throw a copy up on my site. - (admin) - (5)
                                     I wonder if that CD would be good as a VMWare image - (tonytib)
                                     When ever. Its a *NOT* short term thing. -NT - (folkert)
                                     Re: I'll throw a copy up on my site. - (admin) - (2)
                                         Interesting. - (folkert) - (1)
                                             Enjoy. -NT - (admin)
                         Potentially sparse? I don't think so... - (ben_tilly) - (6)
                             I took the ones that start with 0 into account. - (admin) - (2)
                                 I was referring to the step where you... - (ben_tilly) - (1)
                                     Ah, gotcha. Good point. -NT - (admin)
                             For various values of "sparse" - (tuberculosis) - (1)
                                 Unless you have a lot of knowledge... - (ben_tilly)
                             Re: social security numbers can start with 0 - (a6l6e6x)
                         Re: Oh yeah - we want one scripting language - (ubernostrum) - (1)
                             IRLRPD. (new thread) - (Another Scott)
                 NEED to be fixed or MAY need to be fixed? - (ben_tilly) - (1)
                     MAY - (tuberculosis)
                 you dont sell fish anymore, who cares if its fresh? - (daemon)
                 Reversing words is trickier than chars - (Arkadiy) - (6)
                     read the post above yours :-) - (daemon)
                     You're missing an obvious and good solution - (tuberculosis) - (4)
                         ohhh - (Arkadiy)
                         An obvious but NOT necessarily good solution - (ben_tilly) - (2)
                             It gives the results I expect - (tuberculosis) - (1)
                                 I was assuming... - (ben_tilly)
         Well it helps if you learn to spell it - (ben_tilly) - (10)
             I think you'd pass - (tuberculosis) - (9)
                 RemoveSpaces - (Arkadiy)
                 I might pass at that... - (ben_tilly) - (7)
                     Wife's-pathology interviews? >:-) -NT - (Another Scott) - (3)
                         Yes, she'll be a pathological expert -NT - (ben_tilly) - (2)
                             wow! goatrope her into a trip east - (daemon) - (1)
                                 That's up to her - (ben_tilly)
                     If you do decide to come here - (tuberculosis) - (2)
                         Get yourself enough iwetheyers in your dept... - (FuManChu) - (1)
                             Imagine what PARC might have done - (tuberculosis)
         I can answer all those questions. - (jake123) - (3)
             When can you get here? - (tuberculosis) - (2)
                 YEAH! -NT - (deSitter)
                 Ooh yeah - IWETHEY-West, here we come! -NT - (inthane-chan)
         I could take a stab... - (Arkadiy)
         Almost contradictory requests - (tablizer) - (1)
             Not true - (broomberg)
         There seems to be a problem in CS education - (ubernostrum)

Can anyone here PLAY this game??
93 ms