Các câu hỏi phỏng vấn Spring MVC nâng cao cho Java Developer
NỘI DUNG BÀI VIẾT
Nối tiếp phần Các câu hỏi phỏng vấn Java Spring cơ bản cho Java Developer.
Sau đây sẽ là 1 số câu hỏi phỏng vấn Java Spring nâng cao phổ biến cho Java Developer mà mình tìm được.
Nội dung
- Câu hỏi 1:Sự khác biệt giữa hai loại IOC là gì?
- Câu hỏi 2: Tại sao ‘annotation wiring’ không hoạt động?
- Câu hỏi 3: Sự khác biệt giữa mối quan tâm ‘concern’ và ‘cross-cutting’ là gì?
- Câu hỏi 4: ‘autowriting’ là gì?
- Câu hỏi 5:‘weaving’ được sử dụng để làm gì?
- Câu hỏi 6: Làm thế nào để quản lý các giao dịch trong Spring?
- Câu hỏi 7: ‘target object’ là gì?
- Câu hỏi 8: @Controll làm gì?
- Câu hỏi 9: DAO là gì?
- Câu hỏi 10: @Autowired làm gì?
- Câu hỏi 11: @RequestMapping làm gì? Câu 12: MVC Interceptor là gì?
- Câu hỏi 13: introduction’ được dùng là gì?
- Câu hỏi 14: Điều gì xảy ra khi sử dụng @Autowire cùng với @Qualifier?
- Câu hỏi 15: Cấu hình Annotation-based container là gì?
Câu hỏi 1:Sự khác biệt giữa hai loại IOC là gì?
Nếu bạn còn nhớ, một trong những câu hỏi phỏng vấn Java Spring cơ bản là giải thích IOC. Hai loại IOC là ApplicationContext và BeanFactory.
Có sự khác biệt chính giữa hai loại IOC – ApplicationContext là container nâng cao, trong khi BeanFactory là một loại cơ bản. Điều này có nghĩa là các chức năng của BeanFactory được tiếp tục bởi ApplicationContext.
Câu hỏi 2: Tại sao ‘annotation wiring’ không hoạt động?
Đây có lẽ sẽ là một trong những câu hỏi mà bạn sẽ được đưa ra một tình huống và phải giải thích nó. Ở đây, nhà tuyển dụng đang chỉ ra rằng chức năng ‘annotation wiring’ không hoạt động vì một số lý do – và lý do có lẽ cũng khá đơn giản.
Theo mặc định, hệ thống annotation wiring sẽ bị tắt. Để làm cho nó hoạt động, bạn sẽ phải kích hoạt nó trong các tập tin cấu hình của bạn.
Câu hỏi 3: Sự khác biệt giữa mối quan tâm ‘concern’ và ‘cross-cutting’ là gì?
Có rất nhiều so sánh trong các câu hỏi phỏng vấn Spring, đặc biệt là đối với các nhà phát triển nâng cao. ‘Concern’ được sử dụng khi muốn triển khai một chức năng cụ thể, duy nhất vào dự án (ứng dụng) của bạn. ‘Cross-cutting’ concerns là các chức năng sẽ được áp dụng thông qua toàn bộ dự án – tất cả các mô-đun trong ứng dụng sẽ bị tác động.
Câu hỏi 4: ‘autowriting’ là gì?
‘Autowriting‘ cho phép nhà phát triển tự động inject bean vào ứng dụng của mình mà không cần can thiệp thủ công.
Câu hỏi 5:‘weaving’ được sử dụng để làm gì?
‘Weaving’ được sử dụng để tạo ra các các đối tượng đã được xử lý phụ (Advised object). Điều này được thực hiện bằng cách liên kết các khía cạnh nhất định với các đối tượng cụ thể khác trong ứng dụng.
Câu hỏi 6: Làm thế nào để quản lý các giao dịch trong Spring?
Spring cho phép hai loại quản lý giao dịch: declarative (khai báo) và programmatic (lập trình).
Quản lý giao dịch declarative (khai báo) là khi tách mã code khỏi các giao dịch. Một trong những câu hỏi phỏng vấn Java Spring trước đây của chúng tôi đã nói về XML. Điều này rất quan trọng vì nhiều nhà phát triển chuyển sang cấu hình XML để quản lý các giao dịch của họ theo cách đó.
Quản lý giao dịch theo programmatic (lập trình) liên quan đến mã code doanh nghiệp trong quản lý giao dịch. Loại này là sự lựa chọn ít phổ biến hơn trong việc quản lý các giao dịch. Có một vài lý do nhưng lý do chính phải làm việc với mã code. Nhiều lập trình viên không muốn làm với mã code để không phá vỡ một cái gì đó trong quy trình.
Câu hỏi 7: ‘target object’ là gì?
Khi một đối tượng trở thành trung tâm của sự chú ý cho các khía cạnh, nó sẽ tự động trở thành một target object. Một số người cũng thích coi nó như một “advised object’.
Câu hỏi 8: @Controll làm gì?
@Controll đặt tên một lớp Spring được chỉ định cụ thể như lớp trình điều khiển.
Câu hỏi 9: DAO là gì?
Trong các câu hỏi phỏng vấn Spring, DAO viết tắt là Data Access Object. Công cụ này cho phép các nhà phát triển tiếp cận và làm việc dễ dàng hơn với các công cụ truy cập dữ liệu, đặc biệt là các công cụ có nguồn gốc Java.
Câu hỏi 10: @Autowired làm gì?
Lệnh @Autowired cho phép bạn linh hoạt quyết định nơi muốn wire đối tượng của mình. Lệnh này làm cho quá trình dễ dàng và mượt mà hơn, cho phép độ chính xác cao hơn.
Câu hỏi 11: @RequestMapping làm gì?
Lệnh này được sử dụng bất cứ khi nào bạn muốn sắp xếp một phương thức HTTP cụ thể đến một lớp cụ thể. Bạn có thể sử dụng lệnh này trong cả hai cấp độ lớp và phương thức.
Câu 12: MVC Interceptor là gì?
Trong Spring MVC, interceptor có thể được sử dụng để xử lý yêu cầu của khách hàng trước, trong và thậm chí sau khi thao tác. Đây là một công cụ tuyệt vời để tránh mọi sự lặp lại không mong muốn của mã code.
Câu hỏi 13: introduction’ được dùng là gì?
Lệnh ‘introduction’ cho phép bạn thêm các thuộc tính mới vào một lớp đã được gửi lại trong Spring.
Câu hỏi 14: Điều gì xảy ra khi sử dụng @Autowire cùng với @Qualifier?
Kiểu kết hợp này được sử dụng khi có nhiều loại bean đơn khác nhau trong ứng dụng. Sự kết hợp này phân biệt giữa từng bean.
Như bạn đã có thể nhận thấy, có khá nhiều “@” có trong các câu hỏi phỏng vấn Spring khác. Đó là lý do tại sao điều quan trọng là phải biết mỗi bộ điều khiển của @ @ làm gì, vì vậy hãy đảm bảo ghi nhớ chúng với khả năng tốt nhất của bạn!
Câu hỏi 15: Cấu hình Annotation-based container là gì?
Nó là một cấu hình container thay thế cho XML đã đề cập trước đó. Kiểu cấu hình này chủ yếu tập trung vào siêu dữ liệu mã byte.
Tóm tắt
Có lẽ mẹo quan trọng nhất mà tôi có thể cung cấp cho bạn (ít nhất là khi nói đến câu hỏi phỏng vấn Spring framework) là nghiên cứu càng nhiều biến thể khác nhau của những câu hỏi này mà bạn có thể tìm thấy. Chỉ cần chọn một câu hỏi ngẫu nhiên từ hướng dẫn này, tra nó trên google để tìm các định nghĩa rộng hơn về các thuật ngữ và sau đó xem những câu hỏi tương tự bạn có thể gặp phải.
Anh em có những câu hỏi nào hãy comment bên dưới để mình có thể cập nhật nhé.
KHOÁ HỌC CGC JAVA
Tham khảo tại: https://vn.bitdegree.org
Leave a Reply