"When is an ARP packet sent?"
I said when the ARP cache doesn't supply an answer; he seemed to be ok with it.
"Which language do you feel most comfortable in? Write a small program, anything you want, in that language."
I wrote a small Perl routine to return the nth fibonacci number. At first, I wrote some notes to myself on the whiteboard about the algorithm, then I started coding it. I initially forgot to put dollar signs on the variables, but when he asked how the routine would be called from another program, I remembered to do that.
"Given an array of integers, and an integer, as arguments, return an index, and partition the array elements in such a way that everything to the left of the index is less than the integer, and everything to the right of the index is greater than the integer."
I asked a couple of questions: whether I was allowed to use temporary variables, and should the array elements be sorted as well as partitioned. This is similar to how quicksort works, so I wrote code to find a pivot element. I made a small mistake which he caught, then we had a discussion about whether pivots were necessary. He seemed to think they weren't. But at least I was able to answer that the runtime complexity for any comparison-based sorting is O(n log n).
"Explain how traceroute works."
I didn't give the best answer, because I was trying to remember how each individual router is determined. I said that it sent out UDP probes, looking to elicit an ICMP time exceeded packet from each router on the path. Then I remembered that the TTL field of the IP packet (containing the UDP packet) needed to be adjusted on each probe so that when it arrives at a router, it is zero, causing an ICMP time exceeded packet to be sent back.
I was asked some other questions about the projects that I had worked on. I was a little sketchy about the Nominum stuff this time; chalk it up to nervousness. The manager asked me what I thought about my skill set would best serve the project; I said my development and testing experience combined with lab experience and customer-facing support. The manager told me that the project would include some wireless protocol conformance testing, which would require me to learn some things about wireless protocol standards.
In summary, I think I could have done worse, but could have done better. I was a little nervous, but fortunately, I didn't get stuck.