Log in

No account? Create an account

Previous Entry | Next Entry

Tellabs interview

I had an onsite interview today at Tellabs for a contract position developing and testing IPv6 over 3G (wireless) protocols. Three people interviewed me separately; two developers and one manager. I don't have time to write all of the details, so here are some Q&A:

"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.


Latest Month

July 2018
Powered by LiveJournal.com
Designed by Tiffany Chow