1. What's the difference between SQL, DDL, and DML?
  2. What's a join? An inner join? An outer join?
  3. Describe HTTP.
  4. What's a design pattern?
  5. Can you explain the singleton, vistor, facade, or handle class design pattern?
  6. When you do an ls -l, describe in detail everything that comes up on the screen.
  7. Tell me three ways to find an IP address on a Unix box.
  8. Write a bubble sort.
  9. Write a linked list.
  10. Describe an object.
  11. What does object-oriented mean to you.
  12. Can you explain what a B tree is?
  13. What's the difference between UDP and TCP?
  14. What is ICMP?
  15. What's the difference between a stack and a Queue?
  16. Do you know anything about the protection rings in the PC architecture?
  17. How much hardware/Assembler/Computer Architecture experience do you have.
  18. Explain final, finalize, and finally. When the finalize is invoked? How does GC work? etc.
  19. What is your experience with Servlet and JSP?
  20. What is the Prototype design pattern?
  21. In a system that you are designing and developing, a lot of small changes are expected to be committed at the end of a method call (persisted to the DB). If you don't want to query the database frequently. what would you do?
  22. Give an example in which you will combine several design patterns, and explain how the system can benefit from that.
  23. Why would you apply design patterns (benefits)?
  24. What is a two-phase commit?
  25. What will happen if one of your web-server or appserver crashs during its execution?
  26. What are various problems unique to distributed databases
  27. Describe the file system layout in the UNIX OS
  28. what is disk interleaving
  29. why is disk interleaving adopted
  30. given a new disk, how do you determine which interleaving is the best
  31. give 1000 read operations with each kind of interleaving determine the best interleaving from the statistics
  32. draw the graph with performace on one axis and 'n' on another, where 'n' in the 'n' in n-way disk interleaving. (a tricky question, should be answered carefully)
  33. Design a memory management scheme.
  34. What sort of technique you would use to update a set of files over a network, where a server contains the master copy.