---
# System prepended metadata

title: Web giữa kỳ

---

# Web giữa kỳ new


## 1. Thẻ HTML nào trong các thẻ sau đây không dựa vào ngữ nghĩa (semantic based)
- [ ] `<var>`
- [ ] `<kbd>`
- [x] `<strike>`
- [ ] `<code>`

### Giải thích:
- Semantic element là những phần tử mô tả rõ ràng ý nghĩa về cấu trúc của phần tử đó đối với các trình duyệt và lập trình viên. 
- Nói một cách dễ hiểu hơn có nghĩa là chỉ cần đọc tên các element này là chúng ta có thể hiểu được nội dung bên trong element này nói về cái gì.
- `<var>`, `<kbd>`, `<code>` đều là semantic element vì nó biểu hiện là hiển thị code cho chúng ta

## 2. Làm cách nào để gọi một hàm “myFunction()” trong JavaScript ?.
- [x] `myFunction()`
- [ ] `call function myFunction()`
- [ ] `new myFunction()`
- [ ] `call myFunction()`

## 3. Giao tiếp giữa trình phục vụ web (web server) và trình phục vụ ứng dụng (application server) được thực hiện thông qua:
- [ ] Operating System Interface
- [ ] Message Passing Interface (MPI)
- [x] Common Gateway Interface (CGI)
- [ ] Shared Memory Interface
- [x] Application Programming Interface (API)

## 4. Thuộc tính CSS nào được sử dụng để đặt màu chữ?
- [x] color
- [ ] fgcolor
- [ ] bgcolor
- [ ] textcolor

## 5. Khi sử dụng thuộc tính padding, có thể sử dụng giá trị âm không?
- [ ] Có
- [x] Không
## 6. Liên kết giữa dãy các đối tượng nguyên mẫu được gọi là
- [ ] Dãy nguyên mẫu
- [ ] Lớp nguyên mẫu
- [ ] Ngăn xếp nguyên mẫu
- [x] Chuỗi nguyên mẫu

### Giải thích:
- Lấy nguyên mẫu của đối tượng
    - Object.getPrototypeOf(g);
- Đối tượng nguyên mẫu lại có nguyên mẫu của nó. Quan hệ nguyên mẫu tạo nên chuỗi nguyên mẫu (prototype chain).
    - a --> b --> c --> ... --> Object.prototype --> null

## 7. Khai báo nào sau đây hợp lệ?
- [ ] `<body><style></style></body>`
- [ ] `<head></head><body></body><style></style>`
- [x] `<head><style></style><style></style></head>`
- [ ] `<head></head><style></style><body></body>`

## 8. Đâu là thuộc tính của đối tượng `<iframe>`
- [x] src
- [ ] href
- [ ] tpe
- [ ] link

### Các attribute của `<iframe>` là:
- allow
- allowfullscreen	
- height
- loading	
- name
- referrerpolicy
- sandbox
- src	
- srcdoc
- width	

## 9. Để kiểm tra biến “a” không phải là “null”, sử dụng câu lệnh nào sau đây?
- [ ] if (a!null)
- [x] if (a !== null)
- [ ] if (!a)
- [ ] if (a != null)

### Giải thích:
- 
```
var a = undefined;
console.log(a !== null); // true
console.log(a != null); // false
```
- Lưu ý rằng giá trị của `undefined` là **false** 


## 10. Sự kiện onclick xảy ra khi nào?
- [ ] Khi một đối tượng trên giao diện có tâm điểm
- [x] Khi người dùng kích chuột vào một đối tượng trên giao diện
- [ ] Khi người dùng di chuột qua một đối tượng trên giao diện
- [ ] Khi một đối tượng trên giao diện mất tâm điểm

## 11. Đoạn mã nào sau đây thực hiện cập nhật nội dung của đối tượng timestamp khi người dùng kích chuột vào nó?

- [ ] `timestamp.onLoad = function() { this.innerHTML = new Date().toString(); } `
- [x] `timestamp.onclick = function() { this.innerHTML = new Date().toString(); } `
- [ ] `timestamp.onclick = function() { innerHTML = new Date().toString(); } `
- [ ] `timestamp.onload = function() { this.innerHTML = new Date().toString(); } `

## 12. Phương thức nào sau đây của đối tượng window được sử dụng để hiển thị một thông báo?
- [ ] promt()
- [ ] message()
- [x] alert()
- [ ] showMassage()

### Giải thích:
- alert(): Thông báo 
- promt(): Nhập dữ liệu


## 13. Đâu KHÔNG phải là cách chính tắc sử dụng `<frame>`?

- [ ] Cho nội dung chung
- [ ] Cho thể hiện mục lục trang web
- [x] Cho dàn trang
- [ ] Cho nội dung HTML chứa rất ít siêu liên kết.

### Giải thích:
-  Thẻ `<frame>` được sử dụng để tạo ra một bộ khung chứa một tài liệu nào đó, ví dụ như một trang web khác, một tập tin PDF hoặc một hình ảnh 1. 
-  Thẻ `<frame>` thường được sử dụng để nhúng các tài liệu khác nhau vào trong một trang web.

## 14. Kết quả in ra console của đoạn mã sau là gì?

```
function getVowels(str) {
    var m = str.match (/[aeiou]/gi) ;
    if (m === null) {
        return 0;
    }
    return m.length;
}

ceonsole.log(getVowels('sky'));
```

- [x] 0
- [ ] 3
- [ ] 5
- [ ] 7

## 15. placeholder có thể là thuộc tính của các đối tượng sau, NGOẠI TRỪ.
- [ ] `<input>`
- [x] `<option>`
- [ ] `<textarea>`

### Giải thích:
- Thuộc tính placeholder được sử dụng để cung cấp một gợi ý ngắn về giá trị được mong đợi của một trường nhập liệu. 


## 16. Cho khai báo HTML như sau:
```
<div class="a">ABC</div>

<div class="a">DEF</div>
<div>GHI</div>
```

Trình diễn các đổi tượng HTML trên giao diện của trình duyệt có dạng như sau:
<div style="display: flex">
    <div style="padding-right: 100px">
        GHI    
    </div>
    <div style="">
        DEFABC
    </div>
        
</div>

Các ký tự được hiền thị trên cùng một dòng. "GHI" hiển thị bên trái cửa số trong khi "DEF ABC" hiển thị  bên phải cửa sổ.

Khai báo CSS bảng định dạng ".a” có nội dung là:
- [ ] .a{float: left}
- [ ] .a{position:relative; right:0px;}
- [x] .a{float: right}
- [ ] .a{position:relative; left0px;}


## 17. Với CSS, lựa chọn đồi tượng có class="test” như thế nào?
- [x] .test
- [ ] test
- [ ] *test
- [ ] #test

## 18. Khi chạy đoạn mã JavaScript sau

```
function Writing(c) {
    var content = c;
    this.getContent = function() {
        return content;
    }
}

function Post(c, d) (
    Writing...
    var date = d;
    this.toString = function() {
        return ...;
    };
}

var p = new Post("post bla bla", new Date()) ;
console.1og (p.toString());
```

Kết quả in ra console là

`Post bla bla,Tue Aug 07 2018 16:15:56 GMT‡0700 (+07)`

Hỏi các câu lệnh còn thiếu (Writing...; và return ...;) có nội dung là gì?

- [ ] A
```
Writing.apply(this, c);
return this.getContent() + "," + date;
```
- [ ] B
```
Writing.call(this, c);
return content + "," + date;
```
- [ ] C
```
Writing.apply(this, c);
return content + "," + date;
```
- [x] D
```
Writing.call(this, c);
return this.getContent() + "," + date;
```

### Giải thích:
- Kế thừa trong JS: [Tên hàm/class].call(this, tham số);
- Gọi hàm private trong hàm/class: [Tên hàm private].apply(this, tham số).

## 19. Cho khai báo sau đây:
```
var text = "testing: 1, 2, 3";
var pattern = /\d+/g;
```

Để kiểm tra text khớp với parttern hay không, thực hiện câu lệnh nào sau đây?

- [ ] text.test(pattern)
- [x] pattern.test(text)
- [ ] text==pattern
- [ ] text.equals(pattern)

## 20. Để đưa ra một thông báo, sử dụng JavaScript chúng ta có thể
- [x] Cả ba phương án C, B, D
- [ ] Gọi phương thức window.alert("Nội dung thông báo").
- [ ] Đặt thuộc tính innerHTML của một span là nội dung thông báo.
- [ ] Đặt thuộc tính innerHTML của một ô thuộc một bảng là nội dung thông báo.

    
## 21. Cho trang web có nội dung như sau:
```
<!DOCTYPE html>
<html>

<body>
    <div class="container">
        <article class="news">
            <h2 class="news-title">abc news</h2>
            <p class="news-abstract">def def def</p>
            <div class="news-body">
                <span>abc</span>
                <p>def</p>
            </div>
        </article>
    </div>
</body>

</html>
```

Hãy cho biết các câu lệnh sau lấy tham chiếu đến đối tượng tài liệu nào?

- document.querySelector(".news").parentNode
    - Đáp án: `<div class="container">`
- document.querySelector(".news").firstChild
    - Đáp án: `#text`
- document.querySelector(".news").childNodes[1]
    - Đáp án: `<h2 class="`
- document.querySelector(".news").childNodes[1].nextSibling.nextSibling
    - Đáp án: `<p class="`
- document.querySelector(".news").childNodes[1].childNodes[1]
    - Đáp án: `undefined`
- document.querySelector(".news").childNodes[5]
    - Đáp án: `<div class="`
- document.querySelector(".news").childNodes[5].childNodes[1]
    - Đáp án: `<span>`
- document.querySelector(".news").childNodes[5].childNodes[1].nextSibling.nextSibling
    - Đáp án: `<p>def`

### Giải thích:
- Lưu ý rằng, giữa các **thẻ liên tiếp nhau** luôn được ngăn cách bằng một thẻ `#text`

## 22. Giá trị của biến a bằng bao nhiêu sau khi chạy đoạn mã sau:
```
var a = 3;
var b = 2;
var c = a;
a = b = c = 1;
```
- [ ] 3
- [x] 1
- [ ] true
- [ ] false

## 23. Khai báo nào sau đây không đúng
- [ ] `<hr width="75%">`
- [x] `<hr size="75%">`
- [ ] `<hr width="75">`
- [ ] `<hr>`

### Giải thích:
- Thẻ `<hr>` trong HTML là thẻ dùng để tạo một đường kẻ ngang phân cách nội dung trong trang web. 
- Thẻ `<hr>` là thẻ đơn, không có thẻ đóng.

## 24. Đâu không phải là con trỏ sự kiện của đối tượng DOM?
- [x] ondemand
- [ ] onclick
- [ ] onmouseout
- [ ] onmouseover

### Giải thích:
- onClick – Kích chuột lên đối tượng
-  onDblClick – Kích đúp chuột lên đối tượng
-  onMouseOver – Di chuyển chuột trên đối tượng
-  onMouseOut – Di chuyển chuột ra ngoài đối tượng
- onKeyUp – Nhả phím khi đối tượng đang được đặt làm tâm điểm
- onKeyDown – Nhấn phím khi đối tượng đang được đặt tâm điểm


## 25. Đoạn mã sau đây in ra console nội dung gì?
```
var Employee = {
    firstname: "Mohammed",
    lastname: "Haddad"
}

delete Employee.firstname;
console.log(Employee.firstname);
```
- [ ] Mohammed
- [ ] null
- [x] undefined
- [ ] ReferenceError

### Giải thích:
- Khi cố gắng truy cập một đối tượng đã bị xóa thì kết quả trả ra sẽ là `undefined`

## 26. Thẻ HTML nào trong các thẻ sau đây không dựa vào ngữ nghĩa (semantic based)
- [ ] `<strong>`
- [ ] `<address>`
- [x] `<citation>`
- [ ] `<em>`

## 27. Đoạn mã HTML sau đã khai báo bao nhiêu đối tượng tài liệu?
```
<h1>HTML</h1>
<p>HTML là ngôn ngữ lập trình được sử dụng để tạo lập các trang web</p>
```
- [x] 5
- [ ] 3
- [ ] 2
- [ ] 4

## 28. Cho đối tượng `<ul id="mylist">` được khai báo bằng HTML như sau:
```
<ul id="mylist">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>
```
Đoạn mã JavaScript sau đây làm gì trên đối tượng `<ul id="mylist">`?
```
var list = document.querySelector("#mylist");
var items = document.querySelectorAll("#mylist li");
var last = items[items.length - 1];
for (var i = items.length - 2; i >= 0; i--) {
    list.removeChild (items[i]);
    list.insertBefore (items[i], last.nextSibling);
    last = items[i];
}
```

- [ ] Sắp xếp các `<li>` theo chiều giảm dần.
- [ ] Sắp xếp các `<li> `theo chiều tăng dần.
- [ ] Không làm thay đổi gì trên `<ul>`
- [x] Đảo ngược thứ tự các đối tượng `<li>`.

## 29. Cho đối tượng `<ul id="mylist">` được khai báo bằng HTML như sau:
```
<ul id="mylist">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>
```
Đoạn mã JavaScript sau đây làm gì với đối tượng `<ul id="mylist">`?
```
var list = document.querySelector ("#mylist");
var items = document.querySelectorAll("#mylist li");
for (var i = 0; i < items.length; i++) {
    list.removeChild (items[i]);
    list.insertBefore (items[i], items[i+2]);
}
```
- [ ] Đảo ngược thứ tự các đối tượng `<li>.`
- [ ] Sắp xếp các đối tượng `<li>` theo chiều giảm dần.
- [x] Không làm thay đổi gì trên `<ul>`
- [ ] Sắp xếp các đối tượng `<li>` theo chiều tăng dần.

## 30. Quan hệ chứa (cha-con) của ba đối tượng `<p>`, `<article>`, và `<section>` thông thường là
- [ ] `<article><p><section></section></p></article>`
- [x] `<article><section><p></p></section></article>`
- [ ] `<section><article><p></p></article></section>`
- [ ] `<section><p><article></article></p></section>`

## 31. Cho biết kết quả trả về của biểu thức `1 == "1"`?
- [ ] false
- [ ] 1
- [ ] 0
- [x] true

### Giải thích:
- `==`: Chỉ kiểm tra hai giá trị có bằng nhau hay không

## 32. Đâu không phải là giá trị cho thuộc tính align của đối tượng `<td>`?
- [ ] center
- [ ] top
- [x] tall
- [ ] bottom
## 33. Đặt CSS như thế nào để viết hoa ký tự đầu tiên của mỗi từ?
- [ ] text-style:captialize
- [ ] transform:capitalize
- [x] text-transform:capitalize
- [ ] style:capitalize

## 34. Liên kết nào sau đây mở trang page.htm ở cửa sổ mới?
- [ ] `<a href='page.htm" target="_self">Trang A</a>`
- [ ] `<a href='page.htm' target='_top'>Trang A</a>`
- [x] `<a href='page.htm' target='_blank'>Trang A</a>`
- [ ] `<a href='page.htm' target='_parent'>Trang A</a>`

### Giải thích:
- `_self`: Mở liên kết trong cùng cửa sổ hoặc tab hiện tại (mặc định nếu không có giá trị target).
- `_blank`: Mở liên kết trong một cửa sổ hoặc tab mới.
- `_parent`: Mở liên kết trong cửa sổ cha của cửa sổ hiện tại, thường được sử dụng trong các frame hoặc iframe.
- `_top`: Mở liên kết trong cửa sổ hoặc tab cấp cao nhất (bỏ qua bất kỳ iframe nào).

## 35. Cho trang web có nội dung như sau:
```
<!DOCTYPE html>
<html>

<head>
    <style type="text/css">
        div + a {
            color: red;
        }
    </style>
</head>

<body>
    <h1>Welcome</h1>
    <a href="#link1">Link 1</a>
    <div>
        <a href="#link2">Link 2</a>
    </div>
    <span>
        <a href="#link3">Link 3</a>
    </span>
    <a href="#link4">Link 4</a>
</body>

</html>
```

Có bao nhiêu liên kết được hiển thị với chữ màu đỏ?

- [x] 0
- [ ] 2
- [ ] 3
- [ ] 1

### Giải thích:

- Bộ chọn `A + B`: Chọn `B` với điều kiện:
    - `B` ngang cấp với `A`
    - `B` ở ngay dưới `A` (phải là **liền kề nhau**)

## 36. Cho trang web có nội dung như sau:
```
<!DOCTYPE html>
<html>

<head>
    <style type="text/css">
        div ~ a {
            color: red;
        }
    </style>
</head>

<body>
    <h1>Welcome</h1>
    <a href="#link1">Link 1</a>
    <div>
        <a href="#link2">Link 2</a>
    </div>
    <span>
        <a href="#link3">Link 3</a>
    </span>
    <a href="#link4">Link 4</a>
</body>

</html>
```
Có bao nhiêu liên kết được hiển thị với chữ màu đỏ?
- [ ] 0
- [x] 1
- [ ] 2
- [ ] 3

### Giải thích:
- Bộ chọn `A ~ B`:  Chọn `B` với điều kiện:
    - `B` ngang cấp với `A`
    - `B` ở  dưới `A` (không cần **liền kề nhau**)

## 37. Để có nhiều người tiếp cận và xem trang web, chiến lược nào sau đây KHÔNG nên được sử dụng?
- [ ] Đăng ký trang web với nhiều mô-tơ tìm kiếm.
- [ ] Đợi cho đến khi một mô tơ tìm kiếm tìm thấy trang của bạn.
- [x] Sao chép trang web thành nhiều trang, mỗi trang với một tên khác nhau.
- [ ] Có nhiều trang nổi tiếng chứa siêu liên kết trỏ đến trang của bạn.
## 38. CSS nào sau đây làm cho đối tượng được hiển thị thấp hơn so với các đối tượng khác trong cùng dòng?
- [x] display:inline; position:relative; top:10px;
- [ ] display:inline; position:relative; bottom:10px;
- [ ] display:block; position:relative; top:10px;
- [ ] display:block; position:relative; bottom:10px;
## 39. Thuộc tính CSS nào sau đây xác định đường viền cho cả bốn phía của đối tượng tài liệu?
- [ ] allborbers
- [ ] padding
- [x] border
- [ ] margin
## 40. Mỗi yêu cầu (request) hoặc đáp ứng (response) HTTP có bao nhiêu dòng trắng (chỉ có ký tự xuống dòng)?
- [ ] 2
- [ ] 4
- [ ] 3
- [x] 1

## 41. Giả sử trang web có đối tượng `<div id=”answerbox”>`. Để thêm một đoạn văn có nội dung “Hello” vào đối tượng `<div>` ở trên, đoạn mã JavaScript nào sau đây là tốt nhất?
- [ ] A
```
var d = document.getElementById("answerbox");
d.appendChild("<p>Hello</p>");
```
- [ ] B
```
var d = document.getElementById("answerbox");
d.innerHTML += "<p>Hello</p>";
```    
- [x] C
```
var t = document.createTextNode ("Hello");
var p = document.createElement("p");
d = document.getElementById("answerbox");
p.appendChild(t);
d.appendChild(p);
```
- [ ] D `answerbox.innerHTML += "<p>Hello</p>";`
## 42. Gốc của cây BOM là đối tượng nào?
- [ ] document
- [ ] body
- [x] window
- [ ] html

### Giải thích:
- DOM: gốc là document
- BOM: gốc là window. 
- DOM là một nhánh của BOM: window.document
## 43. URL http://dantri.com.vn/su-kien/nghi-tet-duong-lich-va-tet-am-lich-2019-201808077.htm là một ví dụ về
- [ ] URL có cấu trúc
- [ ] URL phi ngữ nghĩa
- [ ] URL phi cấu trúc
- [x] URL ngữ nghĩa

### Giải thích:
- Có hai lại URL
    - URL phi ngữ nghĩa: `http://example.com/index.php?page=marketing` 
    - URL ngữ nghĩa: `http://example.com/marketing`
## 44. Thuộc tính nào được sử dụng để truy cập nút con đầu tiên của nút tdoc
- [ ] tdoc.child[0]
- [x] tdoc.firstChild
- [ ] tdoc.child0
- [ ] tdoc.child(0)

## 45. Phát biểu nào sau đây KHÔNG chính xác?
- [ ] JavaScript là ngôn ngữ phụ trợ cho HTML trong việc tạo lập trang web.
- [ ] JavaScript cơ bản giống C trừ cách khai báo biến và định nghĩa hàm.
- [x] Có thể tạo ra các trang web chỉ sử dụng JavaScript, không cần HTML.
- [ ] Nhiều lớp đối tượng được định nghĩa sẵn bởi javascript phục vụ cho mục đích quản trị nội dung trang web.

## 46. Cho đối tượng `<ul id="mylist">` được khai báo bằng HTML như sau:
```
<ul id="mylist">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>
```
Đoạn mã JavaScript sau đây làm gì với đối tượng `    `?
```
var list = document.querySelector("#mylist");
var items=document.querySelectorAll ("#mylist li");
for (var i = items.length-2; i >= 0; i--) {
    list.removeChild (items[i]);
    list.appendChild(items[i]);
}
```
- [ ] Sắp xếp các `<li>` theo chiều tăng dần.
- [x] Đảo ngược thứ tự các đối tượng `<li>`.
- [ ] Sắp xếp các `<li>` theo chiều giảm dần.
- [ ] Không thay đổi gì trên `<ul>`.
## 47. Thuộc tính nào sau đây không hợp lệ cho cả đối tượng `<ol> `và `<li>`
- [ ] type
- [x] begin
- [ ] start
- [ ] value

## 48. URL không cung cấp thông tin về
- [ ] nơi tìm thấy trang web
- [ ] tên tệp tương ứng với trang web
- [x] khi nào tìm thấy trang web
- [ ] cách thức truy cập trang web
## 49. Kết nối HTTP liên tục (HTTP persistent connection) có nghĩa là
- [ ] Duy trì kết nối TCP trong suốt phiên làm việc.
- [x] Gửi và nhận nhiều yêu cầu/đáp ứng HTTP trên cùng một kết nối TCP.
- [ ] Duy trì kết nối HTTP trong suốt phiên làm việc.
- [ ] Kết nối trình khách và trình phục vụ trong suốt thời gian làm việc.
## 50. "input" là một bộ chọn CSS theo
- [ ] lớp
- [ ] thuộc tính
- [x] phần tử
- [ ] định danh

### Giải thích:
- ![](https://hackmd.io/_uploads/HykfkzhMT.png)
- ![](https://hackmd.io/_uploads/Sy481f3z6.png)

## 51. Với CSS, lựa chọn tất cả các đối tượng `<p>` nằm trong đối tượng `<div>` như thế nào?
- [ ] div ~ p
- [x] div p
- [ ] div + p
- [ ] div.p
## 52. Phát biểu nào sau đây KHÔNG chính xác về yêu cầu HTTP (HTTP request)?
- [x] Mỗi yêu cầu HTTP được gửi trong một kết nối TCP riêng.
- [ ] Mỗi yêu cầu HTTP được trả lời bằng một và chỉ một đáp ứng HTTP (HTTP response).
- [ ] Mỗi yêu cầu HTTP xác định một và chỉ một tài nguyên web (web resource).
- [ ] Mỗi yêu cầu HTTP sử dụng một và chỉ một phương thức HTTP (HTTP method/verb).
## 53. Sass và Less là những ví dụ về
- [x] thư viện tiền xử lý CSS
- [ ] thư viện HTML5 và CSS3
- [ ] thư viện CSS
- [ ] thư viện phân tích CSS

### Giải thích:
- CSS Preprocessors được hiểu là ngôn ngữ tiền xử lý CSS. Nó có nhiệm vụ logic hóa mã CSS sao cho gần giống với ngôn ngữ lập trình. Việc viết CSS Preprocessors mang lại một số lợi ích sau:
    - Tiết kiệm thời gian viết CSS.
    - Dễ dàng bảo trì và phát triển.
    - Có tính linh hoạt và tái sử dụng cao.
    - Các tập tin, đoạn mã CSS được tổ chức, sắp xếp một cách rõ ràng.

## 54. Khai báo nào sau đây đúng khi bao hàm CSS ngoài
- [ ] `<stylesheet>mystyle.css</stylesheet>`
- [x] `<link rel="stylesheet" type="text/css" href="mystyle.css">`
- [ ] `<style src="mystyle.css">`
## 55. Những thành phần nào thuộc về bên phục vụ (server-side/backend)?
- [x] Hệ quản trị CSDL
- [ ] Trình duyệt web
- [x] Trình phục vụ ứng dụng
- [x] Trình phục vụ web
## 56. Phát biểu nào sau đây đúng nhất?
- [ ] Trang web bao gồm văn bản, hình ảnh và liên kết đến trang khác được định dạng và quản lý bởi các thẻ HTML. JavaScript được dùng để xử lý các sự kiện trên web.
- [ ] Trang web bao gồm văn bản, hình ảnh, liên kết và các điều khiển khác được định dạng và quản lý bởi các thẻ HTML. JavaScript được dùng để truy cập các điều khiển.
- [ ] Trang web bao gồm một tập các điều khiển nhập liệu và hiển thị dữ liệu. JavaScript được dùng để quản lý các đối tượng đó.
- [x] Trang web bao gồm một tập các đối tượng tài liệu. JavaScript được dùng để quản lý các đối tượng đó.

## 57. Đâu không phải là thuộc tính của đối tượng `<select>`?
- [ ] size
- [ ] multiple
- [x] option
- [ ] name

### Giải thích:
- Các thuộc tính của `<select>` là:
    - form
    - size
    - multiple
    - name
    - autofocus
    - disabled
    - required
## 58. Giả sử trên trang web có một bảng (table) có định danh là mytable. Đoạn lệnh nào sau đây thực hiện đổi chỗ hai hàng i và j của bảng?
- [ ] A
```
tb= document.getElementById("mytable");
r1 = tb.rows[i];
nrl = r1.nextSibling;
r2 = tb.rows[j];
tb.tBodies[0].insertBefore(r1, r2);
tb.tBodies[0].insertBefore(r2, nr1);
```
- [x] B
```
tb = document.getElementById("mytable");
r1 = tb.rows[i];
r2 = tb.rows[j];
tmp = r1;
r1 = r2;
r2 = tmp;
```
- [ ] C
```
tb = document.getElementById("mytable");
r1 = tb.rows[i];
nr1 = r1.nextSibling;
r2 = tb.rows[j];
tb.insertBefore(r1, r2);
tb.insertBefore(r2, nr1);
```
- [ ] D
```
r1 = document.getElementById(i);
r2 = document.getElementById(j);
tmp = r1;
r1 = r2;
r2 = tmp;
```

## 59. Khi nginx được sử dụng như một proxy, nó đóng vai trò
- [ ] forward proxy
- [ ] remote proxy
- [ ] local proxy
- [x] reverse proxy

### Giải thích:
- ![](https://hackmd.io/_uploads/Hk0Czz3G6.png)

## 60. Proxy được triển khai ở các trung tâm tích hợp dữ liệu (data center) là
- [ ] intermediate proxy
- [ ] cache proxy
- [x] reverse proxy
- [ ] forward proxy
## 61. Phát biểu nào sau đúng?
- [ ] Có thể sử dụng thuộc tính name của đối tượng `<href>` để gán nhãn cho một điểm trong tài liệu HTML.
- [ ] Có thể sử dụng thuộc tính name của đối tượng `<a>` để tạo liên kết nội trang.
- [x] Đối tượng `<a>` không có thuộc tính name.
- [ ] Có thể sử dụng thuộc tỉnh name của đối tượng `<href>` để tạo liên kết nội trang.
## 62. Tính cụ thể của bộ chọn "ul#nav li.active a:first-child" là
- [ ] <0, 1, 3, 2>
- [x] <0, 1, 2, 3>
- [ ] <0, 2, 1, 3>
- [ ] <0, 2, 3, 1>
## 63. Đặt màu nền cho tất cả các đối tượng `<h1>` như thế nào?
- [ ] all.h1 {background-color:#FFFFFF;}
- [ ] h1.all {background-color:#FFFFFF;}
- [x] h1 {background-color:#FFFFFF;}

## 64.  Khi chạy đoạn mã JavaScript sau
```
function a() {
    function b (x, y) {
        return (x + y);
    }
    this.c = function (x, y) {
        return ...;
    }
}
    
var o = new a();
console.log(o.c(1, 2));
console.log(o.c(3, 4));
```
Kết quả in ra console là
```
3
7
```
Câu lệnh còn thiếu trong đoạn mã trên (return ...;) là gì?
- [ ] return b[x, y];
- [x] return b.apply(this, [x, y]);
- [ ] return b.apply(this, x, y);
- [ ] return b(x, y);

## 65. Khai báo nào sau đây hợp lệ
- [ ] `<head><link><link/></head>`
- [ ] `<link><link/><head></head><body></body>`
- [x] `<head><link></link></head><body><link></link></body>`
- [ ] `<head></head><body></body><link><link/>`
## 66. Khai báo nào sau đây hợp lệ?
- [ ] `<optgroup><option><select></select></option></optgroup>`
- [ ] `<select><option><optgroup></optgroup></option></select>`
- [ ] `<optgroup><select><option></option></select></optgroup>`
- [x] `<select><optgroup><option></option></optgroup></select>`
## 67. Khai báo nào để tạo ra một ô check
- [ ] `<checkbox>`
- [ ] `<check>`
- [x] `<input type="checkbox">`
- [ ] `<input type="check">`
## 68. Dùng cách nào để biết được trình duyệt nào đang được sử dụng ở phía client?
- [x] `navigator.appName`
- [ ] `client.navName`
- [ ] `client.name`
- [ ] `browser.name`

## 69. Hãy phân loại đúng
* a. Không cho đặt giá trị cho các thuộc tỉnh width, height, margin-top, và margin-bottom
* b. Hộp hiển thị đối tượng có thể được gấp thành nhiều đoạn trên nhiều dòng liên tiếp
* c. Hộp hiển thị đối tượng không thể bị gấp thành nhiều đoạn
* d. Có thể đứng cạnh đối tượng khác trên cùng dòng
* e. Không thể đứng cạnh đối tượng khác trên cùng dòng

### Đáp án:
- Hiển thị theo dòng (display: inline): a, b, d
- Hiển thị theo khối (display: block): c, e

### Giải thích:
- Các thuộc tính inline thường làm cho các phần tử hiển thị trên cùng một dòng và không chấp nhận chiều rộng và chiều cao. 
- Trong khi đó, các thuộc tính block thường tạo ra các hộp hiển thị đối tượng trên một dòng riêng biệt và cho phép điều chỉnh chiều rộng và chiều cao của chúng.


## 70. Phát biểu nào sau đây đúng
- [ ] Không thể chèn hình ảnh và bảng
- [ ] Không thể dùng bảng (`<table>`) để tạo trang web có giao diện tương tự trang báo
- [ ] Bảng (`<table>`) có thể lồng nhau
- [x] Không thể dùng thuộc tính br để thay đổi kích thước hiển thị các cột trong bảng
## 71. Đối tượng nhãn `<label>` trong trang web sau đây được trình diễn với chữ màu gì?    
```
/* File: mystyle.css */
label {color: yellow; }
body {color: red;}
<!-- File: index.htm -->
<!DOCTYPE html><html><head>
    <style>
        label.note {color: purple;}
        label {color:green; }
    </style>
    <link rel="stylesheet" href="mystyle.css">
</head><body>
    <label class="note">Text</label>
</body></html>
```
- [x] Tím
- [ ] Đỏ
- [ ] Xanh
- [ ] Vàng
## 72. Phát biểu nào sau đây chính xác?
- [ ] Đối tượng `<input type='password'>` chỉ có thể sử dụng trong `<form>` với phương thức POST.
- [x] Đối tượng `<input type='password'>` cung cấp một ô nhập được gán mặt nạ nhưng không thực sự đảm bảo an ninh.
- [ ] Không thể đặt độ dài tối đa cho đối tượng `<input type=password'>`
- [ ] Đối tượng `<input type='password'> `cung cấp một ô nhập đảm bảo an ninh.

## 73. Khi duyệt trang web có nội dung như sau:
```
<!DOCTYPE html><html><body>
    <ul id="mylist">
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
    </ul>
    <script type="text/javascript">
    var list = document.querySelectorAll("#mylist li");
    for (mask1; i < list.length; mask2)
            console.log(list[i].innerHTML);
    </script>
</body></html>
```
Kết quả in ra console là (Lưu ý: console chứ không phải GUI)
```
Item 1
Item 2
Item 3
```
Hỏi các câu lệnh đã bị che mặt nạ (mask1, mask2) trong lệnh `for (mask1; i < list.length; mask2)` có nội dung là gì?
- [ ] A
```
mask1: var i = 1
mask2: i = i+2
```
- [x] B
```
mask1: var i = 0
mask2: i++
```
- [ ] C
```
mask1: var i = 0
mask2: i = i+2
```
- [ ] D
```
mask1: var i = 1
mask2: i++    
```

## 74. Cho đoạn mã JavaScript sau
```
function a(x, y) {
    function b (x, y) {
        return (x + y);
    }
    
    this.c = function (x, y) {
        return (x + y);
    }
}
```
Các câu lệnh nào sau đây là hợp lệ nếu được viết sau đoạn mã trên?
- [ ] A `console.log(a.c(1, 2));`
- [ ] B
```
var o = new a();
console.log(o.b (1, 2));
```
- [ ] C `console.log(a.b (1, 2));`
- [x] D
```
var o = new a();
console.log(o.c(1, 2));
```

## 75. Cho trang web có nội dung như sau:
```
<!DOCTYPE html><html><head>
    <style>
        .a (...)
        .b (...)
    </style>
</head><body>
    <div class="a">
        <div class="b">
            ABC
            <div class="b">
                ABC
                <div class="b">
                    ABC
                    <div class="b">
                        ABC
                        <div class="b">
                            ABC
                        </div>    
                        ABC
                    </div>
                    ABC
                </div>
                ABC
            </div>
            ABC
        </div>
    </div>
</body></html>
```

Đề hiển thị trang web trên trình duyệt có dạng như sau:
<style>
.a {text-align:right; }
.b {position:relative; right:20px; }
</style>

<body>
    <div class="a">
        <div class="b">
            ABC
            <div class="b">
                ABC
                <div class="b">
                    ABC
                    <div class="b">
                        ABC
                        <div class="b">
                            ABC
                        </div>
                        ABC
                    </div>
                    ABC
                </div>
                ABC
            </div>
            ABC
        </div>
    </div>
</body>

</html>

Các bảng định dạng CSS ".a" và ".b" có nội dung lần lượt là:
- [x] A
```
.a {text-align:right; }
.b {position:relative; right:20px; }
```
- [ ] B
```
.a {position:relative; right:20px; }
.b {text-align:right; }
```
- [ ] C
```
.a {right:20px; }
.b {text-align: right; position:relative; }
```
- [ ] D
```
.a {text-align: right; position:relative; }
.b {right:20px; }
```

## 76. Sắp xếp các bộ chọn sau đây theo thứ tự GIẢM dần tính cụ thể.
1.1
2.2
3.3
4.4
5.5
6.6
7.7
8.8
## 77. Đoạn mã sau đây có làm việc không? Nếu không thì tại sao?
```
function tail (o) {
    for(; o.next; o = o.next);
    return o;    
}
```
- [x] Có, đoạn mã trên làm việc tốt.
- [ ] Không, đoạn mã trên sẽ phát sinh một ngoại lệ vì chỉ có thể dùng số trong vòng lặp for
- [ ] Không, đoạn mã trên sẽ phát sinh lỗi tại thời gian chạy.
- [ ] Không, đoạn mã trên sẽ không thực hiện vòng lặp
## 78. Sự kiện onload xảy ra khi nào?
- [ ] Khi bắt đầu chạy một chương trình
- [ ] Khi người dùng di chuyển chuột qua một đối tượng trên giao diện
- [x] Khi trang web được tải về
- [ ] Khi kết thúc một chương trình

## 79. Trong cấu trúc URL `scheme://host[:port][/path][?query-string][#bookmark]` thành phần path đóng vai trò gì?
- [ ] Định danh tài nguyên bên trong ứng dụng web.
- [x] Xác định đường dẫn đến tệp tài nguyên bên trong ứng dụng web.
- [ ] Xác định địa chỉ lưu tài nguyên bên trong ứng dụng web.
- [ ] Nhận diện tài nguyên bên trong ứng dụng web.
## 80. Đặt CSS như thế nào để hiển thị các mục của danh sách không có thứ tự với hình vuông?
- [ ] list-style: square;
- [x] list-style-type: square;
- [ ] list-type: square;
- [ ] list: square;

## 81. Đặt tất cả các đối tượng `<p>` có chữ in đậm như thế nào?

- [ ] `<p style="text-size:bold;">`
- [ ] `p {text-size:bold;}`
- [x] `p {font-weight:bold;}`
- [ ] `<p style="font-size:bold;">`

## 82. Thuộc tính nào sau đây đặt đệm trên cho đối tượng tài liệu?

- [ ] paddingtop
- [ ] top
- [ ] paddingTop
- [x] padding-top

## 83. Cho trang web có nội dung như sau:

```
<!DOCTYPE html1><htm1><head>
    <style>...</style>
</head><body>
    <div class="a">ABC</div>
    <div class="a">DEF</div>
</body></html>
```

- Ở màn hình lớn, chiều rộng lớn hơn 500 pixel, hiển thị của trang web có dạng như sau:
<div style="display: flex">
    <div style="padding-right: 100px">
        ABC    
    </div>
    <div style="">
        DEF
    </div>
        
</div>

- Ở màn hình nhỏ, chiều rộng nhỏ hơn 500 pixel, hiển thị của trang web có dạng như sau:

ABC
DEF

Trang web ở trên có khai báo CSS như thế nào?

- [ ] A
```
@media screen and (min-width:500px) {
    .a {display:inline; width:50%; }
}
```
- [x] B
```
@media screen and (min-width:500px) {
    .a {float:left; width:50%;}
}
```
- [ ] C
```
@media screen and (max-width:500px) {
    .a {float:left; width:50%; }
}
```
- [ ] D
```
@media screen and (max-width:500px) {
    .a {display:inline; width:50%; }
}
```

## 84. Đoạn mã sau đây cho kết quả như thế nào?

```
function printArray(a) {
    var len = a.length, i = 0;
    if (len == 0) console.log("Empty Array");
    else {
        do {
            console.log(a[i]);
        } while (++i < len);

    }
}
```
- [ ] In các số trong từ cuối trở về đầu
- [ ] In ra “Empty Array”
- [x] In các số trong mảng từ đầu đến cuối
- [ ] In ra 0

## 85. Sử dụng CSS để in đậm văn bản như thế nào?

- [ ] style:bold;
- [ ] font:bold;
- [x] font-weight:bold;
- [ ] text:bold;

## 86. Phát biểu nào sau đây KHÔNG chính xác?

- [x] JavaScript là tập con của Java.
- [ ] Có thể sử dụng JavaScript để thay đổi nội dung trang web.
- [ ] Mã JavaScript thường được chèn vào trang HTML
- [ ] JavaScript hỗ trợ lập trình hướng đối tượng.

## 87. Khai báo nào sau đây đúng?

- [x] `<INPUT TYPE = "submit" VALUE = "reset">`
- [ ] `<INPUT TYPE = "reset" TEXT = "clear">`
- [ ] `<INPUT TYPE= "submit" VALUES = "reset,submit">`
- [ ] `<INPUT TEXT = "submit" VALUE = "reset">`

## 88. Đâu không phải là thuộc tính của đối tượng `<textarea>`?
- [ ] cols
- [x] minlength
- [ ] wrap
- [ ] name

### Giải thích:
- ![](https://hackmd.io/_uploads/SkkBtMnf6.png)


## 89. Liên kết nào sau đây mở trang page.htm ở cửa sổ mới?
- [ ] `<a href=page.htm' target='_parent'>Trang A</a>`
- [x] `<a href=page.htm' target='_blank'>Trang A</a>`
- [ ] `<a href=page.htm target='_self>Trang A</a>`
- [ ] `<a href=page.htm' target='_top'>Trang A</a>`

## 90. Trong tài liệu HTML, đâu là vị trí cho bao hàm CSS ngoài
- [x] Phần đầu (head)
- [ ] Cuối của tài liệu HTML
- [ ] Phần thân (body)

## 91. Cho trang web có nội dung như sau:

```
<!DOCTYPE html>
<html>

<head>
    <style>

    </style>
</head>

<body>
    <div class="a">
        <div class="b">
            ABC
            <div class="b">
                ABC
                <div class="b">
                    ABC
                    <div class="b">
                        ABC
                        <div class="b">
                            ABC
                        </div>
                        ABC
                    </div>
                    ABC
                </div>
                ABC
            </div>
            ABC
        </div>
    </div>
</body>

</html>
```

Để hiển thị trang web trên trình duyệt có dạng như sau:

<div style="">
    <div style="margin-left: 55px">
        ABC
    </div>
    <div style="margin-left: 50px">
        ABC
    </div>
    <div style="margin-left: 40px">
        ABC
    </div>
    <div style="margin-left: 30px">    
        ABC
    </div>
    <div style="margin-left: 20px">
        ABC
    </div>
    <div style="margin-left: 35px">
        ABC
    </div>
    <div style="margin-left: 50px">
        ABC
    </div>
    <div style="margin-left: 65px">
        ABC
    </div>
    <div style="margin-left: 80px">
        ABC
    </div>
</div>


Các bảng định dạng CSS ".a" và ".b" có nội dung lần lượt là:

- [ ] A
```
.a {text-align:right; position:relative;}
.b { right:20px;}
```
- [ ] B
```
.a {right:20px;}
.b {text-align:right; position:relative;}
```
- [ ] C
```
.a {position:relative; right:20px;}
.b {text-align:right;}
```
- [x] D
```
.a {text-align:right;}
.b {position:relative; right:20px;}
```

## 92. Những thành phần nào thuộc về bên phục vụ (server-side/backend)?
- [ ] Trình duyệt web
- [x] Hệ quản trị CSDL
- [x] Trình phục vụ web
- [x] Trình phục vụ ứng dụng

## 93.  Trong khai báo các đối tượng tài liệu bằng thẻ HTML, điều gì không ảnh hưởng đến kết quả khai báo?
- [ ] Thứ tự trước sau giữa thẻ mở và thẻ đóng.
- [ ] Thứ tự khai báo các thẻ.
- [ ] Thứ tự trước sau giữa dấu nhỏ hơn (<) và dấu lớn hơn (>) trong các thẻ.
- [x] Thứ tự khai báo các thuộc tính.

## 94. Thuộc tính CSS nào được sử dụng để đặt màu chữ?
- [ ] text-color
- [ ] bgcolor
- [ ] fgcolor
- [x] color

## 95. Quan hệ chứa (cha-con) của ba đối tượng `<p>`, `<article>`, và `<section>` thông thường là

- [ ] `<article><p><section></section></p></article>`
- [ ] `<section><p><article></article></p></section>`
- [ ] `<section><article><p></p></article></section>`
- [x] `<article><section><p></p></section></article>`

## 96. Thuộc tính nào của `<input>` xác định một trường dữ liệu không được để trắng?

- [ ] empty
- [ ] validate
- [x] required
- [ ] placeholder

## 97. Làm cách nào để gọi một hàm “`myFunction()`” trong JavaScript ?

- [ ] `new myFunction();`
- [ ] `call myFunction();`
- [x] `myFunction();`
- [ ] `call function myFunction());`

## 98. Thuộc tính nào của `<form>` cho biết phương thức HTTP được sử dụng để đệ trình dữ liệu?
- [ ] onsubmit
- [x] method
- [ ] action
- [ ] target

## 99. Sự kiện onchange xảy ra khi nào?
- [x] Khi giá trị (của thuộc tính value) của một đối tượng thay đổi.
- [ ] Khi một đối tượng trên giao diện có tâm điểm.
- [ ] Khi vị trí hiển thị của đối tượng trên giao diện thay đổi.
- [ ] Khi một đối tượng trên giao diện mất tâm điểm.

## 100. Đối tượng nào sau đây ít được chứa trong đối tượng `<dl>`
- [ ] `<dd>`
- [x] `<header>`
- [ ] `<strong>`
- [ ] `<dt>`

## 101. Phương pháp phổ biến nhất trong gán định danh cho ứng dụng web là
- [ ] theo cổng (port-based)
- [ ] theo bí danh (alias-based)
- [x] theo tên (name-based)
- [ ] theo IP (IP-based)

## 102. Gốc của cây BOM là đối tượng nào?
- [ ] html
- [ ] document
- [ ] body
- [x] window

## 103. Cho đoạn mã sau đây:

```
var book = {
    mainTitle: "JavaScript",
    subTitle: "The Definitive Guide”,
    for: "All audiences",
    author: {
        firstname: "David",
        surname: "Flanagan"
    }
};
```

Trong đoạn mã trên, firstname và surname là gì?

- [ ] Đối tượng
- [ ] Giá trị thuộc tính
- [ ] Tên thuộc tính
- [x] Thuộc tính

## 104.  Đối tượng nào được khai báo ngầm định cùng với khai báo bảng
```
<table>
    <tr>
        <td>Hello</td>
    </tr>
</table>
```

- [x] `<tbody>`
- [ ] `<colgroup>`
- [ ] `<caption>`
- [ ] `<tfoot>`
- [ ] `<thead>`
- [ ] `<col>`
- [ ] `<th>`

## 105. Cho trang web có nội dung như sau:

```
<!DOCTYPE html><htm1><head>
    <style type="text/css"
        div > a {color:red;}
    </style>
</head><body>    
    <h1>Welcome</h1>
    <a href="#link1">Link 1</a>
    <div>
        <a href="#link2">Link 2</a>
        <span>
            <a href="#link3">Link 3</a>
        </span>
    </div>
    <div>
        <a href="#link4">Link 4</a>
    </div>        
</body></html>
```


Có bao nhiêu liên kết được hiển thị với chữ màu đỏ?

- [ ] 1
- [x] 2
- [ ] 4
- [ ] 3

### Giải thích:
- Bộ chọn `A > B`: Chọn `B` thỏa mãn `B` là con trực tiếp của `A`

## 106. Truy cập một website và thấy URL trên thanh địa chỉ của trình duyệt có chứa cả các từ tiếng Việt có dấu. Phát biểu nào sau đây chính xác?

- [ ] Ký tượng thuộc một số tiếng, trong đó tiếng Việt, được phép xuất hiện trong URL.
- [x] Ký tự có dấu tiếng Việt nhìn thấy chỉ là trình diễn bên ngoài của các ký tự ASCII mã từ 0x20 đến 0x7e.
- [ ] Tất cả ký tự tiếng Việt được phép xuất hiện trong URL.
- [ ] Một số ký tự có dấu trong tiếng Việt được phép xuất hiện trong URL,
## 107. Proxy được sử dụng với mục đích cân bằng tải là 
- [ ] intermediate proxy
- [ ] reverse proxy
- [ ] forward proxy
- [x] cache proxy

## 108. Sass và Less là những ví dụ về
- [ ] thư viện phân tích CSS
- [ ] thư viện CSS
- [ ] thư viện HTML5 và CSS3
- [x] thư viện tiền xử lý CSS

## 109. Trình duyệt web là một
- [x] trình trình diễn (presenter)
- [ ] trình thông dịch (interpreter)
- [ ] trình biên dịch (compiler)
- [ ] trình phân tích (parser)

## 110. Ai là người phát minh ra World Wide Web?
- [ ] Vinton Gray Cerf
- [x] Tim Berners-Lee
- [ ] Bob Kahn
- [ ] Alan Turing

## 111. Các thuộc tính localStorage và sessionStorage thuộc về đối tượng nào?
- [x] window
- [ ] DOM
- [ ] Element
- [ ] Hash

## 112. Khai báo nào sau đây hợp lệ?
- [ ] `<head></head><style></style><body></body>`
- [ ] `<head></head><body></body><style></style>`
- [ ] `<body><style></style></body>`
- [x] `<head><style></style><style></style></head>`

## 113. Đâu không phải là giá trị cho thuộc tính align của đối tượng `<td>`?

- [x] tall
- [ ] bottom
- [ ] center
- [ ] top

## 114. Đâu không phải là giá trị hợp lệ cho thuộc tính TYPE của đối tượng `<input>`?

- [ ] submit
- [ ] reset
- [ ] checkbox
- [x] radiobutton

## 115. Đâu không phải là thuộc tính của đối tượng `<body>`

- [ ] alink
- [ ] link
- [x] bground
- [ ] vlink

## 116. Cho trang web có nội dung như sau:

```
<!DOCTYPE html><htm1><body>
<div class="container">
    <article class="news">
        <h2 class="news-title">abc news</h2>
        <p class="news-abstract">def def def</p>
        <div c1ass="news-body"
            <p>abc</p>
            <p>def</p>
        </div>
    </article>
</div>
</body></html>
```

Hãy cho biết các câu lệnh sau lấy tham chiếu đến đối tượng tài liệu nào?


| Truy vấn                                                                               |
| -------------------------------------------------------------------------------------- |
| 1. document.querySelector(".news").parentNode                                          |
| 2. document.querySelector(".news").firstChild                                          |
| 3. document.querySelector(".news").childNodes[1]                                       |
| 4. document.querySelector(".news").childNodes[1].nextSibling.nextSibling               |
| 5. document.querySelector(".news").childNodes[1].childNodes[1]                         |
| 6. document.querySelector(".news").childNodes[5]                                       |
| 7. document.querySelector(".news").childNodes[5].childNodes[1]                         |
| 8. document.querySelector(".news").childNodes[5].childNodes[1].nextSibling.nextSibling |



| Kết quả truy vấn  |
| ----------------- |
| a. `<h2 class="`  |
| b. `<p class="n`  |
| c. `<p>`          |
| d. `undefined`    |
| e. `<div class='` |
| f. `<span>`       |
| g. `#text `       |
| h. `<div class='` |


### Đáp án:


| Truy vấn | Kết quả truy vấn |
|:--------:|:----------------:|
|    1     |        e         |
|    2     |        g         |
|    3     |        a         |
|    4     |        b         |
|    5     |        d         |
|    6     |        h         |
|    7     |        c         |
|    8     |        f         |


## 117. Cho đối tượng `<ul id="mylist">` được khai báo bằng HTML như sau:

```
<ul id="mylist">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>
```

Đoạn mã JavaScript sau đây làm gì với đối tượng `<ul id="mylist">`?

```
var list = document.querySelector("#mylist");
var items = document.querySelectorAll("#mylist li");

for (var i = 0; i < items.length; i++) {
    list.removeChild(items[i]);
    list.insertBefone(items[i], items[i+2]);
}
```
- [ ] Sắp xếp các đối tượng `<li>` theo chiều tăng dần.
- [ ] Sắp xếp các đối tượng `<li>` theo chiều giảm dần.
- [ ] Đảo ngược thứ tự các đối tượng `<li>`.
- [x] Không làm thay đổi gì trên `<ul>`.

## 118. Mô tả trình diễn của đối tượng với bộ chọn sau:

```
span {
    border: 1px solid red;
    outline: green dotted thick;
}
```

- [ ] Tất cả các đối tượng `<span>` có đường viên ngoài màu đỏ và đường viền trong màu xanh nét chấm.
- [ ] Tất cả các đối tượng `<span>` có đường viển mỏng màu đỏ và đường viền dày màu xanh.
- [x] Tất cả các đối tượng `<span>` có đường viền ngoài màu xanh nét chấm và đường viền trong màu đỏ 
- [ ] Tất cả các đối tượng `<span>` có đường viên dày màu đỏ và đường viền mỏng màu xanh.

## 119. Với CSS, lựa chọn đối tượng có class=”test” như thế nào?

- [x] .test
- [ ] test
- [ ] *test
- [ ] #test

## 120. Đoạn mã sau đây in ra console nội dung gì?

```
var Employee = {
    firstname: "Mohammed",
    lastname: "Haddad"
}

delete Employee.firstname;
console.log(Employee.firstname);
```

- [ ] null
- [ ] Mohammed
- [ ] ReferenceError
- [x] undefined

## 121. Khai báo nào sau đây hợp lệ
- [ ] `<head><meta></meta></head><body><meta></meta></body>`
- [ ] `<meta></meta><head></head><body></body>`
- [ ] `<head></head><body></body><meta></meta>`
- [x] `<head><meta></meta><meta></meta></head>`

## 122. CSS nào sau đây làm cho đối tượng được hiển thị thấp hơn so với các đối tượng khác trong cùng dòng

- [x] `display:inline; position:relative: top:10px;`
- [ ] `display:block; position:relative; top:10px;`
- [ ] `display:inline; position:relative; bottom:10px;`
- [ ] `display:block; position:relative; bottom:10px;`

## 123. Cho khai báo HTML như sau:

```
<div class="a">
    <div>ABC</div>
    <div class="b">DEF</div>
    <div>GHI</div>    
</div>
```

Để trình diễn các đối tượng HTML trên trang web có dạng như sau (Lưu ý "DEF" được hiến thị trên cùng phải so với các văn bản còn lại):

```
 DEF
ABC
GHI
```

Nội dung các bảng định dạng CSS ".a" và ".b" được khai báo là:
- [ ] A
```
.a {position:relative; top:20px;left:20px}
.b {position:absolute; }
```
- [ ] B
```
.a {position:relative}
.b {position:absolute; top:20px;left:20px}
```
- [x] C
```
.a {position:relative}
.b {position:absolute; top:-20px;left:20px}
```
- [ ] D
```
.a {position:relative; top:-20px;left:20px}
.b {position:absolute; }
```
 
 ## 124. Câu lệnh JavaScript nào là đúng để thực hiện thay đổi nội dung trong phần tử HTML bên dưới?

`<p id = “demo”> Hello world </p>`

- [x] `document.getElementById(“demo”).innerHTML = “JavaScripts”;`
- [ ] `#demo.innerHTML = “Java Scripts”;`
- [ ] `document.getElementByName(“p”).innerHTML = “JavaScripts”:`
- [ ] `document.getElement(“p”).innerHTML = “JavaScripts”;`

## 125. Giả sử trang web có đối tượng `<div id=”answerbox”>`. Để thêm một đoạn văn có nội dung “Hello” vào thẻ ở trên, đoạn mã JavaScript nào sau đây là tốt nhất?
- [ ] A
```
var d = document.getElementById("answenbox");
d.innerHTML += "<p>Hello</p>";
```
- [x] B
```
var t = document.createTextNode("Hel1o");
var p = document.createElement("p");
d = document.getElementByTd("answerbox");
p.appendChild(t);
d.appendChild(p);
```
- [ ] C
```
var d = document.getElementById("answenbox");
d.appendChild("<p>Hello</p>");   
```
- [ ] D `answerbox.innerHTML += "<p>Hello</p>";`


## 126. Cho đối tượng `<ul id="mylist">` được khai báo bằng HTML như sau:

```
<ul id="mylist">
    <li>Item 1</1i>
    <li>Item 2</1i>
    <li>Item 3</1i>
    <li>Item 4</1i>
    <li>Item 5</1i>
</ul>
```



Đoạn mã JavaScript sau đây làm gì trên đối tượng `<ul id="mylist">`?

```
var list = document.querySelector("#mylist");
var items = document.querySelectorAll("#mylist li");
var last = items[items.length-1];
for (var i = items.length-2; i >= 0; i--) {
    list.removeChild(items[i]);
    list.insertBefore(items[i], last.nextSibling);
    last = items[i];
}
```

- [ ] Sắp xếp các `<li>` theo chiều tăng dần.
- [ ] Sắp xếp các `<li>` theo chiều giảm dần.
- [ ] Không làm thay đổi gì trên `<ul>`.
- [x] Đảo ngược thứ tự các đối tượng `<li>`.

## 127. Giả sử trên trang web có một bảng (table) có định danh là mytable. Đoạn lệnh nào sau đây thực hiện đổi i và j của bảng?
- [ ] A
```
tb = document.getElementById("mytable");
r1 = tb.rows[i];
nr1 = r1.nextSibling;
r2 = tb.rows[j];
tb.insertBefore(r1, r2);
tb.insertBefore(r2, nr1);
```
- [ ] B
```
r1 = document.getE1ementById(i);
r2 = document.getElementById(j);
tmp = r1;
r1 = r2;
r2 = tmp;
```
- [ ] C
```
tb = document.getElementById("mytable");
r1 = tb.rows[i];
nr1 = r1.nextSibling;
r2 = tb.rows[j];
tb.tBodies[0].insertBefore(r1, r2);
tb.tBodies[0].insertBefore(r2, nr1);
```
- [x] D
```
tb = document.getElementById("mytable");
r1 = tb.rows[i];
r2 = tb.rows[j];
tmp = r1;
r1 = r2;
r2 = tmp;
```

## 128. Trong cấu trúc URL `scheme://host[:port][/path][?query-string][#bookmark]` thành phần path đóng vai trò gì?

- [ ] Xác định địa chỉ lưu tài nguyên bên trong ứng dụng web.
- [ ] Nhận diện tài nguyên bên trong ứng dụng web.
- [x] Xác định đường dẫn đến tệp tài nguyên bên trong ứng dụng web.
- [ ] Định danh tài nguyên bên trong ứng dụng web.

## 129. Cho đối tượng `<ul id="mylist">` được khai báo bằng HTML như sau:

```
<ul id="mylist">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>
```

Đoạn mã JavaScript sau đây làm gì với đối tượng `<ul id="mylist">`?

```
var items = document.querySelectorAll("#mylist li");
var tmp;
for (var i = 0; i < items.length/2; i++) {
    tmp = items[i];
    items[i] = items[items.length-1-i];
    items[items.length-1-i] = tmp;
}
```

- [ ] Sắp xếp các đối tượng `<li>` theo chiều tăng dần.
- [x] Không làm thay đổi gì trên `<ul>`.
- [ ] Sắp xếp các đối tượng `<li>` theo chiều giảm dần.
- [ ] Đảo ngược thứ tự các đối tượng `<li>`.

## 130. Thuộc tính nào sau đây không hợp lệ cho cả đối tượng `<ol>` và `<li>`
- [ ] type
- [ ] start
- [ ] value
- [x] begin

## 131. Cho đối tượng `<ul id="mylist">` được khai báo bằng HTML như sau:

```
<ul id="mylist"›
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>
```

Đoạn mã JavaScript sau đây làm gì với đối tượng `<ul id="mylist">`?

```
var list = document.querySelector("#mylist");

var items = document.querySelectorAll("#mylist li");

for (var i = items.length-2; i >= 0; i--) {
    list.removeChild(items[i]);
    list.appendChild(items[i]);
}
```

- [x] Đảo ngược thứ tự các đối tượng `<li>`.
- [ ] Sắp xếp các `<li>` theo chiều giảm dần.
- [ ] Không thay đổi gì trên `<ul>`.
- [ ] Sắp xếp các `<li>` theo chiều tăng dần.

## 132. Thuộc tính CSS nào cho biết một đối tuợng tài liệu có thể được hiển thị che/trước đối tượng khác.
- [ ] x-index
- [x] z-index
- [ ] h-index
- [ ] y-index

## 133. Khi chạy đoạn mã JavaScript sau

```
function a() {
    function b(x, y) {        
        return (x + y);
    }
    this.c = function(x, y) {
        return ...;
    }

}

van o = new a();
console.log(o.c(1, 2));
console.log(o.c(3, 4));
```

Kết quả in ra console là

```
3
7
```

Câu lệnh còn thiếu trong đoạn mã trên (return ...;) là gì?

- [ ] return b.apply(this, x, y);
- [ ] return b(x, y);
- [ ] return b[x, y];
- [x] return b.apply(this, [x, y]);

## 134. Kiểu MINE có trong đáp ứng HTTP có tác dụng

- [x] giúp cho trình duyệt lựa chọn ứng dụng xử lý phù hợp.
- [ ] giúp cho trình phục vụ và trình duyệt lưu trữ thông tin một cách phù hợp.
- [ ] giúp cho trình duyệt biến đổi nội dung thành HTML, CSS hay JavaScript một cách phù hợp.
- [ ]  giúp cho trình phục vụ và trình duyệt định dạng các gói tin yêu cầu và đáp ứng HTTP một cách phù hợp

### Giải thích:
-  MIME type cho biết loại dữ liệu của tài nguyên được gửi từ máy chủ và trình duyệt sẽ sử dụng thông tin này để chọn ứng dụng hoặc trình duyệt mà phải sử dụng để hiển thị hoặc xử lý tài nguyên đó. 

## 135. Phương thức nào chuyển đổi giá trị số thành chuỗi với

`var = 123;`
- [ ] `var s = a.convert();`
- [ ] `var s = a.stringValue();`
- [x] `var s = a.toString();`
- [ ] `var s = a.value();`

## 136. Khai báo nào sau đây hợp lê
- [ ] `<img><picture></img>`
- [ ] `<img><source></img>`
- [x] `<picture><img></picture>`
- [ ] `<source><img></source>`

## 137. Đâu không phải là thuộc tính của đối tượng `<input>`?
- [x] text
- [ ] size
- [ ] maxlength
- [ ] name

## 138. Đối tượng nào có kiểu hiển thị theo dòng (inline) theo mặc định?
- [ ] `<h1>`
- [ ] `<div>`
- [ ] `<section>`
- [x] `<strong>`

## 139. Bộ chọn nào có tính cụ thể cao nhất?
- [ ] `ul#nav li.active a:first-child`
- [ ] `ul#nav li.active a::after`
- [ ] `ul nav`
- [x] `#ul#nav`

## 140. Câu lệnh nào sau đây thực hiện tải lại (refresh) trang web?
- [ ] page.refresh
- [x] location.reload
- [ ] window.refresh
- [ ] window.reload

## 141. Đối tượng nhãn `<label>` trong trang web sau đây được trình diễn với chữ màu gì?

```
/* FiLe: mystyLe.css */
label {color:yellow;}
body {color: red;}

<!-- FiLe: index.htm -->
<!DOCTYPE html><html><head>
    <style>
        label.note {color: purple;}
        label {color:green;}
    </style>    
    <link rel="stylesheet" href="mystyle.css">
</head><body>
    <label class="note">Text</label>
</body></html>
```
- [ ] Vàng
- [x] Tím
- [ ] Đỏ
- [ ] Xanh
## 142. Lệnh prompt trong JavaScript để làm gì?
- [ ] Hiện một thông báo dạng OK
- [x] Hiện một dòng nhắc nhập dữ liệu
- [ ] Hiện một thông báo dạng Yes, No
- [ ] Hiện một thông báo dạng OK, Retry, Cancel
## 143. Khai báo sau đây có hợp lệ hay không?

```
function x() {
    function y() {
        console.log("xy");
    }
}
```

- [x] Có
- [ ] Không

## 144. Kết quả của đoạn mã JavaScript sau là gì?
```
var x = 0;
do {console.log(x);} while (x > 0);
```

- [x] 0
- [ ] null
- [ ] Không có kết quả.
- [ ] 1

## 145. Khi duyệt trang web có nội dụng như sau:

```
<!DOCTYPE html><htm1><body>
    <ul id="mylist">
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
    </ul>
    <script type="text/javascript">
        var list = document.getElementById("mylist").childNodes;
        for (mask1; i < list.length; mask2)
            console.log(list[i].innerHTML);
    </script>    
</body></html>
```

kết quả in ra console là (Lưu ý: console chứ không phải GUI)

```
Item 1
Item 2
Item 3
```

Hỏi các câu lệnh đã bị che mặt nạ (mask1, mask2) trong lệnh

`for (mask1; i < list.length; mask2)`

có nội dung là gì?
- [x] A
```
mask1: var i = 0
mask2: i++
```
- [ ] B
```
mask1: var i = 1
mask2: i = i + 2
```
- [ ] C
```
mask1: var i = 0
mask2: i = i + 2
```
- [ ] D
```
mask1: var i = 1
mask2: i++
```

## 146. Đâu không phải là thuộc tính của plug-in cho trình duyệt web?

- [ ] Chương trình độc lập
- [ ] Mở chạy nhanh chóng
- [ ] Liên kết chặt với trình duyệt
- [x] Hiển thị bên trong cửa sổ trình duyệt

## 147. Khi chạy đoạn mã JavaScript sau

```
function Writing(c) {
    var content = c;
    this.getContent = function() {
        return content;
    }
}

function Post(c, d) {
    Writing...;
    var date = d;
    this.toString = function() {
        return ...;
    };
}

var p = new Post("post bla bla", new Date());
console.log(p.toString());
```

kết quả in ra console là

`post bla bla,Tue Aug 97 2018 16:15:56 GMT+9700 (+87)`

Hỏi các câu lệnh còn thiếu (Writing...; và return ...;) có nội dung là gì?
- [x] A
```
Writing.call(this, c);
return this.getContent() + "," + date;
```
- [ ] B
```
Writing.call(this, c);
return content + "," + date;
```
- [ ] C
```
Writing.apply(this, c);
return this.getContent() + "," + date;
```
- [ ] D
```
Writing.apply(this, c);
return content + "," + date;
```

## 148. Những thông tin nào sao đây được sử dụng để làm định danh cho ứng dụng web?

- [x] tên máy (hostname)
- [x] số hiệu cổng (port)
- [x] lược đồ (http, https)
- [ ] tài nguyên web
- [ ] nơi đặt máy chủ lưu ứng dụng web
- [x] địa chỉ IP
- [ ] tên cơ quan sở hữu trang web
- [ ] lĩnh vực hoạt động của trang web

## 149. Câu lệnh nào sau đây không tạo ra một đối tượng JavaScript?

- [x] var obj = {name = “Steve”};
- [ ] var obj = {name: “Steve”};
- [ ] var obj = new Object();
- [ ] var obj = {};

## 150. Thuộc tính CSS nào được sử dụng để đặt cỡ chữ?

- [ ] font-style
- [ ] text-style
- [x] font-size
- [ ] text-size

## 151. Cho trang web có nội dung như sau:

```
<!DOCTYPE html><html    ><head>
    <style> div {color:red;} </style>
</head><body>
    <div>Text 1</div>
    <div><label>Text 2<label></div>
    <div><span><label>Text 3</label></span></div>
    <label>Text 4</label>    
</body></html>
```

Có bao nhiêu dòng văn bản được hiến thị theo màu đỏ?
- [ ] 2
- [ ] 4
- [ ] 1
- [x] 3

## 152. Khai báo nào sau đây hợp lệ
- [ ] `<body><title></title></body>`
- [x] `<head><title></title></head>`
- [ ] `<head><title></title><title></title></head>`
- [ ] `<body><title></title><title></title></body>`

## 153. Thấy gì với đoạn mã sau đây?
`var count = [1,,3];`
- [ ] Có ngoại lệ phát sinh
- [ ] count là mảng có 2 phần tử
- [x] count[1] có giá trị là “undefined”
- [ ] Có lỗi phát sinh

## 154. Kết quả trả về của đoạn mã sau đây là gì?

```
var a = [1,2,3,4,5];
a.slice(0,3);
```

- [ ] `[1,2,3,4,5]`
- [ ] `[1,2,3,4]`
- [ ] `[4,5]`
- [x] `[1,2,3]`

## 155. Cho đoạn mã JavaScript sau

```
function a(x, y) {
    function b(x, y) {
        return (x + y);
    }
    this.c = function(x, y) {
        return (x + y);
    }
}
```
Các câu lệnh nào sau đây là hợp lệ nếu được viết sau đoạn mã trên?

- [ ] A 
```
var o = new a();
console.log(o.b(1, 2));
```
- [x] B 
```
var o = new a();
console.log(o.c(1, 2));
```
- [ ] C
```
console.log(a.b(1, 2));
```
- [ ] D
```
console.log(a.c(1, 2));
```

## 156. Mỗi thẻ (tag) HTML là một
- [ ] hàm ảo
- [ ] hàm hủy (destructor)
- [ ] hàm thông thường
- [x] hàm tạo (constructor)

## 157. Trong JavaScript, hàm parseFloat() dùng để làm gì?
- [x] Chuyển một chuỗi thành số thực.
- [ ] Chuyển một số thực thành số nguyên.
- [ ] Chuyển một chuỗi thành số nguyên.
- [ ] Chuyển một số nguyên thành số thực.


## 158. Lựa chọn mệnh đề để có phát biểu nào chính xác?

Có thể sử dụng chuỗi truy vấn (query string) trong URL để gửi dữ liệu người dùng từ trình khách đến trình duyệt 

- [ ] chỉ có thể bằng GET hoặc POST.
- [x] chỉ có thể bằng phương thức GET.
- [ ] chỉ có thể bằng phương thức POST.
- [ ] bằng bất kỳ phương thức HTTP nào.

## 159. Câu lệnh nào bao hàm script từ bên ngoài có tên là “my.js”

- [ ] `<script link = “my.js”></script>`
- [x] `<script src = “my.js”></script>`
- [ ] `<script href = “my.js"></script>`
- [ ] `<script rel = “my.js”></script>`

## 160. Phát biểu nào sau đây KHÔNG đúng?

- [x] Theo mô hình RGB, FF0000 biểu diễn màu hồng.
- [ ] Theo mô hình RGB, FFFF00 biểu diễn màu vàng.
- [ ] Theo mô hình RGB, 000000 biểu diễn màu đen.
- [ ] Theo mô hình RGB, FFFFFF biểu diễn màu trắng.

### Giải thích:
- `ff0000` biểu diễn màu đỏ.

## 161. Điều nào sau đây KHÔNG phải là yêu cầu để ai đó ở quốc gia khác có thể xem trang web của bạn ?
- [ ] Khi họ yêu cầu trang web, trinh phục vụ web phải gửi nội dung trang web cho họ
- [ ] Quyền trên tập phải được thiết lập để bất kỳ ai cũng có thể đọc
- [x] Họ phải dùng cùng trình duyệt với trình duyệt của bạn.
- [ ] Bạn phải đưa các tập chứa nội dung web lên trinh phục vụ web

## 162. Mỗi tiêu đề sau đây có thể xuất hiện trong yêu cầu hay đáp ứng HTTP?



| Tiêu đề                     |          Yêu cầu HTTP           |          Đáp ứng HTTP           |      Cả yêu cầu và đáp ứng      |
|:--------------------------- |:-------------------------------:|:-------------------------------:|:-------------------------------:|
| Accept                      | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| Accept-Encoding             | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| Authorization               | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| Cookie                      | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| Host                        | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| If-Modified-Since           | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| If-None-Match               | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| Origin                      | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| Referer                     | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| User-Agent                  | <input type="checkbox" checked> |     <input type="checkbox">     |     <input type="checkbox">     |
| Access-Control-Allow-Origin |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| Cache-Control               |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| ETag                        |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| Expires                     |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| Location                    |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| Pragma                      |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| Server                      |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| Set-Cookie                  |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| WWW-Authenticate            |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| X-Frame-Options             |     <input type="checkbox">     | <input type="checkbox" checked> |     <input type="checkbox">     |
| Connection                  |     <input type="checkbox">     |     <input type="checkbox">     | <input type="checkbox" checked> |
| Content-Encoding            |     <input type="checkbox">     |     <input type="checkbox">     | <input type="checkbox" checked> |
| Content-Length              |     <input type="checkbox">     |     <input type="checkbox">     | <input type="checkbox" checked> |
| Content-Type                |     <input type="checkbox">     |     <input type="checkbox">     | <input type="checkbox" checked> |
| Transfer-Encoding           |     <input type="checkbox">     |     <input type="checkbox">     | <input type="checkbox" checked> |


## 163. Proxy được sử dụng với mục đích tăng tốc độ truy cập và giảm chi phí duyệt web là
- [x] forward proxy
- [ ] reverse proxy
- [ ] cache proxy
- [ ] intermediate proxy

## 164. CGI là viết tắt của
- [x] Common Gateway Interface
- [ ] Community of Gateway Inner
- [ ] Common Gateway Internet
- [ ] Cisco Gateway Internet

## 165. 5xx là nhóm mà trạng thái HTTP với ý nghĩa gì?
- [ ] Yêu cầu có lỗi.
- [ ] Đáp ứng có lỗi.
- [x] Trình phục vụ có lỗi và không thể đáp ứng yêu cầu.
- [ ] Ứng dụng có lỗi và không thể đáp ứng yêu cầu.

### Giải thích:
- Mã trạng thái:
    - 1xx — Thông tin
    - 2xx — Thành công
    - 3xx — Client được chuyển hướng
    - 4xx — Yêu cầu có lỗi
    - 5xx — Server có lỗi

## 166. Thuộc tính nào của `<form>` cho biết tài nguyên được gọi khi đệ trình dữ liệu?
- [ ] method
- [ ] onsubmit
- [ ] target
- [x] action

## 167. Thẻ nào được sử dụng để trình bày văn bản kiểu in nghiêng
- [ ] `<italic>`
- [x] `<i>`
- [ ] `<italics>`
- [ ] `<it>`

## 168. Khai báo nào sau đây hợp lệ
- [ ] `<table><thead></thead><tfoot></tfoot><tbody></tbody><caption></caption></table>`
- [ ] `<table><caption></caption><thead></thead><tfoot></tfoot><tbody></tbody></table>`
- [x] `<table><caption></caption><thead></thead><tbody></tbody><tfoot></tfoot></table>`
- [ ] `<table><thead></thead><tbody></tbody><tfoot></tfoot><caption></caption></table>`

## 169. Khai báo nào là đúng để tạo ra một dòng trong bảng
- [ ] `<trow align='center' />`
- [x] `<tr align="center"> ... </tr>`
- [ ] `<tr align='center' />`
- [ ] `<trow align='center'> ... </tr>`

## 170. Khi tạo siêu liên kết, không nên thực hiện điều nào sau đây?
- [ ] Sử dụng nhãn cho siêu liên kết một cách cẩn thận.
- [x] Tạo siêu liên kết thu hút người đọc bằng hiệu ứng nhấp nhảy trên màn hình.
- [ ] Sử dụng siêu liên kết ngắn và có ngữ nghĩa.
- [ ] Sử dụng siêu liên kết hấp dẫn.

## 171. Khai báo nào để tạo ra một danh sách dạng dropdown
- [ ] `<list>`
- [ ] `<input type="list">`
- [x] `<select>`
- [ ] `<input type="dropdown">`

## 172. Đối tượng `<blockquote>` được dùng để làm gì?
- [x] trích dẫn nội dung cả đoạn dài
- [ ] chỉ tên tác giả của công trình được trích dẫn
- [ ] chỉ tên công trình được trích dẫn
- [ ] trích dẫn nội dung ngắn

## 173. `<option>` nào sau đây được chọn theo mặc định?
- [ ] `<OPTION SELECT>`
- [ ] `<OPTION CHECKED>`
- [x] `<OPTION SELECTED>`
- [ ] `<OPTION CHECK>`

## 174. multiple là thuộc tính của
- [ ] `<textarea>`
- [x] `<select>`
- [ ] `<optgroup>`
- [ ] `<option>`

## 175. Thẻ nào trong các thẻ sau đây không hợp lệ
- [ ] `<i>`
- [x] `<under>`
- [ ] `<tt>`
- [ ] `<b>`

## 176. Khai báo nào sau đây hợp lệ
- [ ] `<link><link/><head></head><body></body>`
- [ ] `<head></head><body></body><link><link/>`
- [ ] `<head><link><link/></head>`
- [x] `<head><link></link></head><body><link></link></body>`

## 177. Đâu không phải là một dạng tham chiều ký tự trong HTML
- [ ] `&#x300;`
- [ ] `&#300;`
- [ ] `&copy;`
- [x] `%300`

## 178.  Khai báo nào đúng để tạo một liên kết đến website Trường Đại học Công nghệ
- [ ] `<a url="http://uet.vnu.edu.vn">Trường Đại học Công nghệ <a>`
- [x] `<a href="http://uet.vnu.edu.vn">Trường Đại học Công nghệ</a>`
- [ ] `<a name="http://uet.vnu.edu.vn">Trưởng Đại học Công nghệ </a>`
- [ ] `<a src="http://uet.vnu.edu.vn">Trường Đại học Công nghệ </a>`

## 179. Phát biểu nào sau đây đúng?
- [ ] Đối tượng `<basefont>` phải được khai báo trước đối tượng `<title>`
- [ ] Đối tượng `<basefont>` cho phép đặt kích thước phông bất kỳ.
- [ ] Đối tượng `<basefont>` có thuộc tỉnh gsize
- [x] Đối tượng `<basefont>` được khai báo trong đối tượng `<head>` để thiết lập cỡ chữ mặc định cho tài liệu HTML

## 180. Lề đứng (vertical margin) giữa hai đối tượng "div 1" và "div 2" trong ví dụ sau là bao nhiều?
```
<!DOCTYPE html> <html>

<head>
    <style>
        .st1 {
            margin: 50px;
        }

        .st2 {
            margin: -40px;
        }
    </style>
</head>

<body>
    <div class="st1">div 1</div>
    <div class="st2">div 2</div>
</body>

</html>
```

- [ ] 90px
- [ ] 40px
- [ ] 50px
- [x] 10px

## 181. Hãy phân loại đúng:

- Lớp giả: `a:first-child`
- Phần tử giả: `a::after`
- Phần tử: `a`
- Lớp: `.a`

## 182. Nội dung văn bản "Text here" trong khai báo sau sẽ được hiển thị trên giao diện như thế nào?
`<span style="color:red;color:green;color:blue;">Text here</span>`
- [ ] Màu xanh lá cây (green)
- [ ] Màu đen (black) theo mặc định, do khai báo không hợp lệ.
- [ ] Màu đỏ (red)
- [x] Màu xanh nước biển (blue)

## 183. Bộ chọn sau đây có nghĩa là gì?
`:is(section, article) h1 { }`
- [ ] Chọn các phần từ `<h1>` nằm trong `<article>` với điều kiện `<article>` nằm trong `<sections>`
- [ ] Chọn các phần tử `<h1>` nằm trong `<section>` và trong `<article>`
- [ ] Chọn các phần tử `<h1>` nằm trong `<article>` với điều kiện `<article>` nằm sau `<section>`
- [x]  Chọn các phần tử `<h1>` nằm trong `<section>` hoặc trong `<article>`

## 184. Bộ chọn nào sau đây chọn phần tử ảnh (img) không nằm trong đoạn văn `(p)`?
- [x] `:not(p) img`
- [ ] `img:not(p *)`
- [ ] Cả hai bộ chọn trên
- [ ] Không bộ chọn nào ở trên

## 185. Thực thể nào sau đây cho biết áp dụng kiểu dáng gì trên những đối tượng tài liệu nào?
- [ ] Thuộc tính định dạng
- [ ] Giá trị thuộc tính định dạng
- [x] Bảng định dạng (style sheet)
- [ ] Bộ chọn (selector)

## 186. Vị trí mặc định của các đối tượng tài liệu là gì?
- [ ] relative
- [ ] fixed
- [ ] absolute
- [x] static

## 187. Đối tượng nhãn `<label>` trong trang web sau đây được trình diễn với chữ màu gì?
```
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <style type="text/css">
        .st1 {
            color: red !important;
        }

        @layer special {
            .st2 {
                color: green !important;
            }
        }
    </style>
</head>

<body>
    <label class="st2 st1">Text here!</label>
</body>

</html>
```
- [ ] Đỏ (red)
- [x] Xanh (green)

## 188. Đoạn mã Javascript sau đây có hai câu lệnh bị che mặt nạ là mask1 và mask2.
```
fetch("books/" + document.querySelector("#book1").value)
.then(
    mask1 {
    if (resp.status == 200) {
        resp.mask2.then(
        d => { document.querySelector("h2.book-title").innerHTML = d.title; }
        );
    }
});

```
Các câu lệnh (mask1, mask2) đã bị che là gì?
- [ ] A
```
mask1: resp =>
mask2: json()
```
- [ ] B
```
mask1: function (resp)
mask2: json()
```
- [ ] C
```
mask1: resp =>
mask2: data()
```

- [x] Cả A và B đều đúng.

## 189. Thuộc tính nào dưới đây không thuộc đối tượng window?
- [ ] navigator
- [ ] history
- [ ] document
- [x] menu

## 190. Để thêm một dòng mới vào một bảng (`<table>`) có định danh tableid trên trang web, sử dụng JavaScript, chúng ta có các cách viết khác nhau như sau, NGOẠI TRỪ
- [ ] A
```
var newrow = document.createElement("tr");
document.getElementById("tableid").insertRow(newrow);
```
- [ ] B
```
var newrow = document.getElementById("tableid").insertRow(0);
```
- [ ] C
```
var newrow = document.createElement("tr");
document.getElementById("tableid").appendChild(newrow);
```
- [x] D
```
var newrow = document.createElement("tr");
document.getElementById("tableid").insertBefore(newrow, null);
```

## 191. Để sử dụng đối tượng HTML `<ul>` như một hàng đợi (queue) với mỗi `<li>` là một phần từ trong hàng đợi.
Ví dụ, nội dung `<ul>` được thay đổi sau các lệnh như sau:
Khởi tạo, nội dung `<ul>` là:

```
<ul id="mylist"></ul>
```


Nội dung `<ul>` sau các lệnh:

```
var list = document.querySelector("#mylist");
push(list, "abc");
```
là
```
<ul id="mylist"><li>abc</li></ul>
```

Tiếp theo, nội dung `<ul>` sau lệnh:

```
push(list, "def");
```
là
```
<ul id="mylist"><li>abc</li><li>def</li></ul>
```
Tiếp theo, nội dung `<ul>` sau lệnh:
```
pop(list);
```
là
```
ul id="mylist"><li>def</li></ul>
```

Cài đặt JavaScript được thực hiện như sau:
```
<script type="text/javascript">
    function newItem(txt) {
        let item = document.createElement("li");
        item.appendChild(document.createTextNode(txt));
        return item;
    }
    function push(list, txt) {
        mask1;
    }

    function pop(list) {
        let txt = list.hasChildNodes() ? list.firstChild.innerHTML : "";
        mask2;
        return txt;
    }
</script>
```

Hãy cho biết các câu lệnh bị che mặt nạ (mask1, mask2) có nội dung là gì?
- [ ] A
    - mask1: `list.newChild(newitem(txt));`
    - mask2: `if (list.hasChildNodes()) list.removeChild(list.lastChild);`
- [x] B
    - mask1: `list.appendChild(newitem(txt));`
    - mask2: `if (list.hasChildNodes()) list.removeChild(list.firstChild);`
- [ ] C
    - mask1: `list.addChild(newitem(txt));`
    - mask2: `if (list.hasChildNodes()) list.removeChild(list.firstChild);`
- [ ] D
    - mask1: `list.insertChild(newitem(txt));`
    - mask2: `if (list.hasChildNodes()) list.removeChild(list.lastChild);`

## 192. Đoạn mã
```
for(var p in a)
    console.log(a[p]);
```
tương đương với đoạn mã nào sau đây?
- [ ] A
```
for (var i = 1; i <a.length; i++)
    console.log(a[i]);
```
- [x] B
```
for (int i = 0; i <a.length; i++)
    console.log(a[i]);
```
- [ ] C
```
for (var i = 0; i <a.length; i++)
    console.log(a[i]);
```
- [ ] D
```
for (var i = 0; i <= a.length; i++)
    console.log(a[i]);
```

## 193. Câu nào sau đây không chính xác về khai báo một mảng trong JavaScript?
- [ ] `let arr= new array(1,2,3,4);`
- [ ] `let arr = [1, "two", 3, 4];`
- [x] `var[] arr = new Number()[5];`
- [ ] `var arr = new array():`

## 194. Đoạn mã JavaScript sau đây in ra dòng chuẩn (stdandard input) dữ liệu như thế nào?
```
console.log('1');
fetch('abc.jpg').then((response) => {
    console.log('2');
    return response.blob();
}).then((myBlob) => {
    console.log('3');
}).catch((error) => {
    alert(error.message);
});

console.log('4');
```
- [ ] 1234
- [ ] 1432
- [ ] 1243
- [x] 1423

## 195. null trong Javascript là gì?
- [ ] null có nghĩa là giá trị chuỗi rỗng.
- [ ] null nghĩa là giả trị không xác định.
- [x] null có nghĩa là không có giá trị.
- [ ] null nghĩa là giá trị bằng 0.

## 196. Khai báo sau đây có hợp lệ hay không?
```
function x() {
    function y(){
        console.log("xy");
    }
}
```
- [ ] Không, sai ở dòng thứ ba: `console.log("xy");`
- [ ] Không, sai ở dòng thứ nhất: `function x() {`
- [ ] Không, sai ở dòng thứ hai: `function y() {`
- [x] Có

## 197. Đoạn mã sau đây có đúng không?
`var tensquared = (function(x) {return x*x;}(18));`
- [ ] Sai về cú pháp
- [ ] Có lỗi xảy ra
- [ ] Gây rò rỉ bộ nhỏ
- [x] Có

## 198. Đâu là giá trị của biến arr sau khi chạy đoạn mã dưới đây
```
let arr = [0, 1, 2, 3];
arr.map(function(item) {
    return item * 3;
});
```
- [ ] 0
- [ ] null;
- [ ] [0, 3, 6, 9]
- [x] [0, 1, 2, 3]

## 199. Có thể sử dụng thuộc tính nào sau đây để thay đổi CSS cho một đối tượng?
- [x] style và className
- [ ] style và font
- [ ] font và size
- [ ] font và className

## 200. Phát biểu nào sau đây KHÔNG đúng về DOM?
- [ ] Mỗi nút trong DOM là một đối tượng với các thuộc tỉnh và phương thức.
- [x] Mọi nút trong DOM đều có nút con.
- [ ] Một thẻ cùng với HTML bên trong nó là một nút DOM
- [ ] DOM xem tài liệu như là một cây các đối tượng

## 201. Khai báo nào sau đây đúng nhất?
- [ ] A
```
<header></header>
<nav></nav>
<main></main>
<aside> </aside>
<footer></footer>
```
- [ ] B
```
<nav></nav>
<main>
    <header></header>
    <aside></aside
    <footer></footer>
</main>
```
- [x] C
```
<main>
    <header></header>
    <nav></nav>
    <aside></aside>
    <footer></footer>
</main>
```
- [ ] D
```
<header></header>
<nav></nav>
<main>
    <aside></aside>
</main>
<footer></footer>
```

## 202. Bob nhận được một email của Alice với nội dung là Alice muốn chia sẻ cho Bob một bài viết tại địa chỉ `https://www.voatiengviet.com/a/bi%E1%BB%83n-%C4%91%C3%B4ng-m%E1%AAu-s%C3%A1/4539.html`. Nhận định nào kém chính xác nhất về bài viết được chia sẻ?
- [x] 4539 có thể là định danh của bài viết
- [ ] URL của bài viết được chia sẻ có những ký tự đặc biệt đã được mã hóa phần trăm
- [ ] Tài nguyên của bài viết được chia sẻ là một trang HTML
- [ ] Bài viết thuộc về VoATiengViet.com

## 203. Sắp xếp các bộ chọn sau đây theo thứ tự GIẢM dần tính cụ thể.

1. ul#nav:first-child
2. ul#nav::after
3. ul#nav
4. ul.nav:first-child
5. ul nav:first-child
6. ul.nav
7. ul nav::after
8. ul nav

## 204. Đâu không phải là một thành tố quan trọng của một trình diễn trang web hiệu quả?
- [ ] Hệ thống điều hướng thân thiện với người dùng
- [ ] Nhất quán trong thiết kế
- [x] Viết nhiều để giải thích mục đích và chủ đề của trình diễn
- [ ] Lựa chọn màu phù hợp


## 205. Thuộc tính HTML nào được sử dụng để khai báo CSS nội tuyến?
- [ ] font
- [ ] styles
- [x] style
- [ ] class

## 206. Cho trang web có nội dung như sau:
```
<!DOCTYPE html><html>
<head>
    <style type="text/css">
        a:first-child {color:red;}
    </style>
</head>
<body>
    <h1>Welcome</h1>
    <a href="#link1">Link 1</a>
    <div>
        <a href="#link2">Link 2</a>
        <a href="#link3">Link 3</a>
    </div>
    <a href="#link4">Link 4</a>
</body>
</html>
```
Liên kết nào được hiển thị với chữ màu đỏ?

- [ ] Link 1
- [x] Link 2
- [ ] Link 3
- [ ] Link 4

## 207. Thẻ `<legend>` thường được dùng với thẻ
- [x] `<fieldset>`
- [ ] `<map>`
- [ ] `<area>`
- [ ] `<table>`
## 208. Thẻ nào được sử dụng để giảm kích thước hiển thị text
- [ ] `<smthan>`
- [ ] `<S>`
- [x] `<small>`
- [ ] `<smaller>`