Wednesday, March 30, 2011

The questions and the aftermath

After the interview that changed me from believing I was masterful wizard of the cli, into realizing I was more like Schmendrick before he met the Unicorn. I thought I would share some of the questions, and what I've been doing to improve my knowledge. This isn't a comprehensive list of all the questions as the interview is mostly a blur, as mentioned before I usually knock technical interviews down like dominos. This one I didn't and I can only blame my soft knowledge of linux, which I greatly exaggerated in my own mind. For the sake of brevity, and sort of for accuracy as well, when I got one right he seemed to nod, and write the extent to which I felt the mastered the question down, so I'll say nod for those, and for the ones I got wrong, he just put a tick mark next to that.

Preliminary non Technical Questions

Can you pass a drug test?


Are you sure?


It's a hair test.

I nodded.

THEY WILL FIND A HAIR.(I'd like to note he did in fact raise his voice)

I'd like to note that during the interview I was pretty "clean" looking. I had shaved, cut my hair, was wearing a shirt and tie, however any other given day perhaps this question would require more than one pass, as I do usually sport long hair and neck beard, wear t-shirts, and generally look of malaise. He could have been reading my body language or he could have just not wanted to deal with a 2 hour technical interview that day, or with someone who he thought wasn't going to pass anyway. I don't know.

He asked if I could pass a credit check.

He asked if I could pass a background check.


The Technical Terror Interview

Like I said these are the questions I remember, as close to the order I remember. The interview was two hours, so obviously quite a few are missing. Also I started by adding that some of the facts on my interview were padded or inaccurate, because my recruiter had rewritten it. I went over these with him so that if necessary we could cancel the interview. However, he didn't seem to mind the areas I was weak in.

Have you ever compiled the linux kernel?

I have it's been longer than 5 years ago, it was for a driver issue or something like that, if I remember correctly. It's been a long time.


What are the tools required to compile the linux kernel?

Like I said it's been a long time, I don't really remember, I'm sure gcc is involved at some point.


Describe the linux boot process after it is handed over from the bios

Note: Panic set in, I lost my shit, why didn't I know this, I know I should know this.

So I hate to admit this but I don't know,if I had to guess it would go to the boot manager, then probably the kernel, then the kernel modules then kudzu at some point maybe.*sigh*


This is probably where the gaps start but I regain conciseness somewhere about 30 minutes-ish later, I know I said something about apache during this time period that seemed to tickle his fancy, but that's about all the good that thirty minutes had

What editor do you use?....Oh well of course I know what you use.


I'm guessing it's the only real editor to you?

Well it's my favorite, but I have respect for my emacs brethren

At this point, a calm in the storm, we had an editor conversation where we both seemed to agree on a lot of it. Mostly it was about how to teach those new to vim how to use it. We also did a little nano slamming.

What is a zombie process?

A process that has lost communication with it's parent and probably needs to be killed.

Half Tick, Half Nod, slight writing.

He explained that the parent process to had died and he asked me how to kill it.

Probably a kill -9.



Just a kill or kill -4

Do you know the difference between kill -9 and kill

I believe a kill -9 is forcing a program to close and a kill is more like asking the program to close

Not sure if I got a tick or a nine

I feel quite defeated at this point.

Can you name any other signals?


Can you tell me about the runlevels

Not a whole lot I know there was for halt.(I do know more about the runlevels but at this point my brain was on a tactical retreat, and if the doors didn't have retinal scanners I would have run from the building like a little girl....ok ok the retinal scanners were only to get into the room, it was the social contract that kept me there.)


Another black out.

What is cross site scripting?

I was defeated, I was non caring. I answered with the enthusiasm of a mental patient on so much thorazine, his drool would drool.

I don't know, javascript, steal cookies something.

It seemed that seeing my interested fade, had somewhat diminished the perverse pleasure he may have been taking in the interview. The questions got a little stranger.

What's the farthest you could get in a MySQL injection attack?

I start pontificating on UNIONS and LIKE's and REGEXP's and he knew he had me back in the game.

No tick or nod, I don't think this was on his questions sheet

Do you know what ARP poisoning is?

Boy Howdy, I answered this with aces, explaining the arp protocol, and what programs to use to do this. How to do this on linux, windows, or how to write something in perl that would accomplish the task. Then I told him how you could even fake an ssl cert.

This peaked his interest. He said "But wouldn't there be a nag screen saying the cert wasn't valid. Certainly I wouldn't log into my bank if such a screen popped up"

"Neither would I, but would she" I pointed to the secretary that was several glass walls between us.


He started a network question: If I had a subnet mask of 240...

Before he finished I said "16 hosts, 16 networks"


We talked about VLSM for several minutes

We got into an argument about UDP, I had this half thought out theory about offloading the handshake to the processor to conserve bandwidth(yes I realize I was wrong now, and did admit it in the interview). It was terrible, I argued with an interviewer with a half baked theory.

He congratulated me on knowing a lot about networking anyway, and said a lot of linux admins were weak in that area.

Name three ways to restart a linux box?

Again I had lost interest. "Umm, shutdown -r now, and probably one of the runlevels"

I can tell you started using linux a long time ago, most newer guys don't know shutdown -r.

This was his final and what I considered second compliment.

He asked me if I had any questions. I said I felt dumb. He said "Sometimes an interview is just to let you know, you aren't qualified for the job."

What am I doing about?

Well I purchased Linux Kernal in A Nutshell for the kindle app on my android and I've been reading it. I'm going to try and complete a tutorial this weekend. I have bookmarked a webpage that is the equivelent of man page for linux signals, and the wiki page for run levels of linux. I took this interview because my contract was running out on a web programming job(perl, but in a windows enviroment). I'm also going to get more organized and focused on what I need to be learning.

I'm also not going through recruiters unless I must. Unless it's this guy, The Antipimp , he's a friend and trustworthy. I've since learned my current recruiter(not the one that set me up on my interview/lied on my resume), is making around .7 what I make on every hour. So for the sake of arguement and easy math(ie these numbers are false), if I'm making 30 dollars every hour, my recruiter is making 18 every hour.*

So that's where I'm at. If you have suggestions on what to learn/read/do, please let me know.

* I just redid the math and it's actually closer to .8.


stanislav said...

Don't worry man. On my first interview it was the same for me. But I was lucky and they took me on board My friend, who used to work as head admin and built the network from the ground up at that particular company said that I'm a smart guy and I will learn it fast. When you get a job where you will work with UNIX on a daily basis you will learn it quite fast. Mainly if you have good colleagues who are willing to teach you a thing or two ;).

izaac said...

Take a look at this book is awesome, it explains you everything about Unix imho.

Mike Q. Bailey Esquire said...

What kind of company were you applying with?