Midterm 1 Study Guide

These are just representative questions of the kinds of topics you should know. You should study all the reading material and the supplemental books and site links in them.

  1. What kinds of values are allowed in the JSON format?
  2. What is the difference between utf-8 and utf-16?
  3. Describe how a HTTP request looks like, and how an HTTP response looks like
  4. What are the main verbs/methods for HTTP? What operation does each represent?
  5. What are the key principles in a RESTful design?
  6. List some important HTTP headers and their meaning.
  7. List at least 7 HTTP response codes and their meaning.
  8. Two key features of HTTP that have lent to its popularity are that it is addressable and stateless. Explain what these terms mean.
  9. Certain HTTP methods/verbs are called safe and certain are called idempotent. Explain what these terms mean, and list which methods are considered safe and which are considered idempotent (possibly both).
  10. Explain the difference between application state and resource state in a web service.
  11. What are the fundamental operations in a data management system?
  12. What does the acronym ACID stand for? Explain each term.
  13. What is the difference between a data warehouse and a database?
  14. What is a transaction in the database sense?
  15. Explain what a foreign key in a relational database is.
  16. Explain what the process of normalization in a database is, what are the advantages and disadvantages of a normalized database.
  17. You should know all the basic SQL constructions and be ready to write SQL code by hand.
  18. Describe what a JOIN operation in SQL achieves. What is the different between a normal "JOIN" and a "LEFT JOIN"?
  19. Describe what an ORM system is and what are the advantages and disadvantages of using such a system as opposed to making direct database queries.
  20. In an ORM system, what are the three possible kinds of relationships between entities/classes? Give examples of each, and describe how they would each be implemented.