Search Header Logo
Sprinh boot

Sprinh boot

Assessment

Presentation

Information Technology (IT)

University

Practice Problem

Hard

Created by

Hiển Trần

FREE Resource

1 Slide • 76 Questions

1

Spring

By Hiển Trần

2

Multiple Choice

Bean trong Spring Framework là gì?

1
Bean là một loại đậu trong nông nghiệp.
2
Bean là một thư viện Java không liên quan đến Spring.
3
Bean là một kiểu dữ liệu trong C++.
4
Bean trong Spring Framework là đối tượng được quản lý bởi Spring IoC container.

3

Multiple Choice

Vòng đời của Spring bean nào dưới đây là đúng?

1

App start ->

Spring container start -> Bean Instantiated ->

DI ->

init() (@PostConstruct) -> method khác được gọi ->

destroy() (@PreDestroy)

2

App start ->

Spring container start -> Bean Instantiated ->

method khác được gọi ->

init() (@PostConstruct) ->

DI ->

destroy() (@PreDestroy)

3

App start ->

Spring container start ->

method khác được gọi ->

Bean Instantiated ->

init() (@PostConstruct) ->

DI ->

destroy() (@PreDestroy)

4

App start ->

method khác được gọi ->

Spring container start ->

Bean Instantiated ->

init() (@PostConstruct) ->

DI ->

destroy() (@PreDestroy)

4

Multiple Choice

Khi Spring Boot application khởi động, điều gì xảy ra đầu tiên với một Bean?

1

Dependency Injection

2

Gọi phương thức init

3

Khởi tạo (Instantiation)

4

Gọi phương thức destroy

5

Multiple Choice

Khi nào các dependency (các đối tượng khác mà Bean phụ thuộc vào) được inject vào Bean?

1

Trước khi Bean được tạo

2

Ngay sau khi gọi phương thức destroy

3

Sau khi Bean được tạo (instantiated)

4

Trước khi gọi phương thức main()

6

Multiple Choice

Annotation nào được sử dụng để đánh dấu phương thức khởi tạo trong vòng đời Bean?

1

@PreDestroy

2

@Inject

3

@Autowired

4

@PostConstruct

7

Multiple Choice

Phương thức destroy() hoặc method đánh dấu @PreDestroy được gọi khi nào?

1

Trước khi Bean được sử dụng

2

Khi ứng dụng bị dừng hoặc context bị shutdown

3

Ngay sau khi Bean được khởi tạo

4

Khi controller gọi phương thức đầu tiên

8

Multiple Choice

Vòng đời đầy đủ của một Spring Bean Singleton là gì?

1

nstantiation → destroy → init → inject → use

2

Inject → instantiate → destroy

3

Instantiation → Dependency Injection → @PostConstruct → sử dụng → @PreDestroy

4

Sử dụng → Dependency Injection → init → destroy

9

Multiple Choice

Scope mặc định của Spring Bean là gì?

1

Prototype

2

Singleton

3

Request

4

Session

10

Multiple Choice

Scope nào sẽ tạo một đối tượng Bean mới mỗi khi có HTTP request?

1

Prototype

2

Singleton

3

Request

4

Session

11

Multiple Choice

Scope nào KHÔNG bị Spring container quản lý vòng đời sau khi tạo?

1

Prototype

2

Singleton

3

Request

4

Session

12

Multiple Choice

Annotation nào dùng để khai báo scope của một Bean?

1

@Component

2

@Bean

3

@Scope

4

@Autowired

13

Multiple Choice

Scope nào chia sẻ Bean cho toàn bộ ServletContext (ứng dụng web)?

1

Prototype

2

Singleton

3

Request

4

Application

14

Multiple Choice

Dependency Injection (DI) trong Spring thuộc nguyên lý nào?

1

Aspect-Oriented Programming (AOP)

2

Inversion of Control (IoC)

3

Model-View-Controller (MVC)

4

Transaction Management

15

Multiple Choice

Mục tiêu chính của Dependency Injection là gì?

1

Tăng tốc độ runtime

2

Giảm coupling giữa các class

3

Tăng kích thước ứng dụng

4

Tạo dependency tự động bên trong class

16

Multiple Choice

Loại Dependency Injection nào an toàn nhất và dễ test nhất?

1

Field Injection

2

Setter Injection

3

Constructor Injection

4

Tạo dependency tự động bên trong class

17

Multiple Choice

Annotation nào được dùng để đánh dấu dependency trong Spring?

1

@Inject

2

@Autowired

3

@Bean

4

@Service

18

Multiple Choice

Annotation nào được dùng để đánh dấu dependency trong Spring?

1

@Inject

2

@Autowired

3

@Bean

4

@Service

19

Multiple Choice

Các loại Dependency Injection?

1
Property Injection
2
Method Injection
3

Constructor Injection, Property or Setter Injection, Method Injection

4
Field Injection

20

Multiple Choice

Annotation nào là gốc (cha) của các annotation khác?

1

@Controller

2

@Component

3

@Repository

4

@Service

21

Multiple Choice

Annotation nào giúp Spring tự động bắt và xử lý exception liên quan đến database?

1

@Controller

2

@Component

3

@Repository

4

@Service

22

Multiple Choice

Annotation nào dùng để xử lý HTTP request và trả về view (hoặc JSON)?

1

@Controller

2

@RestController

3

@Repository

4

@Service

23

Multiple Choice

@Autowired sẽ tìm Bean để inject dựa trên?

1

Tên biến

2

Loại dữ liệu (type)

3

Cấu trúc class

4

@Service

24

Multiple Choice

Annotation nào dùng để đăng ký Bean bằng tay?

1

@Component

2

@Service

3

@Bean

4

@Autowired

25

Multiple Choice

Constructor Injection có ưu điểm gì?

1

Có thể dùng final, dễ test

2

Dễ bị lỗi nếu không set

3

Phù hợp với optional dependency

4

Không cần khai báo constructor

26

Multiple Choice

Annotation @Configuration dùng để làm gì trong Spring?

1

Đánh dấu một class là controller

2

Đánh dấu một class chứa các Bean được định nghĩa bằng tay

3

Dùng để khởi tạo một Bean

4

Quét các component tự động

27

Multiple Choice

Annotation nào dùng để chọn đúng Bean khi có nhiều Bean cùng kiểu?

1

@Autowired(required=false)

2

@Primary

3

@Qualifier

4

@Value

28

Multiple Choice

Câu nào sau đây đúng về @Bean?

1

Chỉ có thể sử dụng trong class không được đánh dấu @Configuration

2

Dùng để đánh dấu một method trả về Bean để Spring quản lý

3

Dùng để đánh dấu class là một Bean

4

Là cách Spring tự động quét Bean trong classpath

29

Multiple Choice

Annotation nào dùng để chọn đúng Bean khi có nhiều Bean cùng kiểu?

1

@Autowired(required=false)

2

@Primary

3

@Qualifier

4

@Value

30

Multiple Choice

Khi nào nên sử dụng @Bean thay vì @Component?

1

Khi bạn muốn Spring tự động tạo Bean mà không cần logic tùy chỉnh

2

Khi Bean là một class đơn giản không cần cấu hình

3

Khi bạn cần khởi tạo Bean với logic phức tạp hoặc từ thư viện bên ngoài

4

Khi dùng với @Autowired

31

Multiple Choice

Nếu bạn có 3 Bean cùng kiểu và không chỉ định gì, Spring sẽ chọn Bean nào?

1

Random

2

Gây lỗi

3

Bean có @Qualifier

4

Bean có @Primary

32

Multiple Choice

Khi nào nên dùng @Bean thay vì @Component?

1

Khi class bạn viết nằm trong package đã được scan

2

Khi bạn cần tạo Bean từ class bên ngoài không thể sửa mã nguồn

3

Khi class có annotation @Service

4

Khi bạn dùng @Autowired

33

Multiple Choice

Có thể dùng @Primary và @Qualifier cùng lúc không?

1

Không

2

Có, nhưng lỗi runtime

3

Có, @Qualifier sẽ override @Primary

4

Chỉ dùng được 1 cái

34

Multiple Choice

Annotation nào được dùng để đánh dấu một class là Bean để Spring tự động phát hiện?

1

@Bean

2

@Configuration

3

@Component

4

@Autowired

35

Multiple Choice

Interface nào hỗ trợ nhiều tính năng nâng cao hơn như i18n, event, AOP?

1

BeanFactory

2

ApplicationContext

3

ConfigurableBeanFactory

4

BeanDefinitionRegistry

36

Multiple Choice

Annotation nào được dùng để định nghĩa Bean theo cách thủ công trong Java code?

1

@Bean

2

@Configuration

3

@Component

4

@Autowired

37

Multiple Choice

BeanFactory sử dụng cơ chế khởi tạo Bean nào?

1

Eager loading

2

Lazy loading

3

Singleton only

4

BeanDefinitionRegistry

38

Multiple Choice

@Bean phải được sử dụng bên trong class được đánh dấu với annotation nào?

1

@Bean

2

@Configuration

3

@Component

4

@Autowired

39

Multiple Choice

Trong ứng dụng Spring Boot hoặc Spring MVC hiện đại, container mặc định được dùng là?

1

BeanFactory

2

AnnotationConfigContext

3

ApplicationContext

4

BeanDefinitionContext

40

Multiple Choice

Spring có thể tự động quét và tạo Bean từ annotation nào?

1

@Bean

2

@Configuration

3

@Component

4

@Autowired

41

Multiple Choice

Trong Spring Boot, ApplicationContext được khởi tạo tự động bằng class nào?

1

XmlWebApplicationContext

2

AnnotationConfigApplicationContext

3

ClassPathXmlApplicationContext

4

GenericXmlApplicationContext

42

Multiple Choice

Trường hợp nào nên dùng @Bean thay vì @Component?

1

Class có thể thêm annotation

2

Class cần khởi tạo phức tạp hoặc từ thư viện bên ngoài

3

Class là một Entity

4

Không có trường hợp nào

43

Multiple Choice

Spring AOP được sử dụng để làm gì?

1

Quản lý Dependency Injection

2

Tách biệt các logic phụ trợ khỏi business logic

3

Tạo Bean mới trong Spring container

4

Quản lý vòng đời của Bean

44

Multiple Choice

Bean được định nghĩa bằng @Bean mặc định có scope gì?

1

prototype

2

singleton

3

session

4

request

45

Multiple Choice

Trong AOP, Advice là gì?

1

Một kiểu Bean đặc biệt trong Spring

2

Một annotation để khai báo controller

3

Đoạn mã sẽ thực thi tại một Join Point

4

Một loại Dependency Injection

46

Multiple Choice

Điểm nổi bật của Spring Boot là gì?

1

Hỗ trợ XML config mạnh hơn

2

Cần viết nhiều cấu hình thủ công

3

Tự động cấu hình và tích hợp server

4

Chỉ dùng được với Spring MVC

47

Multiple Choice

Annotation nào sau đây được dùng để đánh dấu một class là Aspect?

1

@Service

2

@Component

3

@Aspect

4

@EnableAOP

48

Multiple Choice

Spring Boot sử dụng annotation nào để đánh dấu class main?

1

@ComponentScan

2

@Configuration

3

@EnableAutoConfiguration

4

@SpringBootApplication

49

Multiple Choice

Từ khóa @Around trong AOP dùng để làm gì?

1

Gọi method gốc trước khi thực thi

2

Chỉ log thời gian chạy

3

Thực thi logic trước, sau và quanh method gốc

4

Ánh xạ Bean theo tên

50

Multiple Choice

Spring Boot hỗ trợ chạy ứng dụng dưới dạng nào?

1

WAR duy nhất

2

JAR và nhúng Tomcat

3

Chỉ có WAR với GlassFish

4

File .exe

51

Multiple Choice

Spring AOP sử dụng cơ chế nào để áp dụng các aspect?

1

Proxy-based

2

Direct bytecode manipulation

3

Reflection

4

Annotation scanning

52

Multiple Choice

Spring Framework truyền thống thường yêu cầu cấu hình gì?

1

application.yml

2

annotation hoàn toàn

3

XML cấu hình, web.xml

4

Không cần gì

53

Multiple Choice

Annotation @Configuration dùng để làm gì trong Spring?

1

Đánh dấu một class là controller

2

Đánh dấu một class chứa các Bean được định nghĩa bằng tay

3

Dùng để khởi tạo một Bean

4

Quét các component tự động

54

Multiple Choice

Điểm khác biệt lớn nhất giữa Spring Boot và Spring Framework là gì?

1

Spring Boot không hỗ trợ MVC

2

Spring Framework mới hơn

3

Spring Boot hỗ trợ auto configuration và starter

4

Spring Boot không hỗ trợ security

55

Multiple Choice

Câu nào sau đây đúng về @Bean?

1

Chỉ có thể sử dụng trong class không được đánh dấu @Configuration

2

Dùng để đánh dấu một method trả về Bean để Spring quản lý

3

Dùng để đánh dấu class là một Bean

4

Là cách Spring tự động quét Bean trong classpath

56

Multiple Choice

Tính năng nào của Spring Boot giúp giảm cấu hình thủ công?

1

Dependency Injection

2

Auto-configuration

3

Aspect-Oriented Programming

4

Component Scanning

57

Multiple Choice

Khi nào nên sử dụng @Bean thay vì @Component?

1

Khi bạn muốn Spring tự động tạo Bean mà không cần logic tùy chỉnh

2

Khi Bean là một class đơn giản không cần cấu hình

3

Khi bạn cần khởi tạo Bean với logic phức tạp hoặc từ thư viện bên ngoài

4

Khi dùng với @Autowired

58

Multiple Choice

Dependency nào dưới đây cung cấp các tính năng để xây dựng ứng dụng RESTful?

1

spring-boot-starter-data-jpa

2

spring-boot-starter-web

3

spring-boot-starter-test

4

spring-boot-starter-security

59

Multiple Choice

Spring Boot Actuator được sử dụng để làm gì?

1

Tạo các endpoint REST cho ứng dụng

2

Cung cấp các endpoint giám sát và metrics

3

Quản lý vòng đời của Bean

4

Tích hợp với cơ sở dữ liệu

60

Multiple Choice

Annotation nào kích hoạt tính năng tự động cấu hình trong Spring Boot?

1

@SpringBootConfig

2

@EnableConfiguration

3

@EnableAutoConfiguration

4

@AutoBoot

61

Multiple Choice

@Configuration thường được dùng kèm với annotation nào để khai báo bean?

1

@Bean

2

@Autowired

3

@Value

4

@ComponentScan

62

Multiple Choice

Annotation @SpringBootApplication bao gồm những annotation nào sau đây?

1

@ComponentScan, @EnableAutoConfiguration, @Configuration

2

@Component, @Bean, @EnableJPA

3

@ComponentScan, @EnableJPA, @EntityScan

4

@Controller, @RestController, @Service

63

Multiple Choice

Bạn muốn cấu hình DataSource thủ công mà không dùng auto-config. Bạn sẽ:

1

Thêm @Primary

2

Gỡ bỏ @Configuration

3

Dùng @Component

4

Thêm @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)

64

Multiple Choice

@RestController là sự kết hợp của những annotation nào?

1

@Controller + @ResponseBody

2

@Controller + @RequestBody

3

Dùng @Component

65

Multiple Choice

Dùng annotation nào để tạo REST API trả JSON?

1

@Controller

2

@Service

3

@RestController

4

@Repository

66

Multiple Choice

Khi dùng @Controller, nếu muốn trả JSON, cần thêm gì?

1

@Autowired

2

@RequestParam

3

@ResponseBody

4

@PathVariable

67

Multiple Choice

Bạn muốn một endpoint /api/data trả về { "msg": "Hello" }, bạn nên dùng?

1

@Controller + trả về "hello"

2

@Controller + @ResponseBody

3

@RestController + trả về Map

4

Cả B và C đều đúng

68

Multiple Choice

Annotation nào sau đây dùng để ánh xạ request GET vào một method?

1

@GetRequest

2

@RequestMapping(method = RequestMethod.GET)

3

@PostMapping

4

@Controller

69

Multiple Choice

Thuộc tính produces trong @RequestMapping dùng để làm gì?

1

Kiểm tra session

2

Xác định kiểu dữ liệu response trả về

3

Bắt buộc header có giá trị cụ thể

4

Tạo response delay

70

Multiple Choice

@RequestMapping(value = "/test", params = "id") nghĩa là gì?

1

Chấp nhận mọi request tới /test

2

Chỉ xử lý nếu request có param id

3

Chỉ xử lý nếu request có header id

4

Gửi lỗi 400 nếu có param id

71

Multiple Choice

Để chỉ method xử lý JSON input, thuộc tính nào cần dùng?

1

produces="application/json"

2

consumes="application/json"

3

headers="Content-Type: application/json"

4

params="json"

72

Multiple Choice

Annotation nào xử lý exception toàn ứng dụng?

1

@ExceptionHandler

2

@RestController

3

@ControllerAdvice

73

Multiple Choice

@ExceptionHandler có thể đặt ở đâu?

1

Trong bất kỳ class nào

2

@ExceptionHandler trong controller

74

Multiple Choice

Nếu có cả @ExceptionHandler trong controller và trong @ControllerAdvice, cái nào được gọi trước?

1

@ControllerAdvice

2

Chỉ trong Controller hoặc @ControllerAdvice

75

Multiple Choice

Annotation nào dùng để nhận file upload trong Controller?

1

@RequestPart

2

@PathVariable

3

@RequestParam("file") MultipartFile

76

Multiple Choice

Điều kiện nào là bắt buộc trong form upload file?

1

Method = "GET"

2

enctype="multipart/form-data"

77

Multiple Choice

CORS là gì?

1

Cơ chế routing trong Spring

2

Cơ chế bảo mật chặn truy cập từ domain khác

3

Cách Spring mapping controller

Spring

By Hiển Trần

Show answer

Auto Play

Slide 1 / 77

SLIDE