Foundations: Review Questions

Self-Study & Discussion

These questions are for self-study and class discussion. They cover the 21 sections of the Foundational Concepts overview and are organized by topic clusters rather than one-to-one per section. No answers are provided — the goal is to test your understanding of the mental models, not to memorize facts.

The questions mix conceptual understanding, scenario-based judgment, and common misconceptions.

Cluster 1: The Web's Foundation (Sections 1–5)

  1. Explain the difference between the Internet and the Web. Why does the distinction matter for a web developer?
  2. A colleague says "HTTP handles reliable delivery of packets." What's wrong with this statement?
  3. When you type a URL and press Enter, approximately 15 steps occur. Which steps happen before any HTTP data flows? Why are they necessary?
  4. What are the three protocol pillars of the Web? If you had to remove one, which would break the web most fundamentally, and why?

Cluster 2: The Resource Model & Standards (Sections 6, 9)

  1. What does "1 URL = 1 resource" mean? Give an example of a web application that violates this principle, and explain the consequences.
  2. The same URL (/users/42) can return HTML or JSON. What HTTP mechanism makes this possible, and what headers are involved?
  3. Why did XHTML fail? What does its failure teach us about the relationship between standards bodies and practitioners?
  4. "Prefer protocols over platforms." Explain this principle with a concrete example.

Cluster 3: Architecture & Trade-offs (Sections 7–8, 10–11)

  1. Name the five pillars of web technology. Which three does this course focus on?
  2. A developer wants to use a 2MB JavaScript framework for a company blog. Using the UX vs. DX framework, argue for or against this choice.
  3. What is the trust boundary between client and server? Why must validation happen on the server even if the client already validates?

Cluster 4: The Layered Model & Sites vs. Apps (Sections 12–13)

  1. Draw (or describe) the four-layer model. What happens to the layers above if the Structure layer breaks?
  2. A client asks you to build an "online brochure" for their restaurant. Another client wants a real-time collaborative document editor. Using the sites-vs-apps spectrum, describe how your architectural approach would differ.
  3. What is a "static dynamic site"? Why is it considered needless complexity?

Cluster 5: HTML, Forms & Security (Sections 14–16)

  1. Why is browser error tolerance considered both a strength and a weakness of HTML?
  2. Explain the difference between a GET form and a POST form. When would you use each?
  3. A junior developer says "the password field is secure because the characters are hidden." Explain why this is wrong and what additional measures are needed.
  4. Your page includes a third-party analytics script. What can that script access in the browser? What are the risks?

Cluster 6: Execution Models & Philosophies (Sections 17–18)

  1. Compare the "server-side scripting" model (PHP) with the "code-as-server" model (Node.js). How does the execution model affect the developer experience?
  2. Why did client-side plug-ins (ActiveX, Java Applets, Flash) all die? What replaced them?
  3. Explain progressive enhancement with a concrete example. Start with the base HTML and describe what each added layer provides.
  4. When is graceful degradation more appropriate than progressive enhancement? Give a specific scenario.

Cluster 7: Architecture Generations & The Big Picture (Sections 19–20)

  1. Describe the evolution from Gen 1 (server-side focused) through Gen 2 (Ajax). What specific web pattern did Ajax break, and how was it fixed?
  2. "All architecture generations remain legitimate." Do you agree? Support your answer with an example where an older generation is the better choice.
  3. What does "form follows function" mean in web architecture? Describe the three-step decision process for choosing an approach.
  4. Why are the "joints" between technologies more dangerous than the individual technologies themselves? Give an example.
  5. "Your value as an engineer comes from understanding how systems fit together, not from knowing the syntax of every framework." Do you agree or disagree? Defend your position.