Software development final exam: Part 4

This is the fourth and final part of my software development final exam. If you haven't read that introductory blog post, please go read it now.

Networking and systems

  1. What is a primary key?
  2. Describe the packets exchanged during the setup and teardown of a TCP connection.
  3. What is the difference between flow control and congestion control?
  4. Name and describe the four characteristics of ACID.
  5. What is an idempotent operation? Why are they important in distributed systems?

If you would like me to grade your answers, please send an email to with your answers to the above questions along with the following two:

Please note that the questions are intended to be answered under "exam conditions", i.e., without discussion with anyone else, and without consulting Google, Wikipedia, or other sources. I'm running this as an experiment to see how much basic computer science software developers know, and in what areas, so please don't "cheat".

I will be posting the answers along with an analysis of the responses I have received next week. My apologies to people who are still waiting for me to grade their answers — it's taking longer than I expected.

Posted at 2012-10-11 09:15 | Permanent link | Comments
blog comments powered by Disqus

Recent posts

Monthly Archives

Yearly Archives