JUST FOR FUN: In case anyone is curious, here's the essence of the five questions I dealt with today.

Artificial Intelligence: Four-peg tower of Hanoi problem. Exhaustive and heuristic optimal algorithms, estimate time and space complexity, develop heuristic. Not too hard.

Theory: Four strings: a1, a2, b1, b2. Does a string w exist such that it can be constructed by interleaving a1 with a2 *and* b1 with b2. Write a "fast" algorithm to determine whether or not w exists given any input strings. I wrote an exponential recursive algorithm, but it can be done in polynomial time using dynamic programing. Doh!

Databases: Some random database questions about NULL values in aggregate functions. Then some questions about updating through views and the various errors that can occur. Easy, I think.

Architecture: Three four-stage pipelines. Write three programs, each of which will run fastest on one of the three pipelines. Then design a pipeline that executes all three of those programs at the same speed. Then design a pipeline that handles a given program in as few control cycles as possible. Very hard. No one I talked to thinks they got it right.

Networking: Some BS about TCP tear-down protocol. Then some questions about calculating throughput on TCP with some very strange error conditions. I didn't do it since I figured I'd mostly be guessing; some people think they did well on it, however.

Ok, now I'm really going to bed.