"You are working as a QA Engineer now, correct?"
I said that was my title at Nominum, but I had not been working there since Feb 2006. (As an aside, this seems to be a fairly common mistake; almost everyone asks me if I am still at Nominum, even though I clearly delineate dates worked on the application forms, as required.)
"Which languages do you feel most comfortable with?"
Perl and C.
"What is a volatile variable (in C)?"
I didn't remember; said I'd have to consult the C programming language manual; he said it was ok.
"What is the order of system calls you have to make in Unix for a client to connect to a server?"
I had one of those "I got stuck" moments. I knew I had to use socket() and connect(), but was vague on bind() and setting the src and dst addresses. This is something I used to do all the time, but haven't done recently. Something to review for the future. I might not have gotten stuck if the Q&A wasn't so rapid.
"I see you've used the pcap library. What does the pcap_open_dead() routine do?"
Said I didn't remember and would have to consult the tcpdump online documentation. (Due to his accent, I actually thought he said "dev" instead of "dead". At any rate, I honestly don't know anyone who memorizes this level of detail.)
"What is the difference between big and little endian machine representations?"
(Fortunately, this is one of those things I go over mentally before an interview; first time it's been asked, however. +1 for me.) For LE, the address increases with the numeric significance of the quantity. For BE, as the address increases, the numeric significance decreases.
"Is (some OS – can't remember) big endian?"
Said I wasn't sure; should've asked which hardware it was running on.
"How would you make sure something like an IP address what correctly transmitted from different endian machines?"
Said to use ntohs (this was the first thing that came to mind); added ntohl for 32 bit IP addresses once I realized my mistake.
(Some generic question about networking projects I've worked on)
Talked about congestion avoidance using Cisco AGS.
What is a common word used to describe BGP?
Wasn't sure; said I didn't know much about it and would need to check references. (Admittedly, as part of the IPv6 stuff I'm going over, I'm learning about BGP; there is a lot of information. I gave a partial explanation of autonomous systems; don't remember what I said. My guess is he was looking for something like policy-based routing. As I am now studying from the Practical BGP book, some things about BGP that I actually knew are coming back to me.)
(At this point he made a side comment of how he didn't mind interviewing me, but in his group, there is a lot of material to cover, and that based on what I'd said so far, I'd have a steep learning curve. Wanted to know how I felt about that.)
I said I'd do whatever it takes to get up to speed.
"Which have you used more, RCS, CVS, or Subversion?"
In order of most to least: RCS, CVS, Subversion.
"How does Subversion differ from CVS?"
Said you can use the former to store nontextual objects (binaries, executables, etc.), but not the latter. Apparently, that's not true anymore. It was true when I last used Subversion at Nominum.
"What is a common complaint about RCS that doesn't happen in CVS?"
Said I couldn't remember offhand; was trying to think of something having to do with write conflicts; said something to that effect. Apparently only one person at a time can check out a file with locking with RCS. I'd forgotten that.
"What's your favorite editor?"
Said I use several depending on what I'm doing, e.g. using emacs when replying to a mutt email.
"In vi, what command do you use to replace some text with some other text throughout the file?"
I said :s/original text/replacement text/g. He asked if it would replace everything in the file, and I said yes, because the g stands for global. But after the interview was over, I started up vi, and immediately typed :1,$s/original text/replacement text/g, which is the correct answer. I don't understand why I did the right thing at the keyboard automatically, but did not say the right thing during the screen. (The g does replacements throughout the same line but not all lines; it's the 1,$ that constitutes all lines in the file.)
"What other routing software have you used, such as from open-source projects?"
Said I'd used gated in the past (that must sound antediluvian). He asked if I'd used Zebra; I said I'd looked at it but never used it. Mentioned that I'd used gated back in the late 1980s and early 1990s before BGP became widely used and that it featured other protocols such as RIP, EGP, and HELLO that were primarily used.
"On a scale of 1-10, how would you rate yourself as a Perl programmer?"
6, because I occasionally need to reference books or man pages. (Based on a Google screen some time ago, I have decided not to rate myself higher than 6 on anything that I don't have detailed recall of. Their interpretation of 7 or greater is "if you could write a book on it (or did)". (There are people who work there who author widely referenced books who can ask detailed questions.)
"Same for awk."
"When would you use awk instead of Perl?"
I wouldn't use awk if I could use Perl instead, because everything I can do in awk, I can do in Perl.
"SQL, on a basis of 1-10."
1, because I would use reference materials quite often. (I haven't worked on a project where I had to do a lot of relational database programming, so I've never needed to develop SQL skills or expertise.)
"Which OS do you like best?"
Said I was fairly agnostic, particularly w/regards to flavors of Unix and Linux.
"Which version of Unix do you feel most comfortable with?"
Said FreeBSD, because I use it regularly on my ISP account.
"What's the difference between FreeBSD, OpenBSD, and NetBSD?"
Said I didn't remember, or words to that effect.
"Do you have any questions for me?"
Asked him what "a day in the life" in his team is like. There are four people in his group – he is the primary software developer. Asked if he or members of his team participate in NANOG. He doesn't, but another guy does; others in groups that maintain the network configurations do also. Asked what their IPv6 plans are; they have some.
That concluded the screen. He said he'd talk to his manager and see if an on-site interview could be set up. So, we'll see what happens. In the meantime, I will continue to study IPv6, BGP, and related topics. At least this time, what I'm working on for my own sake is applicable to a possible f2f interview.