# Entry diagnostic · Bring the foundations

Allow a provisional 25–35 minutes. This is a placement check, not a score to advertise. Use a plain editor and your browser; do not consult the answer guide until you have attempted each task.

1. Given three event objects, use filter and map to produce the titles of events with places greater than zero. Explain whether the original array changed.
2. Write a function that accepts an event and returns its title and location as text. Use destructuring once and explain what it does.
3. Export that function from one module and import it into another. Explain why browser modules should be served over HTTP during the earlier JavaScript course.
4. Describe the three different things that can fail when fetching an expected JSON event list: the HTTP response, the JSON body and the domain shape.
5. Sketch a labeled text field and submit button inside a semantic form. Explain Enter behavior and what preventDefault changes.
6. Describe a storage read that fails safely when JSON is corrupt. Identify which data should never be stored by this practice app.

Readiness rule: explain at least five accurately, including tasks 4 and 5, without copying. If several are unfamiliar, revisit Basic JavaScript modules 05–10 and the HTML/CSS forms lesson before continuing. This course introduces TypeScript and npm, so no prior knowledge of those tools is required. [Separate guide](00-entry-answers.html).
