Live data from Hacker News

I was asked to crack a program in a job interview

erenyagdiran.github.io

161–170 of 309 posts

Re: I was asked to crack a program in a job interview

#161
post #84

Real-life tests are THE best thing to send job candidates. It scales well (you don't have to spend personal hours on them) and you get real information. This applies even to sysadmins. We have a favourite: set up a VM with a slightly-broken application in a slightly-broken Apache and Tomcat, and get them to ssh in and document the process of fixing it. Even people who aren't a full bottle on Tomcat will give useful i…

A nice simple test that I like to give as a first-wave elimination: Have a computer setup and running (all properly configured). Pull the network cable out of the jack a little bit (so it looks like it's plugged in but isn't). Ask the person being interviewed to show me an IP being used by microsoft or google. (so ping/dig/nslookup/etc) Let the person know that (a) the computer is in working condition (i.e. no driver…

> 90% of participants just try to open a web-browser and type in "what is the IP address of google"

Oh god.

Re: I was asked to crack a program in a job interview

#162
post #44

what's a good, simple intro to the basics of this kind of cracking for someone who is an experienced programmer, knows some C, etc, but has little system level or assembly experience?

I would really suggest purchasing a good book about it. From my point of view, I would go for "Hacking: The Art of Exploitation, 2nd Edition" from Jon Erickson which goes in depth about how to crack programs using gdb and other tools. It's really a wonderful book if you want to learn more about the world of cracking in general, and it doesn't require much prior security experience.

Quick link to Amazon: http://www.amazon.com/Hacking-The-Art-Exploitation-Edition/d...

Re: I was asked to crack a program in a job interview

#163
post #89

I have a pretty cool crackme that I programmed and I wanted to offer it as a puzzle to some candidates, but without the proper reverse engineering tools, I think most candidates would really struggle -- especially if you're looking for just general developers. Haven't given it much thought past this.

If it's no relevance to the job, you're only testing that they share your interests.

Which might be a useful tool to attract candidates, but not to select them. (Compare exploratory data analysis.)

Re: I was asked to crack a program in a job interview

#164

Earlier quoted context omitted.

True. Testing for sysadmins is easier: you're after a way of thinking . So a competence test ("can you do what you claimed?") with a freeform "keep notes on your thinking along the way" is quite informative. You still need to interview, of course. I confess I don't know how I'd apply this to developers. They pass fizzbuzz, OK - what do you do next?

For developers that have the academics, but not the experience, I've always said that the industry needs to adopt the apprenticeship programs that other trades have. Where you do a mixture of work for the company, and trade schooling run by the industry to teach you the specific skills you need. For example, an IBEW apprentice will do a lot of gruntwork on the job site. Pulling wire, for instance. But they'll get exp…

What would the programming equivalent of pulling wire be?

Re: I was asked to crack a program in a job interview

#165
post #164

Earlier quoted context omitted.

For developers that have the academics, but not the experience, I've always said that the industry needs to adopt the apprenticeship programs that other trades have. Where you do a mixture of work for the company, and trade schooling run by the industry to teach you the specific skills you need. For example, an IBEW apprentice will do a lot of gruntwork on the job site. Pulling wire, for instance. But they'll get exp…

What would the programming equivalent of pulling wire be?

Technical support.

Re: I was asked to crack a program in a job interview

#166
post #84

Earlier quoted context omitted.

A nice simple test that I like to give as a first-wave elimination: Have a computer setup and running (all properly configured). Pull the network cable out of the jack a little bit (so it looks like it's plugged in but isn't). Ask the person being interviewed to show me an IP being used by microsoft or google. (so ping/dig/nslookup/etc) Let the person know that (a) the computer is in working condition (i.e. no driver…

>Let the person know that (a) the computer is in working condition (i.e. no drivers are missing) (b) the network works (i.e cables are good, switch is good, DHCP is enabled, etc.) So you lie to them? I don't understand what the point of this test is. My first inclination is to open up a term and ping google but I would be pretty annoyed that your "first-wave" test involved actively lying to a candidate.

>So you lie to them?

He's lying to the same extent as the office employee whose internet connection ceased to work while everything looked plugged in/working as far as the computer is concerned... at which point the BOFH comes over to debug the situation, unplugs your rj45 from the socket, plugs his laptop's in and now his laptop has a blazing fast internet connection...

He then plugs your ethernet connector back into the wall, firmly this time, and now you have internet too even though you were allegedly plugged in, 'freshly rebooted', etc.

Diagnosis: the janitor yanked the cable hard enough to dislodge it but not to unplug it and didn't even know he/she did that.

Re: I was asked to crack a program in a job interview

#168
post #84

Earlier quoted context omitted.

A nice simple test that I like to give as a first-wave elimination: Have a computer setup and running (all properly configured). Pull the network cable out of the jack a little bit (so it looks like it's plugged in but isn't). Ask the person being interviewed to show me an IP being used by microsoft or google. (so ping/dig/nslookup/etc) Let the person know that (a) the computer is in working condition (i.e. no driver…

>Let the person know that (a) the computer is in working condition (i.e. no drivers are missing) (b) the network works (i.e cables are good, switch is good, DHCP is enabled, etc.) So you lie to them? I don't understand what the point of this test is. My first inclination is to open up a term and ping google but I would be pretty annoyed that your "first-wave" test involved actively lying to a candidate.

If this is a user-facing tech-support position, then it is a hard job requirement that the candidate be able to handle being lied to by the user. I don't care what they say, they didn't check the cable, they didn't reboot, and they most certainly didn't not do anything that might have caused the problem.

Re: I was asked to crack a program in a job interview

#169

Earlier quoted context omitted.

Not sure why you're getting downvoted, but debugging a "crack me" app while running as root is probably a bad idea. Even if this is inside a VM, it might give the wrong message to someone wanting to try this for themselves.

You could also attack the VM: http://www.cvedetails.com/vulnerability-list/vendor_id-93/pr...

Christ I had no idea Virtualbox was that riddled with holes. I wonder how many of those have been fixed.
Post reply on HN