Phương thức DOM nào sau đây trả về danh sách tất cả các phần tử có thuộc tính class được chỉ định?
Đáp án đúng:B (document.getElementsByClassName())
Giải thích: Theo slide Ch4 trang 115, getElementsByClassName("class_name") trả về danh sách HTMLCollection tất cả các phần tử có class tương ứng.
Câu 2Chương 3: Định kiểu với CSS
Bộ chọn CSS nào sau đây chọn tất cả các phần tử F nằm sau phần tử E (cùng phần tử cha)?
Đáp án đúng:B (E ~ F)
Giải thích: Theo slide Ch3 trang 33, `E ~ F` (General sibling) chọn TẤT CẢ các phần tử F sau phần tử E. `E + F` chỉ chọn 1 phần tử liền kề ngay sau.
Câu 3Chương 1: Tổng quan Internet & Web
Trong cấu trúc thư mục tiêu chuẩn của một ứng dụng web đơn giản (MyWebSite) như slide Ch1, các tập tin định dạng giao diện nên được đặt trong thư mục nào?
Đáp án đúng:A (Thư mục css)
Giải thích: Theo slide Ch1 trang 40, thư mục css dùng để chứa các tập tin .css; thư mục images chứa ảnh; thư mục js chứa tập tin JavaScript.
Câu 4Chương 3: Định kiểu với CSS
Pseudo-class nào sau đây chọn các phần tử input đang ở trạng thái bị vô hiệu hóa?
Đáp án đúng:C (:disabled)
Giải thích: Theo slide Ch3 trang 36, `:disabled` chọn các phần tử đang ở trạng thái vô hiệu hóa (disabled).
Câu 5Chương 3: Định kiểu với CSS
Đơn vị kích thước phông chữ `rem` trong CSS3 được tính toán dựa trên đối tượng nào?
Đáp án đúng:B (Kích thước phông chữ của phần tử gốc root (thẻ <html>))
Giải thích: Theo slide Ch3 trang 82, 1rem = kích thước font của phần tử root (); trong khi 1em = kích thước font của phần tử cha trực tiếp.
Câu 6Chương 4: Ngôn ngữ JavaScript
Để vẽ một đường tròn tâm (100, 100) bán kính 50 trên thẻ <canvas> bằng ngữ cảnh 2D (ctx), câu lệnh arc() nào sau đây là ĐÚNG?
Đáp án đúng:C (ctx.arc(100, 100, 50, 0, 2 * Math.PI);)
Giải thích: Theo slide Ch4 trang 158, đường tròn là cung khép kín có startingAngle = 0 và endingAngle = 2 * Math.PI.
Câu 7Chương 5: Thư viện jQuery
Phương thức nào của jQuery trả về chiều rộng của phần tử bao gồm cả vùng nội dung, vùng đệm (padding) và đường viền (border)?
Đáp án đúng:D (outerWidth())
Giải thích: Theo slide Ch5 trang 45-46, width() là nội dung, innerWidth() gồm padding, outerWidth() gồm padding + border, và outerWidth(true) gồm cả margin.
Câu 8Chương 3: Định kiểu với CSS
Thuộc tính `border-collapse: collapse;` trong CSS áp dụng cho thẻ <table> có tác dụng gì?
Đáp án đúng:D (Gộp các đường viền của các ô và bảng thành một đường viền đơn)
Giải thích: Theo slide Ch3 trang 127, thuộc tính border-collapse: collapse gộp các đường viền đôi của các ô liền kề thành một đường viền đơn duy nhất.
Câu 9Chương 2: Ngôn ngữ HTML
Để vẽ hình tròn trong SVG, thẻ nào sau đây được đặt bên trong thẻ `<svg>`?
Đáp án đúng:C (<circle cx="200" cy="100" r="80" />)
Giải thích: Theo slide Ch2 trang 86, trong SVG thẻ `` có thuộc tính cx, cy là tọa độ tâm và r là bán kính.
Câu 10Chương 5: Thư viện jQuery
Bộ chọn jQuery nào sau đây dùng để chọn tất cả các phần tử tiêu đề heading từ <h1> đến <h6>?
Đáp án đúng:D ($(":header"))
Giải thích: Theo slide Ch5 trang 11, bộ chọn `:header` của jQuery dùng chọn tất cả các phần tử từ h1 đến h6.
Câu 11Chương 2: Ngôn ngữ HTML
Cặp thẻ nào sau đây dùng để định dạng văn bản hiển thị dưới dạng chữ bị gạch ngang (thể hiện nội dung đã bị xóa)?
Đáp án đúng:A (<del>...</del>)
Giải thích: Theo slide Ch2 trang 33, thẻ làm văn bản bị gạch ngang (xóa), còn hiển thị dạng chèn thêm (gạch chân).
Câu 12Chương 3: Định kiểu với CSS
Bộ chọn CSS `p[title~="test"]` có ý nghĩa gì?
Đáp án đúng:D (Chọn các thẻ p có thuộc tính title chứa từ 'test' (phân cách bởi khoảng trắng))
Giải thích: Theo slide Ch3 trang 34, `[attr~=value]` chọn phần tử có thuộc tính mà giá trị của nó chứa từ value độc lập (phân cách bởi khoảng trắng).
Câu 13Chương 2: Ngôn ngữ HTML
Thuộc tính 'tabindex' trên các điều khiển form có ý nghĩa gì?
Đáp án đúng:A (Quy định thứ tự nhận tiêu điểm (focus) của các control khi người dùng nhấn phím Tab)
Giải thích: Theo slide Ch2 trang 133, tabindex là số nguyên quy định thứ tự các điều khiển nhận tiêu điểm khi nhấn phím Tab hoặc Shift+Tab. Phần tử có tabindex nhỏ nhất sẽ nhận focus đầu tiên.
Câu 14Chương 3: Định kiểu với CSS
Để tạo hiệu ứng chuyển động hoạt hình CSS animation, từ khóa nào sau đây được dùng để định nghĩa tập hợp các khung hình (keyframes)?
Đáp án đúng:A (@keyframes)
Giải thích: Theo slide Ch3 trang 139-140, @keyframes animationname { ... } được dùng để định nghĩa các trạng thái khung hình theo mốc % hoặc from/to.
Câu 15Chương 2: Ngôn ngữ HTML
Thẻ nào sau đây dùng kết hợp với `<input type="text" list="subject_list">` để cung cấp danh sách gợi ý tự động (autocomplete) khi người dùng nhập liệu?
Đáp án đúng:A (<datalist id="subject_list">)
Giải thích: Theo slide Ch2 trang 128, phần tử
Câu 16Chương 3: Định kiểu với CSS
Khi sử dụng thuộc tính `text-overflow: ellipsis;` để hiển thị dấu 3 chấm (...) khi văn bản bị tràn, hai thuộc tính CSS nào sau đây BẮT BUỘC phải đi kèm?
Đáp án đúng:B (white-space: nowrap; và overflow: hidden;)
Giải thích: Theo slide Ch3 trang 78, để `text-overflow` hoạt động bắt buộc phải có `white-space: nowrap;` và `overflow: hidden;`.
Câu 17Chương 4: Ngôn ngữ JavaScript
Kết quả trả về của câu lệnh `Number("abc")` trong JavaScript là gì?
Đáp án đúng:C (NaN)
Giải thích: Theo slide Ch4 trang 24, hàm Number() khi nhận vào một chuỗi không hợp lệ sẽ trả về NaN (Not a Number).
Câu 18Chương 3: Định kiểu với CSS
Màu sắc trong CSS được khai báo dạng `rgba(255, 0, 0, 0.4)`. Giá trị 0.4 ở tham số cuối cùng có ý nghĩa gì?
Đáp án đúng:D (Độ trong suốt/độ rõ (alpha) của màu, có giá trị từ 0 đến 1 (1 là rõ hoàn toàn))
Giải thích: Theo slide Ch3 trang 45, trong rgba, tham số alpha quy định độ rõ của màu từ 0 đến 1 (1 là rõ hoàn toàn, 0 là trong suốt hoàn toàn).
Câu 19Chương 3: Định kiểu với CSS
Bộ chọn `:nth-child(even)` trong CSS có tác dụng gì?
Đáp án đúng:D (Chọn các phần tử con ở vị trí chẵn (2, 4, 6, ...))
Giải thích: Theo slide Ch3 trang 40, `:nth-child(even)` chọn các phần tử con chẵn, còn `odd` chọn các phần tử lẻ.
Câu 20Chương 2: Ngôn ngữ HTML
Trong thẻ <ol>, để danh sách hiển thị thứ tự bắt đầu bằng số 6 thay vì số 1, ta thiết lập thuộc tính nào?
Đáp án đúng:B (<ol start="6">)
Giải thích: Theo slide Ch2 trang 54, thuộc tính start của thẻ
quy định thứ tự bắt đầu của danh sách (ví dụ: ).
Câu 21Chương 2: Ngôn ngữ HTML
Văn bản đặt trong thẻ <address>...</address> mặc định sẽ được trình duyệt hiển thị với định dạng gì?
Đáp án đúng:C (Chữ in nghiêng và có ngắt dòng)
Giải thích: Theo slide Ch2 trang 34, thẻ
chứa thông tin địa chỉ, tác giả, được hiển thị dạng in nghiêng và có ngắt dòng.
Câu 22Chương 2: Ngôn ngữ HTML
Thẻ định dạng nào sau đây làm văn bản được tô sáng (highlight màu vàng mặc định)?
Đáp án đúng:B (<mark>...</mark>)
Giải thích: Theo slide Ch2 trang 33, thẻ làm văn bản bên trong được tô sáng (highlight).
Câu 23Chương 3: Định kiểu với CSS
Trong CSS, bộ chọn `:not(p)` có ý nghĩa gì?
Đáp án đúng:B (Chọn tất cả các phần tử không phải là thẻ <p>)
Giải thích: Theo slide Ch3 trang 39, bộ chọn `:not(selector)` chọn các phần tử không thuộc bộ chọn selector.
Câu 24Chương 4: Ngôn ngữ JavaScript
Để chuyển hướng trang web sang một URL mới mà KHÔNG lưu trang hiện tại vào lịch sử duyệt web (không thể nhấn Back để quay lại), ta dùng lệnh nào?
Đáp án đúng:D (window.location.replace(url))
Giải thích: Theo slide Ch4 trang 102, window.location.replace(url) chuyển đến trang mới và không lưu trang hiện tại vào history.
Câu 25Chương 3: Định kiểu với CSS
Pseudo-element nào sau đây dùng để chèn nội dung vào ngay TRƯỚC nội dung của một phần tử?
Đáp án đúng:C (::before (hoặc :before))
Giải thích: Theo slide Ch3 trang 35, `::before` thiết lập style và chèn nội dung áp dụng ngay trước phần tử chỉ định.
Câu 26Chương 3: Định kiểu với CSS
Khi áp dụng thuộc tính `position: relative;` cho một phần tử HTML và thiết lập `top: 20px; left: 30px;`, phần tử sẽ dịch chuyển như thế nào?
Đáp án đúng:C (Dịch chuyển xuống dưới 20px và sang phải 30px so với vị trí gốc ban đầu của chính nó)
Giải thích: Theo slide Ch3 trang 114, 116, position: relative định vị tương đối so với vị trí gốc ban đầu của chính nó trên trang web và vẫn giữ khoảng trống ban đầu.
Câu 27Chương 4: Ngôn ngữ JavaScript
Sự khác biệt cốt lõi giữa toán tử `==` và `===` trong JavaScript là gì?
Đáp án đúng:A (Toán tử == so sánh giá trị có ép kiểu; === so sánh bằng cả về giá trị và kiểu dữ liệu)
Giải thích: Theo slide Ch4 trang 30, `==` là so sánh bằng có ép kiểu tự động; `===` là so sánh bằng nghiêm ngặt (strict equality) cả giá trị và kiểu dữ liệu.
Câu 28Chương 3: Định kiểu với CSS
Trong Flexbox, để các flex item tự động chuyển dòng (rớt dòng) khi tổng chiều rộng của các item vượt quá chiều rộng của container, ta dùng thuộc tính nào?
Đáp án đúng:B (flex-wrap: wrap;)
Giải thích: Theo slide Ch3 trang 151, thuộc tính flex-wrap: wrap quy định các item chuyển xuống dòng mới khi chiều ngang của flex container không đủ.
Câu 29Chương 4: Ngôn ngữ JavaScript
Trong cơ chế xử lý lỗi của JavaScript, lệnh nào dùng để chủ động ném ra một ngoại lệ (exception)?
Đáp án đúng:C (throw)
Giải thích: Theo slide Ch4 trang 138, lệnh 'throw' dùng để ném ra ngoại lệ dạng chuỗi, số, boolean hoặc object.
Câu 30Chương 1: Tổng quan Internet & Web
Adobe Dreamweaver CC cung cấp chế độ Live View mang lại ưu thế gì cho lập trình viên web?
Đáp án đúng:D (Cho phép kéo thả trực quan các thành phần bằng chuột và tự động sinh mã lệnh HTML/CSS tương ứng)
Giải thích: Theo slide Ch1 trang 31, Live View trong Dreamweaver cho phép thao tác kéo thả trực quan các phần tử và tự động sinh mã lệnh.
Câu 31Chương 4: Ngôn ngữ JavaScript
Phương thức nào của đối tượng Array trong JavaScript dùng để thêm một hoặc nhiều phần tử vào CUỐI mảng và trả về chiều dài mới của mảng?
Đáp án đúng:C (push())
Giải thích: Theo slide Ch4 trang 86, push() thêm phần tử vào cuối mảng; unshift() thêm vào đầu mảng; pop() xóa ở cuối; shift() xóa ở đầu.
Câu 32Chương 5: Thư viện jQuery
Phương thức nào của jQuery dùng để dừng ngay lập tức một hiệu ứng animation đang chạy trên phần tử?
Đáp án đúng:C (stop())
Giải thích: Theo slide Ch5 trang 65, phương thức `$(selector).stop(stopAll, goToEnd)` dùng để dừng các hiệu ứng đang thực thi trên phần tử.
Câu 33Chương 5: Thư viện jQuery
Bộ chọn jQuery nào sau đây dùng để chọn phần tử <li> thứ 4 trong danh sách <ul> (biết chỉ số index bắt đầu từ 0)?
Đáp án đúng:A ($("ul li:eq(3)"))
Giải thích: Theo slide Ch5 trang 11, bộ chọn `:eq(3)` chọn phần tử có chỉ số index = 3, tức là phần tử thứ 4 trong danh sách.
Câu 34Chương 1: Tổng quan Internet & Web
Số hiệu cổng (TCP port) chuẩn mặc định của giao thức HTTP khi truy cập trang web là bao nhiêu?
Đáp án đúng:A (80)
Giải thích: Theo slide Ch1 trang 15, số nguyên 16 bit quy định port chuẩn của giao thức HTTP là cổng 80 (HTTPS dùng cổng 443).
Câu 35Chương 2: Ngôn ngữ HTML
Khai báo nào sau đây là khai báo chuẩn của HTML5 ở dòng đầu tiên của tài liệu?
Đáp án đúng:B (<!DOCTYPE html>)
Giải thích: Theo slide Ch2 trang 15, khai báo là cú pháp thông báo phiên bản HTML5 cho trình duyệt.
Câu 36Chương 4: Ngôn ngữ JavaScript
Cho biết kết quả xuất ra màn hình console của đoạn chương trình JavaScript sau: (Đề thi mẫu - Câu 20) ```javascript var s = "Welcome to JavaFX"; console.info(s.substr(-6)); ```
Đáp án đúng:D (JavaFX)
Giải thích: Theo Đề thi mẫu câu 20 và slide Ch4 trang 63, hàm substr(-6) lấy 6 ký tự tính từ cuối chuỗi ngược lại. 6 ký tự cuối của 'Welcome to JavaFX' là 'JavaFX'.
Câu 37Chương 2: Ngôn ngữ HTML
Để gom các nút radio button vào cùng một nhóm chọn duy nhất (tại một thời điểm chỉ chọn được 1 radio), ta thiết lập thuộc tính nào của các thẻ <input type="radio"> giống nhau? (Đề thi mẫu - Câu 7)
Đáp án đúng:C (name)
Giải thích: Theo Đề thi mẫu câu 7 và slide Ch2 trang 122, các thẻ input radio có cùng giá trị thuộc tính name sẽ tự động được nhóm lại thành một nhóm chọn loại trừ nhau.
Câu 38Chương 3: Định kiểu với CSS
Cho đoạn HTML và CSS: ```html <div> <div class="title">CSS1</div> <div><p class="title">CSS2</p></div> <p><span class="title">CSS3</span></p> </div> ``` CSS: `div > .title { color: red; }` Những dòng chữ nào sẽ có màu đỏ? (Đề thi mẫu - Câu 11)
Đáp án đúng:B (CSS1)
Giải thích: Theo Đề thi mẫu câu 11 và slide Ch3 trang 32, `div > .title` chỉ chọn phần tử có class title là CON TRỰC TIẾP của div. CSS2 là con trực tiếp của p, CSS3 là con của p.
Câu 39Chương 5: Thư viện jQuery
Bộ chọn jQuery nào sau đây dùng để chọn tất cả các dòng lẻ (dòng 1, 3, 5, ...) trong thẻ <table>?
Đáp án đúng:C ($("tr:odd"))
Giải thích: Theo slide Ch5 trang 12, bộ chọn `tr:odd` chọn các dòng ở vị trí lẻ, còn `tr:even` chọn các dòng ở vị trí chẵn.
Câu 40Chương 4: Ngôn ngữ JavaScript
Hàm nào trong JavaScript được dùng để đánh giá và thi hành một biểu thức chuỗi như một đoạn mã lệnh JavaScript?
Đáp án đúng:D (eval())
Giải thích: Theo slide Ch4 trang 37, hàm eval(exp) đánh giá biểu thức chuỗi exp và thi hành trực tiếp như mã JS.
Câu 41Chương 5: Thư viện jQuery
Phương thức duyệt cây DOM nào trong jQuery dùng để tìm kiếm TẤT CẢ các phần tử con cháu (ở mọi cấp bên dưới) thỏa mãn bộ chọn selector?
Đáp án đúng:A (find(selector))
Giải thích: Theo slide Ch5 trang 50, `children()` chỉ chọn các con trực tiếp cấp 1, trong khi `find(selector)` tìm kiếm con cháu ở tất cả các cấp bên dưới.
Câu 42Chương 2: Ngôn ngữ HTML
Thẻ `<meta http-equiv="refresh" content="3; url=file.htm">` đặt trong thẻ `<head>` có tác dụng gì?
Đáp án đúng:A (Tự động chuyển hướng trang web đến trang file.htm sau 3 giây)
Giải thích: Theo slide Ch2 trang 21, thẻ meta http-equiv="refresh" content="3; url=file.htm" dùng để chuyển hướng trang sau 3 giây sang file.htm.
Câu 43Chương 4: Ngôn ngữ JavaScript
Cho biết giá trị của biến z sau khi thực thi câu lệnh sau: ```javascript var z = "Hello" + 5 + 3; ```
Đáp án đúng:D ("Hello53")
Giải thích: Theo slide Ch4 trang 31, khi toán tử '+' gặp chuỗi đầu tiên, các toán hạng sau tiếp tục bị chuyển thành chuỗi và nối vào: "Hello" + 5 -> "Hello5" + 3 -> "Hello53".
Câu 44Chương 1: Tổng quan Internet & Web
Khi triển khai website lên host miễn phí somee.com theo hướng dẫn giáo trình, sau khi upload và giải nén file MyWebSite.zip, thao tác bắt buộc tiếp theo là gì?
Đáp án đúng:C (Xóa tập tin default.asp có sẵn của hệ thống)
Giải thích: Theo slide Ch1 trang 57, sau khi giải nén website lên somee.com, cần xóa file default.asp mặc định của host để website nhận trang index.html.
Câu 45Chương 1: Tổng quan Internet & Web
Giao thức nào được sử dụng để truyền và tải tập tin (file) giữa máy khách và máy chủ trên Internet qua giao thức TCP?
Đáp án đúng:C (FTP (File Transfer Protocol))
Giải thích: Theo slide Ch1 trang 7, FTP dùng để truyền file trên Internet theo mô hình Client/Server, sử dụng giao thức TCP.
Câu 46Chương 3: Định kiểu với CSS
Thuộc tính `background-size: contain;` hoạt động như thế nào khi hiển thị ảnh nền?
Đáp án đúng:A (Tự động co giãn ảnh để nằm trọn trong khung chứa và giữ nguyên tỷ lệ rộng/cao)
Giải thích: Theo slide Ch3 trang 58, `contain` resize ảnh để lấp đầy trong khung và luôn giữ nguyên tỷ lệ rộng/cao (thấy toàn bộ ảnh).
Câu 47Chương 2: Ngôn ngữ HTML
Trong kỹ thuật ImageMap, để định nghĩa vùng liên kết hình chữ nhật trên ảnh, thuộc tính shape và coords của thẻ <area> được khai báo thế nào?
Đáp án đúng:D (shape="rect" coords="x1,y1,x2,y2")
Giải thích: Theo slide Ch2 trang 77, hình chữ nhật có shape="rect" với coords="x1,y1,x2,y2" đại diện cho tọa độ góc trên-trái và góc dưới-phải.
Câu 48Chương 4: Ngôn ngữ JavaScript
Trong JavaScript, khi tạo đối tượng Date: `var d = new Date(2022, 5, 20);`, tham số tháng là 5 đại diện cho tháng mấy trong năm?
Đáp án đúng:B (Tháng 6)
Giải thích: Theo slide Ch4 trang 71, trong JavaScript đối tượng Date đánh chỉ số tháng từ 0 đến 11 (0 là Tháng 1, 5 là Tháng 6).
Câu 49Chương 4: Ngôn ngữ JavaScript
Phương thức nào của đối tượng window trong BOM dùng để đóng cửa sổ trình duyệt hiện hành?
Đáp án đúng:D (window.close())
Giải thích: Theo slide Ch4 trang 97, phương thức window.close() dùng để đóng cửa sổ trình duyệt hiện hành.
Câu 50Chương 2: Ngôn ngữ HTML
Phát biểu nào sau đây là SAI khi nói về cấu trúc thẻ <table> trong HTML? (Đề thi mẫu - Câu 4)
Đáp án đúng:C (Thành phần table chỉ chứa tối đa một thành phần tbody.)
Giải thích: Theo Đề thi mẫu câu 4 và slide Ch2 trang 60, thẻ table chỉ có tối đa 1 thead và 1 tfoot, nhưng CÓ THỂ CHỨA NHIỀU TBODY. Do đó phát biểu 'chỉ chứa tối đa 1 tbody' là sai.