wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ôn tập Java6

Total questions: 58

Worksheet time: 33mins

Name
Class
Date
1.

Đâu là cú pháp đúng khi sử dụng PageRequest để tạo Pageable?

a)

PageRequest.by(int page, int size)

b)

PageRequest.of(int page, int size)

c)

PageRequest.of(int page, int size, Direction direction, String...properties)

d)

PageRequest.of(int page, int size, Sort sort)

2.

Cho 2 phát biểu về ưu điểm khi sử dụng Thymeleaf so với JSP


1. Đơn giản, dễ quản lý, bảo trì


2. Thu hẹp khoảng cách giữa designer và developer

a)

1 đúng, 2 đúng

b)

1 sai, 2 sai

c)

1 sai, 2 đúng

d)

1 đúng, 2 sai

3.

Phương thức nào của Stream API dùng để tích lũy một giá trị nào đó từ các phần tử trong Stream đầu vào?

a)

peek()

b)

filter()

c)

reduce()

d)

map()

4.

Trong AngularJS, đâu là lệnh thiết lập header Authorization chung cho mọi request?

a)

$httpProvider.defaults.headers.common['Authorization'] = "Basic <token>"

b)

$httpProvider.defaults['Authorization'] = "Basic <token>"

c)

$httpProvider.defaults.headers['Authorization'] = "Basic <token>"

d)

$httpProvider.headers.common['Authorization'] = "Basic <token>"

5.

Giả sử biến items trong Model có kiểu là Map<String, String>. Hãy điền vào chỗ trống các thuộc tính thích hợp


<th:block th:each="item, state : ${items}">


<input th:value="${item.key}" _____="${item.key}" type="radio" name="r">


<label th:text="${item.value}" _____="${item.key}"></label>


</th:block>

a)

th:id, th:for

b)

th:id, th:name

c)

id, for

d)

th:name, th:for

6.

Biểu thức ~{/frags :: dynamic(~{::main})} được hiểu là gì?


1. Chọn fragment dynamic khai báo trong frags.html và truyền thẻ main ở trang web hiện tại cho tham số của fragment dynamic trong frags.html


2. Chọn fragment dynamic khai báo trong frags.html và truyền fragment main ở trang web hiện tại cho tham số của fragment dynamic trong frags.html

a)

1 sai, 2 sai

b)

1 đúng, 2 đúng

c)

1 đúng, 2 sai

d)

1 sai, 2 đúng

7.

Hãy điền vào chỗ trống biểu thức thích hợp để buộc thuộc tính p của bean b trong Model


<form th:action="@{/save}">


<input th:field="_____">


</form>

a)

${p}

b)

${b.p}

c)

*{p}

d)

*{b.p}

8.

Trong HttpServletRequest, phương thức nào cho phép lấy UserDetails chứa thông tin của người đăng nhập?

a)

getParameter(name)

b)

getUserPrincipal()

c)

getRemoteUser()

d)

isUserInRole(role)

9.

Đâu là lệnh tạo UserDetails hợp lệ?

a)

User.password().withUsername().roles().build();

b)

User.withUsername().password().roles().build();

c)

User.withUsername().password().authorities().build();

d)

User.withUsername().roles().password().build();

10.

Đâu là các phương thức được khai báo trong PagingAndSortingRepository?

a)

Page<T> findAll(Pageable pageable)

b)

List<T> findAll()

c)

Iterable<T> findAll(Sort sort)

d)

List<T> findAll(Sort sort)

11.

Đâu là phương thức trung gian trong Stream API?

a)

sum()

b)

peek()

c)

collect()

d)

reduce()

12.

Để truy xuất thông tin của người đăng nhập, trong Thymeleaf bạn có thể sử dụng đối tượng tiện ích nào?


1. #request


2. #authentication

a)

1 đúng, 2 đúng

b)

1 sai, 2 đúng

c)

1 sai, 2 sai

d)

1 đúng, 2 sai

13.

Giả sử biến items trong Model có kiểu là List<String>. Hãy chọn mã tạo ra các thẻ <option value="index">value</option>

a)

<option th:each="item: ${items}" th:value="${index}" th:text="${item}"/>

b)

<option th:each="item, state: ${items}" th:value="${state.index}" th:text="${item}"/>

c)

<option th:each="item, state: ${items}" th:value="${state.index}" th:text="${item.value}"/>

d)

<option th:each="item: ${items}" th:value="${item.index}" th:text="${item.value}"/>

14.

File tài nguyên đa ngôn ngữ phải đặt thao nguyên tắc nào.

a)

<tên>_<mã ngôn ngữ>.properties

b)

<tên>-<mã quốc gia>.properties

c)

<tên>_<mã quốc gia>.properties

d)

<tên>-<mã ngôn ngữ>.properties

15.

Hãy điền vào các chỗ trống để hoàn thiện phương thức truy vấn sản phẩm


@Query(value = "SELECT * FROM _____ WHERE Name LIKE ?1", nativeQuery = true)


List<_____> findByKeyword(String keyword);

a)

Product, Products

b)

Product, Product

c)

Products, Products

d)

Products, Product

16.

Cho 2 phát biểu về dự án Spring Boot sử dụng Thymeleaf như sau:


1. Cần phải khai báo thư viện Thymeleaf


2. Các template mặc định có đuôi là html và đặt trong thư mục src/main/resources/templates

a)

1 sai, 2 sai

b)

1 đúng, 2 đúng

c)

1 đúng, 2 sai

d)

1 sai, 2 đúng

17.

Lệnh nào sau đây tạo đối tượng UserDetails có username là "A", password là "B" và vai trò là "C"?


1. User.withUsername("A").password("B").roles("C").build();


2. User.withUsername("A").roles("C").password("B").build();

a)

1 sai, 2 đúng

b)

1 đúng, 2 đúng

c)

1 đúng, 2 sai

d)

1 sai, 2 sai

18.

Hãy viết phương thức DSL tương đương với truy vấn sau:


@Query(“SELECT p FROM Product p WHERE p.price<=?1 OR p.name LIKE ?2”)

a)

findByNameLessThanEqualOrPriceLike(double value, String name)

b)

findByPriceLessThanEqualOrNameEqual(double value, String name)

c)

findByPriceEqualOrNameLike(double value, String name)

d)

findByPriceLessThanEqualOrNameLike(double value, String name)

19.

Đâu là các toán tử số học được sử dụng trong Thymeleaf?

a)

*

b)

mod

c)

/

d)

%

20.

Đâu là các thuộc tính do Thymeleaf định nghĩa mới dựa vào thuộc tính có sẵn của HTML?

a)

th:block

b)

th:src

c)

th:insert

d)

th:replace

21.

Hãy điền vào chỗ trống để đoạn mã tính tổng căn bậc 2 các số chia hết cho 3


Stream<Integer> s = Stream.of(1, 9, 4, 7, 5, 2);


double x = s.filter(n -> n % 3 == 0)._____.sum();

a)

mapToDouble(Math::sqrt)

b)

mapToInt(Math::sqrt)

c)

mapToInt(n -> Math.sqrt(n))

d)

mapToDouble(n -> Math.sqrt(n))

22.

Cho 2 phát biểu về vị trí của đối số tích lũy lỗi:


1. Đối số BindingResult hoặc Errors bắt buộc phải đặt ngay sau bean được kiểm lỗi


2. Đối số BindingResult hoặc Errors không bắt buộc phải đặt ngay sau bean được kiểm lỗi

a)

1 đúng, 2 đúng

b)

1 sai, 2 sai

c)

1 đúng, 2 sai

d)

1 sai, 2 đúng

23.

Hãy điền vào các chỗ trống để tạo thành câu lệnh đúng cú pháp trong AngularJS.


$http._____(url)._____(response => {})._____(error => {}))

a)

post/then/catch

b)

delete/then/catch

c)

get/then/catch

d)

put/then/catch

24.

Với http là HttpSecurity, đâu là những URL đã được bảo vệ với lệnh sau


http.authorizeRequests().antMatchers("/a/**").authenticated()

a)

/a/b

b)

/a/b/c/d

c)

/a

d)

/a/b/c

25.

Trong file cấu hình Security, bạn cần viết mã cung cấp cơ chế mã hóa mật khẩu trong phương thức nào?

a)

configure(AuthenticationManagerBuilder auth)

b)

configure(HttpSecurity http)

c)

configure(WebSecurity web)

d)

getPasswordEncoder()

26.

Biểu thức ~{/frags :: dynamic(~{::#main})} được hiểu là gì?


1. Chọn fragment dynamic khai báo trong frags.html và truyền thẻ có id là main ở trang web hiện tại cho tham số của fragment dynamic trong frags.html


2. Chọn fragment dynamic khai báo trong frags.html và truyền fragment main ở trang web hiện tại cho tham số của fragment dynamic trong frags.html

a)

1 đúng, 2 đúng

b)

1 sai, 2 sai

c)

1 đúng, 2 sai

d)

1 sai, 2 đúng

27.

Page chứa kết quả truy vấn phân trang. Gọi phương thức nào để lấy tổng số trang truy vấn được?

a)

getSize()

b)

getTotalPages()

c)

getNumber()

d)

getContent()

28.

Đâu là các thuộc tính do Thymeleaf định nghĩa mới dựa vào thuộc tính có sẵn của HTML?

a)

th:utext

b)

th:href

c)

th:fragment

d)

th:remove

29.

Đâu là các phương thức của JsonNode được sử dụng để chuyển đổi giá trị của node sang kiểu thích hợp?

a)

asDouble()

b)

asInt()

c)

asString()

d)

asText()

30.

Trong Thymeleaf, biểu thức nào cho phép truy xuất danh sách authority?

a)

${#authentication.authorities}

b)

${#authentication.getAuthorities()}

c)

${#request.userPrincipal.authorities}

d)

${#request.userPrincipal.getAuthorities()}

31.

Với conn là đối tượng HttpURLConnection, hãy điền vào chỗ trống tên các phương thức để thực hiện việc đọc dữ liệu trả về từ REST API?


int responseCode = conn._____;


if (responseCode == 200) {


return mapper.readTree(conn._____);


}

a)

setResponseCode()/getInputStream()

b)

getResponseCode()/getInputStream()

c)

getResponseCode()/setInputStream()

d)

setResponseCode()/setInputStream()

32.

Hãy điền vào chỗ trống tên phương thức thích hợp của AngularJS để thêm mới dữ liệu.


$http._____(url, data).then(response => {}).catch(error => {}))

a)

put

b)

get

c)

post

d)

delete

33.

Hãy điền vào chỗ trống để hoàn thiện phương thức truy vấn


@Query("SELECT o FROM Product o WHERE o.category.id=:cid")


List<Product> findByCategoryId(_____ String id);

a)

@Param(":cid")

b)

@Param("cid")

c)

@Param("?1")

d)

@Param("1?")

34.

Giả sử x là biến trong Model có kiểu là List. Đâu là biểu thức hiển thị số lượng phần tử có trong x?

a)

${#lists.length(x)}

b)

${#lists.size(x)}

c)

${#arrays.length(x)}

d)

${#arrays.size(x)}

35.

Cho 2 phát biểu sau:


1. User là interface mô tả mô hình dữ liệu của người đăng nhập


2. UserDetails là class implements UserDetails đồng thời bổ sung các hàm tiện ích giúp bạn dễ dàng tạo ra đối tượng UserDetails

a)

1 sai, 2 sai

b)

1 đúng, 2 đúng

c)

1 đúng, 2 sai

d)

1 sai, 2 đúng

36.

Hãy điền vào chỗ trống kiểu kết quả thu được của đoạn mã sau:


Stream<Integer> s = Stream.of(1, 9, 4, 7, 5, 2);


_____ list = s.filter(n -> n % 3 == 0)


.map(n -> String.format("%.2f", Math.sqrt(n)))


.collect(Collectors.toList());

a)

List<Long>

b)

List<Integer>

c)

List<Double>

d)

List<String>

37.

Hãy viết phương thức DSL tương đương với truy vấn sau:


@Query(“SELECT p FROM Product p WHERE p.price=?1”)

a)

findByPrice(double value)

b)

findByPriceEqual(double value)

c)

findByPriceLessThan(double value)

d)

findByPriceGreaterThan(double value)

38.

Đâu là phương thức được khai báo trong UserDetails?

a)

getUsername()

b)

getName()

c)

isEnable()

d)

getAuthorities()

39.

Đâu là phương thức được khai báo trong UserDetails để truy xuất tên đăng nhập?

a)

getUsername()

b)

getName()

c)

getAuthorities()

d)

isEnable()

40.

Hãy chọn biểu thức đúng?

a)

${#request.requestURI}

b)

${#servletContext.contextPath}

c)

${#request.getParameter('x')}

d)

${#request.getRequestURI()}

41.

Hãy cho biết kết quả của biểu thức sau:


Stream.of(1, 9, 3, 7, 6, 2).filter(n -> n % 3 == 0).reduce(0, (p, c) -> p + c)

a)

9

b)

3

c)

18

d)

6

42.

Trong HttpServletRequest, phương thức nào cho phép kiểm tra người đăng nhập có vai trò nào đó hay không?

a)

getRemoteUser()

b)

getParameter(name)

c)

isUserInRole(role)

d)

getUserPrincipal()

43.

Hãy điền vào chỗ trong biểu thức thích hợp để hiển thị lỗi của thuộc tính p của bean b trong Model


<form th:action="@{/save}">


<input th:errors="_____">


</form>

a)

*{p}

b)

*{b.p}

c)

${b.p}

d)

${p}

44.

Với http là HttpSecurity, đâu là phương thức của http.rememberMe() giúp tùy biến tên tham số ghi nhớ tài khoản của form đăng nhập?

a)

remember()

b)

rememberMeParameter()

c)

rememberParameter()

d)

parameter()

45.

Mục đích của web service là gì?


1. Xây dựng các operation trên nền internet chỉ để phục vụ cho các ứng dụng web


2. Xây dựng các operation trên nền internet để phục vụ cho mọi thể loại ứng dụng

a)

1 sai, 2 sai

b)

1 sai, 2 đúng

c)

1 đúng, 2 sai

d)

1 đúng, 2 đúng

46.

Khi thực hiện GET, Firebase REST API sẽ trả về dữ liệu gì?

a)

Đối tượng JSON

b)

Mảng

c)

Chuỗi

d)

Số

47.

Cho Realtime Database của firebase như hình trên, Để thêm mới một user bạn cần thực hiện POST đến URL nào?

a)

URL: https://poly-java-6-d4e0b-default-rtdb.firebaseio.com/

b)

URL: https://poly-java-6-d4e0b-default-rtdb.firebaseio.com/users/PS09013/contact.json

c)

URL: https://poly-java-6-d4e0b-default-rtdb.firebaseio.com/users.json

d)

URL: https://poly-java-6-d4e0b-default-rtdb.firebaseio.com/users/PS09013.json

48.

Khi thực hiện POST, Firebase REST API sẽ trả về dữ liệu gì?

a)

Đối tượng chứa thuộc tính name là key được sinh tự động

b)

Chuỗi chứa key được sinh tự động

c)

Đối tượng vừa thêm mới thành công

d)

Đối tượng rỗng

49.

Trong bảo mật, CORS (Cross-Site Resource Sharing) là kỹ thuật dùng để ngăn chặn?

a)

Ngăn chặn thực hiện của script được nhập từ người sử dụng

b)

Ngăn chặn các request giả lập

c)

Ngăn chặn chia sẻ tài nguyên

d)

Ngăn chặn thực hiện khi chưa đăng nhập

50.

Hãy cho biết kết quả của biểu thức sau:


Stream.of(1, 9, 3, 7, 6, 2).filter(n -> n % 3 == 0).reduce(10, (p, c) -> p > c ? c : p)

a)

9

b)

18

c)

6

d)

3

51.

Page chứa kết quả truy vấn phân trang. Gọi phương thức nào để lấy danh sách (List<T>) các thực thể của trang truy vấn?

a)

getSize()

b)

getNumber()

c)

getContent()

d)

getTotalPages()

52.

Hãy điền mã đúng vào chỗ trống


List<Integer> list = Arrays.asList(1, 9, 4, 7, 5, 2);


list.forEach(_____);

a)

n -> System.out.println(n)

b)

(n) -> System.out.println(n)

c)

(n) -> {System.out.println(n)}

d)

n -> {System.out.println(n);}

53.

Hãy điền vào chỗ trống của đoạn mã Java sau đây để có thể thực hiện cập nhật dữ liệu với REST API và nhận kết quả JSON


URL url = new URL("...");


HttpURLConnection conn = (HttpURLConnection) url.openConnection();


conn.setRequestProperty("Accept", "_____");


conn.setRequestMethod("_____");

a)

application/json, GET

b)

application/json, DELETE

c)

application/json, PUT

d)

application/json, POST

54.

Hãy điền vào chỗ trống để hoàn thiện câu lệnh JPQL


@Query("SELECT o._____ FROM Product o WHERE o.id=?1")


Category findByProduct(Integer id);

a)

category

b)

product

c)

category.id

d)

product.id

55.

Giả sử chúng ta muốn có các liên kết đến trang đăng nhập từ mạng xã hội như các liên kết sau:

<a href="/oauth2/google">Google</a>

<a href="/oauth2/facebook">Facebook</a>

Hãy điền vào chỗ trống để hoàn thiện mã cấu hình đăng nhập xã hội

http.oauth2Login()

.loginPage("/auth/login/form")

.defaultSuccessUrl("/oauth2/login/success", true)

.failureUrl("/auth/login/error")

.authorizationEndpoint()

.baseUri("_____");

a)

/oauth2

b)

/oauth2/facebook

c)

/oauth2/authorization

d)

/oauth2/google

56.

Đâu là phương thức được khai báo trong UserDetails có thể truy xuất đến vai trò của người sử dụng?

a)

getRole()

b)

getUsername()

c)

isEnable()

d)

getAuthorities()

57.

Trong REST, GET đại diện cho hoạt động nào?

a)

Xóa dữ liệu

b)

Cập nhật dữ liệu

c)

Truy vấn dữ liệu

d)

Thêm mới dữ liệu

58.

Hãy điền vào chỗ trống biểu thức thích hợp để buộc thuộc tính p của bean b trong Model


<form th:action="@{/save}" th:object="${b}">


<input th:field="_____">


</form>

a)

${p}

b)

*{b.p}

c)

*{p}

d)

${b.p}