All LPI exams
LPI 030-100: Web Development Essentials
What the 030-100 exam covers and what it costs, with a free 30-question practice test and an explanation for every answer.
- Duration
- 60 minutes
- Questions on the exam
- 40
- Level
- Foundational
- Topic areas
- 5
- Free practice questions
- 30
- Full question bank
- 112 questions
What the 030-100 exam covers
The topic areas in our 030-100 question bank, with each one's share of the 112 practice questions.
| Topic | Share | Questions |
|---|---|---|
| 034 JavaScript Programming | 25% | 28 |
| 032 HTML Document Markup | 21% | 23 |
| 033 CSS Content Styling | 20% | 22 |
| 035 NodeJS Server Programming | 20% | 22 |
| 031 Software Development and Web Technologies | 15% | 17 |
030-100 cost and format
| Exam code | 030-100 |
|---|---|
| Certification | Web Development Essentials |
| Vendor | LPI |
| Level | Foundational |
| Status | Active |
| Languages | English, Japanese |
| Delivery | Pearson VUE test centers and online via OnVUE |
Last checked November 10, 2026 against the official LPI exam page.
030-100 sample questions
The first 5 questions from the free practice test. Open a question to see the answer and why it is right.
Question 1034 JavaScript Programming
A developer declares const settings = { theme: 'dark' }; and later in the same function runs settings.theme = 'light';. What happens?
- AAn error is thrown, because const values can never be changed
- Bsettings becomes undefined, because const values are read-only
- CThe property changes, because const only blocks reassigning the binding
- DThe write is ignored, because const objects are frozen
Show answer and explanationHide answer
Correct answer: Cconst prevents reassigning the variable itself, but the object it refers to remains mutable, so the property update succeeds. The other options confuse const with Object.freeze, which is a separate mechanism that makes an object's properties read-only.
Question 2032 HTML Document Markup
Which element must appear in the head section of an HTML document to set the text shown in the browser tab?
- AThe title element
- BThe meta element
- CThe header element
- DThe h1 element
Show answer and explanationHide answer
Correct answer: AThe title element in the head provides the document title that browsers show in tabs and use in bookmarks. h1 is a visible heading in the body, meta supplies machine-readable metadata such as the character set, and header is a body-level element for introductory content.
Question 3033 CSS Content Styling
A stylesheet contains p.intro { color: navy; } and #hero p { color: red; }. A paragraph with the class intro sits inside a container with the id hero. Which color does the paragraph show?
- ANavy, because the class selector is listed first in the stylesheet
- BNavy, because a class selector is more specific than an element selector
- CRed, because an id selector outweighs any number of class selectors
- DBlack, because two conflicting rules cancel each other out
Show answer and explanationHide answer
Correct answer: C#hero p has one id and one element (1,0,1), while p.intro has one class and one element (0,1,1), and an id outranks any number of classes, so red wins. Source order only decides between rules of equal specificity, and conflicting rules never cancel each other out.
Question 4035 NodeJS Server Programming
A developer wants to share a helper function from one Node.js file with another file in a CommonJS project. Which pattern is appropriate?
- AAssign it to module.exports in the helper and call require in the other file
- BCopy the function text into the other file each time it is needed
- CCall the helper through the window object from the other file
- DPlace the helper in the HTML file and load it with a script tag
Show answer and explanationHide answer
Correct answer: Amodule.exports publishes a value from a CommonJS module, and require loads it where it is needed. Copying code duplicates it and makes changes hard to maintain, while window and script tags belong to the browser and are not part of Node.js module loading.
Question 5031 Software Development and Web Technologies
An online store's checkout page sends a new order to the server. The team needs a request method that changes server-side state, is neither safe nor idempotent, and could create duplicate orders if a user submits the form twice. Which HTTP method fits this request?
- AGET
- BPOST
- CPUT
- DDELETE
Show answer and explanationHide answer
Correct answer: BPOST is used to submit data that creates or changes server-side state, and it is neither safe nor idempotent, so repeating it can create duplicates. GET is safe and idempotent, while PUT and DELETE are idempotent, so repeating them leaves the same final state.
How to prepare for 030-100
- Read the official LPI outline first (exam page), so you know exactly what is in scope.
- Give the most time to 034 JavaScript Programming and 032 HTML Document Markup: together they make up 46% of the questions.
- Take the free 30-question practice test and note which topics you miss.
- Go back to the weak topics, then test again. A practice score shows where to study; it does not predict your exam result.
Full 030-100 question bank
All 112 questions with answers and explanations, as a PDF, an online practice exam, or both.
The full 112-question bank for 030-100 is in final review. The free practice test is open now.
Start the free practice test030-100 FAQ
Related exams
| Exam | Vendor | Level |
|---|---|---|
| 010-200: Linux Essentials | LPI | Foundational |
| 101-500: LPIC-1 Exam 101 | LPI | Associate |
| 102-500: LPIC-1 Exam 102 | LPI | Associate |
| 701-200: DevOps Tools Engineer | LPI | Associate |
| 020-100: Security Essentials | LPI | Foundational |
| DVA-C03: AWS Certified Developer - Associate (updated) | AWS | Associate |