Ngân hàng đề — Microsoft Azure AI Engineer
Tìm thấy 267 câu.
The bot will ask users for the departure date. The bot must repeat the question until a valid date is given, or the users cancel the transaction.
Which type of dialog should you use?
- A prompt
- B adaptive
- C waterfall
- D action
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi tập trung vào việc xây dựng một bot đặt vé máy bay sử dụng Microsoft Bot Framework SDK. Bot cần hỏi người dùng về ngày khởi hành (departure date), và phải lặp lại câu hỏi cho đến khi nhận được ngày hợp lệ hoặc người dùng hủy giao dịch (cancel).
🛠️ Yêu cầu chính: Dialog phải hỗ trợ validation input (kiểm tra tính hợp lệ của ngày), reprompt (hỏi lại) nếu input sai, và xử lý hủy một cách tự nhiên. Đây là tình huống phổ biến trong conversational AI, nơi bot cần thu thập thông tin một cách kiên trì nhưng linh hoạt.
✅ Đáp án đúng: prompt
Lý do lựa chọn:
Trong Microsoft Bot Framework SDK (phiên bản mới nhất v4.20+ đến 2026), prompt (như DateTimePrompt hoặc ConfirmationPrompt) là loại dialog chuyên dụng để thu thập input từ người dùng với validation tích hợp. Nó tự động reprompt nếu input không hợp lệ (ví dụ: ngày không đúng định dạng), và hỗ trợ cancel qua từ khóa như "cancel" hoặc "nevermind". Điều này khớp hoàn hảo với yêu cầu: hỏi ngày khởi hành, lặp lại đến khi hợp lệ hoặc hủy. Prompt đơn giản, hiệu quả cho single-field input như ngày tháng, không cần code phức tạp để loop thủ công.
📘 Nguồn tham khảo: Microsoft Docs - Prompts in Bot Framework (cập nhật 2025); Bot Framework SDK Samples - DateTimePrompt.
📋 Giải thích chi tiết tất cả các phương án
-
prompt
✅ Đúng: Như đã giải thích, prompt (ví dụ:DateTimePrompt) được thiết kế chính xác cho việc này. Nó validate input theo schema LUIS/Regex, tự động reprompt với thông báo tùy chỉnh (ví dụ: "Vui lòng nhập ngày hợp lệ theo định dạng YYYY-MM-DD"), và xử lý cancel exception. Hoàn hảo cho bot đặt vé, tiết kiệm code và UX mượt mà. -
adaptive
❌ Sai: Adaptive dialog (giới thiệu từ Bot Framework Composer 2.0+ năm 2021, cập nhật đến 2026) dùng cho luồng hội thoại phức tạp, declarative với input schema động (JSON-based). Nó mạnh cho multi-turn adaptive flows, nhưng quá nặng cho single prompt như hỏi ngày. Không tự động reprompt đơn giản mà cần config action riêng, dễ overkill và phức tạp hóa. -
waterfall
❌ Sai: Waterfall dialog là chuỗi các bước tuyến tính (WaterfallStep[]), dùng cho multi-step flows như hỏi departure → arrival → passengers. Để reprompt ngày, phải code loop thủ công (sử dụngDC.StatevàendDialogAsync), không tự động validation như prompt. Dễ lỗi nếu user cancel giữa chừng, không tối ưu cho yêu cầu "repeat until valid". -
action
❌ Sai: Action (nhưActiontrong Adaptive Dialogs hoặc TriggerAction trong cũ) là thành phần thực thi (set property, send message, call API), không phải dialog đầy đủ để hỏi input. Nó chỉ là sub-component trong adaptive/waterfall, không hỗ trợ reprompt/validation độc lập. Sử dụng action ở đây sẽ không giải quyết được việc lặp hỏi ngày.
🛠️ Lời khuyên thực tế từ Azure AI Engineer
Sử dụng DateTimePrompt trong C#/JS SDK với PromptValidator để tùy chỉnh validation (hỗ trợ timezone, future dates cho flight booking). Kết hợp với Adaptive Dialogs nếu bot phức tạp hơn. Test trên Azure Bot Service hoặc Bot Framework Emulator để đảm bảo UX tốt đến 2026 standards! 🚀
You need to ensure that the solution meets the Microsoft responsible AI principles.
What should you do?
- A Add a human review and approval step before making decisions that affect the staff's financial situation.
- B Include the Sentiment Analysis results when surveys return a low confidence score.
- C Use all the surveys, including surveys by customers who requested that their account be deleted and their data be removed.
- D Publish the raw survey data to a central location and provide the staff with access to the location.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này xoay quanh việc xây dựng một giải pháp AI sử dụng kết quả Sentiment Analysis (phân tích cảm xúc) từ các cuộc khảo sát khách hàng để tính toán thưởng cho nhân viên dịch vụ khách hàng. Mục tiêu chính là đảm bảo giải pháp tuân thủ nguyên tắc Responsible AI của Microsoft (các nguyên tắc AI có trách nhiệm), bao gồm các yếu tố như tính công bằng (fairness), độ tin cậy (reliability & safety), quyền riêng tư (privacy & security), trách nhiệm (accountability), và sự bao hàm (inclusiveness).
📌 Bối cảnh quan trọng:
- AI đang ảnh hưởng trực tiếp đến quyết định tài chính của nhân viên (tính thưởng dựa trên cảm xúc từ khảo sát).
- Theo nguyên tắc Responsible AI của Microsoft (cập nhật mới nhất đến năm 2026, dựa trên framework từ Microsoft AI Principles và Azure AI Content Safety), cần ưu tiên human oversight (giám sát con người) cho các quyết định cao rủi ro, tránh bias từ AI, bảo vệ dữ liệu cá nhân, và loại bỏ dữ liệu không đáng tin cậy hoặc vi phạm quyền riêng tư.
Mục tiêu câu hỏi: Xác định hành động tốt nhất để giảm thiểu rủi ro, đảm bảo tính minh bạch, công bằng và an toàn khi AI tác động đến con người.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Add a human review and approval step before making decisions that affect the staff's financial situation.
Lý do 🛠️:
- Theo Microsoft Responsible AI Principles (Accountability & Reliability and Safety), các quyết định AI ảnh hưởng đến tài chính cá nhân (như thưởng nhân viên) phải có bước xem xét và phê duyệt bởi con người để giảm thiểu rủi ro bias, lỗi phân tích cảm xúc (Sentiment Analysis có thể sai lệch do ngôn ngữ mơ hồ), và đảm bảo tính công bằng.
- Điều này phù hợp với hướng dẫn Azure AI (phiên bản 2026): Sử dụng human-in-the-loop cho high-stakes decisions. Không có bước này, AI có thể gây bất công (ví dụ: nhân viên bị đánh giá thấp do khảo sát khách hàng chủ quan).
- Đây là thực hành tốt nhất, được khuyến nghị trong Azure OpenAI Service và Responsible AI Dashboard.
📋 Giải thích tất cả các phương án (đúng và sai)
-
Add a human review and approval step before making decisions that affect the staff's financial situation.
✅ Đúng 🏆: Như đã giải thích ở trên, bước này trực tiếp tuân thủ nguyên tắc Accountability và Reliability & Safety của Microsoft. Nó ngăn chặn quyết định tự động từ AI, cho phép con người kiểm tra bias hoặc lỗi, đặc biệt với tác động tài chính cao. (Tham khảo: Microsoft Responsible AI Principles). -
Include the Sentiment Analysis results when surveys return a low confidence score.
❌ Sai 🚫: Việc bao gồm kết quả có độ tin cậy thấp (low confidence score) vi phạm nguyên tắc Reliability & Safety. Sentiment Analysis (trong Azure Cognitive Services hoặc tương đương) thường có confidence score < 0.8 là không đáng tin cậy, dễ gây bias hoặc sai lệch. Nên loại bỏ hoặc yêu cầu phân tích thủ công thay vì sử dụng chúng để tính thưởng. -
Use all the surveys, including surveys by customers who requested that their account be deleted and their data be removed.
❌ Sai 🔒: Điều này vi phạm nghiêm trọng nguyên tắc Privacy & Security và GDPR/CCPA compliance (tích hợp trong Azure AI đến 2026). Khách hàng yêu cầu xóa tài khoản/data phải được tôn trọng (right to be forgotten). Sử dụng dữ liệu đã xóa sẽ dẫn đến rủi ro pháp lý và mất lòng tin. -
Publish the raw survey data to a central location and provide the staff with access to the location.
❌ Sai 📴: Việc công bố dữ liệu thô (raw survey data) cho nhân viên vi phạm nguyên tắc Privacy & Security và Inclusiveness. Dữ liệu khảo sát chứa thông tin cá nhân nhạy cảm (cảm xúc khách hàng), có nguy cơ lộ thông tin, bias nếu nhân viên truy cập tùy tiện. Nên anonymize dữ liệu hoặc hạn chế truy cập theo Azure Purview governance.
📘 Tài liệu tham khảo
- Microsoft Responsible AI Principles (cập nhật 2026) – Chi tiết 6 nguyên tắc cốt lõi.
- Azure AI Documentation: Human Oversight – Hướng dẫn human-in-the-loop.
- Azure OpenAI Responsible AI – Áp dụng cho Sentiment Analysis.
Hy vọng phân tích này giúp bạn hiểu rõ! Nếu cần thêm ví dụ code Azure, hãy cho tôi biết nhé 🚀.
You need to ensure that only resources in vnet1 can access ta1.
What should you configure?
- A a network security group (NSG) for vnet1
- B Azure Firewall for vnet1
- C the virtual network settings for ta1
- D a Language service container for ta1
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc chủ đề bảo mật mạng trong Microsoft Azure, cụ thể là cách hạn chế truy cập vào một tài nguyên Azure AI Language service (tên là ta1) chỉ cho phép từ các tài nguyên bên trong virtual network (VNet) tên vnet1.
- Bối cảnh: Bạn có một subscription Azure chứa Language service resource (
ta1) và một VNet (vnet1). Mục tiêu là chặn tất cả truy cập từ bên ngoài VNet, chỉ cho phép traffic từ các tài nguyên (như VM, App Service) nằm trongvnet1có thể gọi API củata1. - Vấn đề cốt lõi: Language service là dịch vụ PaaS (Platform as a Service), mặc định cho phép truy cập public qua internet. Để restrict theo VNet, cần cấu hình mức service-side (bên resource), không phải chỉ network-side outbound từ VNet.
- Phiên bản cập nhật: Theo tài liệu Azure mới nhất (tính đến 2026), Azure AI services (bao gồm Language service) hỗ trợ Virtual Network integration qua Service Endpoints hoặc Private Endpoints để kiểm soát truy cập chính xác. Điều này được cấu hình trực tiếp trong Networking settings của resource. (📘 Nguồn: Azure AI services Virtual Network support và Networking for Azure AI Language).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: the virtual network settings for ta1
Lý do:
- Trong Azure Portal, bạn truy cập resource
ta1> Networking (hoặc Firewalls and virtual networks) > kích hoạt Selected networks và thêmvnet1(cùng subnet) vào danh sách allowed virtual networks. - Điều này sử dụng Microsoft network routing để chỉ route traffic từ VNet được chỉ định đến service endpoint của
ta1, chặn tất cả public access khác. - 🛠️ Đây là cách chuẩn và trực tiếp nhất cho PaaS services như Language service, hỗ trợ cả Service Endpoints (miễn phí, public IP) và Private Endpoints (private IP qua Private Link). Không cần thay đổi cấu hình VNet bên client.
📋 Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá với lý do rõ ràng dựa trên cơ chế Azure networking:
-
❌ a network security group (NSG) for vnet1
Sai vì: NSG chỉ kiểm soát inbound/outbound traffic tại mức subnet hoặc NIC (Layer 4: TCP/UDP ports), không restrict truy cập đến Azure PaaS endpoints như Language service. NSG không thể "bind" service với VNet cụ thể; traffic từ VNet vẫn đi public internet trừ khi dùng Service Endpoints ở service-side. (🛠️ NSG hữu ích cho VM protection, không phải service access control). -
❌ Azure Firewall for vnet1
Sai vì: Azure Firewall là network-level firewall quản lý traffic outbound từ VNet (như DNAT, FQDN filtering), nhưng không control inbound access đến PaaS service từ service provider. Nó chỉ filter traffic rời khỏi VNet, không ngăn client ngoài VNet accessta1. Phức tạp và tốn kém hơn cách đúng. (🛠️ Phù hợp cho hub-spoke topology, không phải single service restriction). -
✅ the virtual network settings for ta1
Đúng vì: Như đã giải thích ở trên, đây là cấu hình Networking > Virtual networks trực tiếp trên resourceta1, allow chỉvnet1(qua Service Endpoints/Private Endpoints). Traffic từ VNet được ưu tiên route private, chặn public access hoàn toàn. Đơn giản, scalable và theo best practices Azure. (📘 Xác nhận từ docs: Hỗ trợ đầy đủ cho Azure AI Language từ 2023+). -
❌ a Language service container for ta1
Sai vì: Language service container là Docker container chạy on-premises hoặc edge devices (như Azure Stack, Kubernetes), dùng để deploy model local mà không cần cloud access. Không liên quan đến VNet restriction trong Azure cloud; nó chỉ replicate service locally, không control network access cho cloud resourceta1. (🛠️ Dùng cho offline/low-latency, không phải security gating).
🏆 Kết luận và khuyến nghị
- Best practice: Kết hợp với Private Endpoint cho zero public exposure (tạo private IP trong VNet). Test bằng cách deny public access toggle.
- Tài liệu tham khảo thêm (cập nhật 2026):
Nếu cần demo code ARM template hoặc Terraform, hãy cho tôi biết nhé! 🚀
What should you include in the solution?
- A Application Insights in Azure Monitor
- B metric alerts in Azure Monitor
- C Multivariate Anomaly Detection
- D Univariate Anomaly Detection
Xem giải thích
🧩 Phân tích chi tiết câu hỏi trắc nghiệm
📖 Giải thích nội dung câu hỏi:
Câu hỏi mô tả tình huống phát triển một hệ thống giám sát phân tích dữ liệu cảm biến động cơ, bao gồm các chỉ số như tốc độ quay (rotation speed), góc (angle), nhiệt độ (temperature) và áp suất (pressure). Hệ thống cần tự động tạo cảnh báo (alert) khi phát hiện các giá trị bất thường (atypical values). Đây là bài toán phát hiện bất thường (anomaly detection) trong dữ liệu thời gian thực từ nhiều nguồn cảm biến đa biến (multivariate), đòi hỏi giải pháp hỗ trợ phân tích tương quan giữa các biến số để nhận diện mẫu bất thường phức tạp, không chỉ dựa vào ngưỡng đơn lẻ.
✅ Đáp án đúng: Multivariate Anomaly Detection
Lý do lựa chọn:
Giải pháp này lý tưởng vì dữ liệu từ nhiều cảm biến (rotation speed, angle, temperature, pressure) có tính tương quan lẫn nhau, ví dụ: nhiệt độ cao có thể liên quan đến tốc độ quay bất thường. Multivariate Anomaly Detection trong Azure AI Anomaly Detector (phiên bản mới nhất 2024-2026) sử dụng mô hình học máy sâu (deep learning) để phát hiện bất thường đa biến, hỗ trợ dữ liệu chuỗi thời gian (time-series) và tự động tạo alert. Nó vượt trội hơn các phương pháp đơn biến, phù hợp với yêu cầu "atypical values" phức tạp từ dữ liệu động cơ. 🛠️
🛡️ Phân tích tất cả các phương án (đúng và sai)
Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Tôi sử dụng kiến thức cập nhật từ Azure Monitor và Azure AI Anomaly Detector (phiên bản mới nhất đến 2026, hỗ trợ tích hợp với Azure Machine Learning và IoT Hub cho dữ liệu cảm biến).
-
Application Insights in Azure Monitor ❌
Phân tích sai: Phương án này dùng để giám sát ứng dụng (app performance monitoring) như theo dõi request, lỗi code, trace. Nó không chuyên sâu cho phân tích dữ liệu cảm biến đa biến hay anomaly detection tự động từ time-series. Dù có thể log metrics, nhưng không hỗ trợ mô hình ML phức tạp cho dữ liệu engine sensor, dẫn đến thiếu khả năng phát hiện tương quan bất thường. Không phù hợp với yêu cầu alert cho atypical values từ nhiều nguồn. -
metric alerts in Azure Monitor ❌
Phân tích sai: Đây là tính năng tạo alert dựa trên ngưỡng cố định (threshold) cho metrics đơn lẻ (ví dụ: temperature > 100°C). Nó không xử lý được tương quan đa biến (như speed + pressure) hoặc bất thường tinh vi (contextual anomalies). Với dữ liệu engine phức tạp, metric alerts dễ báo giả (false positive) hoặc bỏ sót, không đáp ứng yêu cầu anomaly detection thông minh bằng ML. -
Multivariate Anomaly Detection ✅
Phân tích đúng: Như đã giải thích ở trên, đây là lựa chọn tối ưu. Azure AI Anomaly Detector (multivariate model) hỗ trợ lên đến hàng trăm biến, sử dụng GAN (Generative Adversarial Networks) để học pattern bình thường và phát hiện deviation. Tích hợp dễ dàng với Stream Analytics hoặc Event Hubs cho real-time alert. Phù hợp hoàn hảo với dữ liệu đa cảm biến động cơ. 🌟 -
Univariate Anomaly Detection ❌
Phân tích sai: Chỉ áp dụng cho một biến số duy nhất (ví dụ: chỉ temperature), sử dụng mô hình như SR-CNN hoặc TCN cho time-series đơn lẻ. Không xử lý được tương quan giữa rotation speed, angle, temperature, pressure – dẫn đến bỏ sót bất thường phức tạp (ví dụ: pressure bình thường nhưng kết hợp speed cao gây nguy hiểm). Phiên bản univariate trong Azure Anomaly Detector kém hiệu quả hơn multivariate cho use case này.
📘 Tài liệu tham khảo (cập nhật đến 2026)
- Azure AI Anomaly Detector Documentation: Multivariate Anomaly Detection – Hướng dẫn chính thức từ Microsoft, nhấn mạnh use case IoT/sensor data.
- Azure Monitor Alerts: Metric Alerts Overview – Giải thích hạn chế threshold-based.
- Application Insights: What is Application Insights? – Tập trung app telemetry.
- Blog cập nhật 2025: Azure AI Enhancements for Multivariate Detection – Cải tiến deep learning cho real-time IoT.
Hy vọng phân tích này giúp bạn hiểu rõ! Nếu cần demo code hoặc tích hợp Azure, hãy hỏi thêm nhé. 🚀
You create an Azure Bot resource.
You need to deploy the bot to Azure.
What else should you create?
- A only an app registration in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra, an Azure App Service instance, and an App Service plan
- B only an app registration in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra, an Azure Kubernetes Service (AKS) instance, and a container image
- C only an Azure App Service instance, and an App Service plan
- D only an Azure Machine Learning workspace and an app registration in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra
Xem giải thích
🧩 Phân tích chi tiết câu hỏi trắc nghiệm
📖 Nội dung câu hỏi:
Câu hỏi mô tả tình huống: Bạn đã xây dựng một bot (ứng dụng chatbot) và đã tạo một Azure Bot resource (tài nguyên Bot trên Azure). Bây giờ, bạn cần triển khai (deploy) bot này lên Azure. Câu hỏi yêu cầu xác định những gì khác cần tạo thêm để hoàn tất việc deploy.
✅ Đây là chủ đề về Azure Bot Service, tập trung vào các thành phần cần thiết để bot có thể chạy, kết nối channels (như Web Chat, Teams) và xử lý authentication. Theo tài liệu chính thức của Microsoft (cập nhật đến 2024-2026), việc deploy bot yêu cầu kết hợp Azure Bot resource với backend hosting và đăng ký identity.
✅ Đáp án đúng:
only an app registration in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra, an Azure App Service instance, and an App Service plan
🛠️ Lý do chọn đáp án này:
- App registration in Azure AD (Microsoft Entra ID): Cần thiết để bot đăng ký ứng dụng, xử lý OAuth và kết nối với các channels (ví dụ: Microsoft Teams, Direct Line). Không có nó, bot không thể authenticate người dùng.
- Azure App Service instance: Đây là backend hosting để chạy code bot (hỗ trợ Node.js, .NET, Python, v.v.). Azure Bot Service tích hợp trực tiếp với App Service cho deploy dễ dàng.
- App Service plan: Cung cấp tài nguyên compute (CPU, memory) cho App Service. Không có plan, instance không chạy được.
🧩 Tất cả chỉ "only" những thứ này là đủ cho deploy cơ bản, theo hướng dẫn deploy chuẩn của Azure Bot Service (không cần thêm gì thừa).
📘 Tài liệu tham khảo:
- Azure Bot Service - Deploy your bot (Microsoft Learn, cập nhật 2024).
- Register an application with Microsoft Entra ID (yêu cầu app registration cho bot channels).
🔍 Giải thích chi tiết tất cả các phương án
-
✅ Phương án ĐÚNG: only an app registration in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra, an Azure App Service instance, and an App Service plan
🟢 Lý do đúng: Như đã giải thích ở trên, đây là bộ ba thành phần tối thiểu và chuẩn xác nhất để deploy bot từ Azure Bot resource. App Service + Plan làm backend hosting, app registration xử lý identity – phù hợp hoàn hảo với workflow deploy của Azure Bot Service (multi-channel support). Không thừa, không thiếu! -
❌ Phương án SAI: only an app registration in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra, an Azure Kubernetes Service (AKS) instance, and a container image
🔴 Lý do sai: AKS (Kubernetes) và container image dùng cho deploy containerized apps phức tạp, nhưng không phải lựa chọn chuẩn cho Azure Bot. Bot thường deploy trực tiếp lên App Service (serverless, dễ quản lý). AKS quá nặng và không tích hợp native với Bot Service, dẫn đến phức tạp hóa không cần thiết. -
❌ Phương án SAI: only an Azure App Service instance, and an App Service plan
🔴 Lý do sai: Thiếu app registration in Azure AD/Entra ID, nên bot không thể kết nối channels hoặc authenticate (ví dụ: lỗi khi publish đến Teams). App Service + Plan chỉ đủ cho hosting code, nhưng Bot Service yêu cầu registration để hoàn tất endpoint configuration. -
❌ Phương án SAI: only an Azure Machine Learning workspace and an app registration in Microsoft Azure Active Directory (Azure AD), part of Microsoft Entra
🔴 Lý do sai: Azure ML workspace dùng cho machine learning (training models), hoàn toàn không liên quan đến deploy bot thông thường. App registration đúng một phần, nhưng thiếu backend hosting (App Service), bot không chạy được. Đây là nhầm lẫn giữa AI/ML và Bot Service.
🎯 Kết luận: Đáp án đúng nhấn mạnh quy trình deploy tối ưu, tiết kiệm chi phí trên Azure. Nếu deploy thực tế, dùng Azure Portal hoặc CLI để tạo theo thứ tự: App Service Plan → App Service → App Registration → Publish bot! 🚀
You need to run App1 in a location that has limited connectivity. The solution must minimize costs.
What should you use to host the model?
- A Azure Kubernetes Service (AKS)
- B Azure Container Instances
- C a Kubernetes cluster hosted in an Azure Stack Hub integrated system
- D the Docker Engine
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi tập trung vào việc triển khai ứng dụng App1 sử dụng mô hình Azure Cognitive Services (cụ thể là Anomaly Detector) để phát hiện bất thường (anomalies) trong luồng dữ liệu thời gian thực (time series data stream).
Yêu cầu chính:
- Chạy app ở vị trí có kết nối mạng hạn chế (limited connectivity), nghĩa là cần giải pháp offline hoặc on-premises để tránh phụ thuộc vào cloud.
- Tối ưu hóa chi phí (minimize costs), ưu tiên giải pháp đơn giản, không tốn kém về tài nguyên hoặc hạ tầng.
Mục tiêu: Chọn cách host mô hình (deploy container cho mô hình Anomaly Detector) phù hợp nhất với Azure Cognitive Services Container support.
📘 Tài liệu tham khảo:
- Azure Cognitive Services Anomaly Detector - Container Support (cập nhật mới nhất 2024-2026: Hỗ trợ Docker containers cho on-edge deployment).
- Azure AI Containers Overview.
✅ Đáp án đúng: the Docker Engine
Lý do lựa chọn:
🛠️ Docker Engine là giải pháp đơn giản nhất, chi phí thấp nhất (Docker miễn phí, chỉ cần cài trên máy local/edge device). Nó cho phép pull image container của Anomaly Detector một lần từ Azure Container Registry (ACR), sau đó chạy hoàn toàn offline ở môi trường limited connectivity. Không cần cluster phức tạp, không phụ thuộc cloud runtime, phù hợp hoàn hảo với yêu cầu minimize costs và limited connectivity. Đây là cách khuyến nghị chính thức từ Microsoft cho edge/on-prem deployment của Cognitive Services models (bao gồm Anomaly Detector).
❌ Phân tích tất cả các phương án
-
Azure Kubernetes Service (AKS):
❌ Sai vì AKS là dịch vụ Kubernetes trên cloud Azure, yêu cầu kết nối internet liên tục để quản lý cluster và scaling. Không phù hợp với limited connectivity, đồng thời chi phí cao hơn (node fees, networking) so với Docker đơn lẻ. -
Azure Container Instances (ACI):
❌ Sai vì ACI là dịch vụ serverless container trên cloud, chạy theo yêu cầu nhưng vẫn cần kết nối Azure để deploy và billing. Không hỗ trợ offline, và chi phí tích lũy theo runtime (vCPU, memory), không minimize costs cho môi trường hạn chế mạng. -
a Kubernetes cluster hosted in an Azure Stack Hub integrated system:
❌ Sai vì đây là Kubernetes on-premises hybrid qua Azure Stack Hub (hardware on-prem tích hợp Azure). Tuy hỗ trợ limited connectivity, nhưng phức tạp, chi phí cao (cần mua/invest Azure Stack Hub hardware, setup cluster đầy đủ), không phải lựa chọn tối ưu/minimal như Docker Engine thuần.
Tóm lại, Docker Engine là lựa chọn lý tưởng nhất cho edge deployment! 🚀
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You build a language model by using a Conversational Language Understanding. The language model is used to search for information on a contact list by using an intent named FindContact.
A conversational expert provides you with the following list of phrases to use for training.
•Find contacts in London.
•Who do I know in Seattle?
•Search for contacts in Ukraine.
You need to implement the phrase list in Conversational Language Understanding.
Solution: You create a new utterance for each phrase in the FindContact intent.
Does this meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi thuộc dạng series questions trong kỳ thi chứng chỉ Microsoft (thường là AZ-204 hoặc AZ-400), nơi mỗi câu đưa ra một scenario chung và một solution cụ thể để kiểm tra xem solution đó có đạt được goal hay không. Bạn không thể quay lại câu hỏi sau khi trả lời.
Scenario:
- Bạn xây dựng một language model sử dụng Conversational Language Understanding (CLU) (dịch vụ của Azure AI Language, trước đây là LUIS).
- Model dùng để tìm kiếm thông tin trong contact list qua intent tên FindContact.
- Một chuyên gia cung cấp danh sách phrases để training:
- "Find contacts in London."
- "Who do I know in Seattle?"
- "Search for contacts in Ukraine."
- Goal: Implement the phrase list (triển khai danh sách cụm từ) trong CLU.
Solution đề xuất:
- "You create a new utterance for each phrase in the FindContact intent."
(Tạo một utterance mới cho mỗi phrase trong intent FindContact.)
Câu hỏi: Solution này có đạt goal không?
(Lưu ý: CLU phiên bản mới nhất 2024-2026 hỗ trợ Phrase lists để mở rộng từ vựng động, giúp model nhận diện biến thể mà không cần utterance đầy đủ.)
✅ Đáp án đúng: No
Lý do lựa chọn:
❌ Solution KHÔNG đạt goal vì nó chỉ thêm các phrase làm utterances labeled trực tiếp vào intent FindContact – đây là cách train intent cơ bản, nhưng KHÔNG phải cách implement "phrase list".
🛠️ Trong CLU, phrase list là một tính năng riêng biệt (Phrase list feature) dùng để cung cấp danh sách cụm từ/từ khóa (như "London", "Seattle", "Ukraine") nhằm boost recognition cho các biến thể tự nhiên (ví dụ: "contacts in Paris" sẽ được hỗ trợ nếu phrase list có các thành phố tương tự). Thêm làm utterance chỉ train trực tiếp các câu cố định, không linh hoạt và không tận dụng phrase list để mở rộng model.
📈 Goal yêu cầu implement phrase list cụ thể, nên solution sai hướng.
📋 Giải thích tất cả các phương án
✅ No
- Đúng ✅: Như phân tích trên, solution chỉ train utterances thông thường, không triển khai phrase list feature trong CLU. Phrase list giúp model nhận diện intents với từ mới mà không cần hàng trăm utterances thủ công, phù hợp cho danh sách phrases theo location ở đây.
❌ Yes
- Sai ❌: Nhầm lẫn giữa utterances (câu ví dụ labeled cho intent) và phrase lists (danh sách từ boost riêng). Thêm utterances chỉ làm model nhận đúng 3 phrases cố định, nhưng goal là "implement the phrase list" để hỗ trợ training động, mở rộng vocabulary (ví dụ: nhận "contacts in Tokyo" nếu phrase list có patterns tương tự). Không đạt mục tiêu tối ưu hóa model.
📘 Tài liệu tham khảo
- Microsoft Docs chính thức (cập nhật 2024-2026): Create phrase lists - Conversational Language Understanding – Giải thích phrase lists dùng cho từ hiếm/biến thể, không thay thế utterances.
- Azure CLU Project Schema: Train with phrase lists – Hướng dẫn tạo Phrase list riêng trong project CLU.
- AZ-204 Exam Prep: Các series questions tương tự nhấn mạnh phân biệt utterances vs. phrase lists để đạt "meet the goal".
🧑💻 Là Microsoft Azure AI Engineer, tôi khuyên nên tạo Phrase list với từ khóa như "London|Seattle|Ukraine" để model robust hơn!
You need to configure the bot to ask the user for additional input based on the type of item ordered. The solution must minimize development effort.
Which two types of dialogs should you use? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- A adaptive
- B action
- C waterfall
- D prompt
- E input
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi này thuộc lĩnh vực phát triển chatbot sử dụng Microsoft Bot Framework SDK (không liên quan trực tiếp đến AWS như mô tả ban đầu, mà tập trung vào công nghệ Microsoft). Nội dung mô tả tình huống:
Bạn đang xây dựng một chatbot để nhận đơn hàng thức ăn từ khách hàng và cho phép tùy chỉnh từng món ăn (ví dụ: chọn kích thước, topping, số lượng...). Yêu cầu chính là cấu hình bot hỏi thêm thông tin từ người dùng dựa trên loại món ăn đã đặt, đồng thời giảm thiểu nỗ lực phát triển (minimize development effort).
Câu hỏi yêu cầu chọn hai loại dialog phù hợp, mỗi lựa chọn đúng chiếm 1 điểm. Đây là dạng câu hỏi multi-select (chọn nhiều đáp án đúng), thường gặp trong các kỳ thi chứng chỉ như AZ-204: Developing Solutions for Microsoft Azure hoặc tương tự. Mục tiêu là sử dụng các dialog tuần tự và linh hoạt để xử lý luồng hội thoại động (dynamic conversation flow) dựa trên loại item, mà không cần code phức tạp.
📘 Phiên bản kiến thức cập nhật: Dựa trên Bot Framework SDK v4.19+ (cập nhật đến 2026), các dialog được khuyến nghị sử dụng WaterfallDialog kết hợp PromptDialogs để orchestrate luồng hỏi đáp đơn giản, hiệu quả.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng là: waterfall và prompt.
🛠️ Lý do:
- Waterfall dialog dùng để tạo chuỗi các bước (steps) tuần tự, nơi bot có thể hỏi thông tin bổ sung dựa trên loại món ăn (ví dụ: nếu order pizza → hỏi size/topping; nếu burger → hỏi số lượng). Nó giảm thiểu code bằng cách định nghĩa luồng logic một cách declarative.
- Prompt dialog (như TextPrompt, ChoicePrompt, ConfirmPrompt) dùng để hỏi input cụ thể từ user một cách chuẩn hóa, dễ tùy chỉnh theo loại item, và tích hợp mượt mà vào waterfall để tránh viết code thủ công cho từng trường hợp.
Kết hợp hai loại này tạo luồng hội thoại động, dễ mở rộng, phù hợp hoàn hảo với yêu cầu minimize development effort.
📋 Giải thích chi tiết từng phương án
Dưới đây là phân tích tất cả các lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên Bot Framework SDK docs:
-
❌ [SAI] adaptive
Adaptive dialog (từ Bot Framework SDK v4.7+ và Bot Framework Composer) dùng cho luồng declarative phức tạp với schema JSON, phù hợp với UI designer nhưng tăng nỗ lực phát triển vì cần học Composer hoặc schema phức tạp. Không phải lựa chọn tối ưu để minimize effort cho luồng đơn giản như hỏi tùy chỉnh order; waterfall + prompt đơn giản hơn nhiều. -
❌ [SAI] action
"Action" không phải là loại dialog chuẩn trong SDK; có thể ám chỉ TriggerAction hoặc ActionStep trong AdaptiveDialog, dùng cho side-effect như gọi API hoặc log, chứ không dùng để hỏi input dựa trên loại item. Sử dụng nó sẽ yêu cầu code thêm, không giảm effort và không phù hợp làm dialog chính. -
✅ [ĐÚNG] waterfall
Waterfall dialog là core dialog trong SDK, dùng để xử lý chuỗi steps động (ví dụ: step 1: xác nhận món → step 2: tùy chỉnh dựa trên loại → step 3: tổng kết). Nó minimize effort bằng cách reuse prompts và handle branching logic dễ dàng, lý tưởng cho customize food orders. -
✅ [ĐÚNG] prompt
Prompt dialogs (TextPrompt, NumberPrompt, ChoicePrompt, etc.) dùng để thu thập input chuẩn hóa từ user (ví dụ: "Bạn muốn size nào? Large/Small"). Kết hợp với waterfall, nó giảm code lặp lại, tự động handle validation/retry, phù hợp hoàn hảo cho hỏi thêm dựa trên item type. -
❌ [SAI] input
"Input" không tồn tại như một loại dialog riêng trong SDK; có thể nhầm với prompts hoặc old DialogPrompts, nhưng không chuẩn. Sử dụng nó sẽ yêu cầu code custom input handling, tăng effort thay vì dùng prompt built-in để minimize development.
📚 Tài liệu tham khảo
- Microsoft Docs chính thức: WaterfallDialog & PromptDialogs (cập nhật 2024-2026).
- Bot Framework SDK Samples: GitHub repo BotBuilder-Samples – ví dụ Multi-turn prompts với Waterfall.
- AZ-204 Exam Guide: Phần Bot Service Dialogs (Microsoft Learn, version 2026).
Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần code sample, hãy hỏi thêm nhé!
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You are building a chatbot that will use question answering in Azure Cognitive Service for Language.
You have a PDF named Doc1.pdf that contains a product catalogue and a price list.
You upload Doc1.pdf and train the model.
During testing, users report that the chatbot responds correctly to the following question: What is the price of ?
The chatbot fails to respond to the following question: How much does cost?
You need to ensure that the chatbot responds correctly to both questions.
Solution: From Language Studio, you create an entity for cost, and then retrain and republish the model.
Does this meet the goal?
- A Yes
- B No
Xem giải thích
🧩 Phân tích chi tiết câu hỏi trắc nghiệm
📖 Nội dung câu hỏi:
Câu hỏi thuộc dạng "Does this meet the goal?" trong một loạt câu hỏi kịch bản (scenario-based) của kỳ thi chứng chỉ (có thể là AZ-204 hoặc tương tự về Azure AI). Kịch bản mô tả bạn đang xây dựng một chatbot sử dụng question answering (QA) trong Azure Cognitive Service for Language (nay cập nhật thành Azure AI Language theo phiên bản mới nhất 2024-2026).
- Bạn có file PDF Doc1.pdf chứa catalog sản phẩm và bảng giá.
- Sau khi upload PDF và train model, chatbot trả lời ĐÚNG câu hỏi: "What is the price of ?" (nó extract được thông tin giá từ PDF).
- Nhưng THẤT BẠI với câu hỏi tương tự: "How much does cost?" (dù ý nghĩa giống nhau, chỉ khác cách diễn đạt - paraphrase).
🎯 Mục tiêu (goal): Đảm bảo chatbot trả lời ĐÚNG CẢ HAI câu hỏi.
🛠️ Giải pháp đề xuất: Từ Language Studio, tạo một entity tên "cost", sau đó retrain và republish model.
Câu hỏi kiểm tra xem giải pháp này có đạt mục tiêu không. (Lưu ý: Sau khi trả lời, không quay lại được, giống format kỳ thi thực tế).
✅ Đáp án ĐÚNG: No
Lý do chọn đáp án này (theo kiến thức Azure AI Language mới nhất 2026):
Giải pháp KHÔNG đạt mục tiêu vì entity extraction (như tạo entity "cost") chỉ dùng để nhận diện và extract thực thể (entities) trong văn bản (ví dụ: nhận dạng "cost" là một entity số hoặc text cụ thể). Tuy nhiên, vấn đề ở đây là question matching trong Custom Question Answering (QA) - model không nhận ra các biến thể câu hỏi (paraphrases) như "price" vs "cost".
- Trong Azure AI Language Studio (phiên bản 2024+), QA dựa trên knowledge base từ PDF tự động tạo question-answer pairs. Để xử lý paraphrase, cần:
- Thêm alternate questions (các câu hỏi thay thế) thủ công cho pair tương ứng (ví dụ: thêm "How much does cost?" vào pair của "What is the price of ?").
- Hoặc dùng Active Learning để suggest và approve các câu hỏi mới từ test logs.
- Retrain/republish sau khi chỉnh sửa.
Tạo entity "cost" không ảnh hưởng đến việc matching câu hỏi đầu vào với answer trong KB, nên chatbot vẫn fail với "How much does cost?".
📘 Các phương án trả lời và phân tích chi tiết:
-
❌ Yes (Sai):
Phương án này SAI vì giả định tạo entity "cost" sẽ giúp model hiểu synonym giữa "price" và "cost". Thực tế, entity chỉ hỗ trợ Named Entity Recognition (NER) hoặc extract giá trị từ answer, KHÔNG cải thiện question ranking/matching trong QA project. Dẫn đến model vẫn không match câu hỏi thứ hai, không đạt goal. -
✅ No (Đúng):
Phương án này ĐÚNG vì giải pháp đề xuất không giải quyết gốc rễ vấn đề paraphrase. Theo docs Azure, cần chỉnh sửa question pairs hoặc dùng short answer enhancements trong Language Studio để handle semantic similarity (dùng embedding models như multilingual hoặc ONNX-based cho phiên bản 2026). Tạo entity chỉ phù hợp cho conversational language understanding (CLU) projects, không phải pure QA.
🔗 Tài liệu tham khảo (cập nhật 2026):
- Azure AI Language - Custom question answering ✅ (Hướng dẫn Language Studio, active learning & alternates).
- Handle question variations in QA 🧩 (Chính thức về paraphrase).
- Azure AI Language Studio UI Guide 📱 (Test trực tiếp, phiên bản mới hỗ trợ auto-suggest paraphrases).
- Kỳ thi AZ-204: Scenario questions thường test hiểu sâu về khi nào dùng entity vs QA matching.
💡 Lời khuyên từ Azure AI Engineer: Nếu gặp trường hợp thực tế, hãy dùng Active Learning trong Language Studio để capture user queries fail và add alternates - hiệu quả nhất! 🚀
You need to ensure that the solution scans the entire dataset, at the same time, for anomalies.
Which type of detection should you use?
- A batch
- B streaming
- C change points
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc chủ đề phát hiện bất thường (anomaly detection) trong AWS, cụ thể liên quan đến dịch vụ Amazon Lookout for Metrics (phiên bản mới nhất tính đến 2026 vẫn giữ nguyên các tính năng cốt lõi về batch và streaming detection).
📜 Nội dung câu hỏi:
Bạn đang xây dựng một giải pháp để phát hiện bất thường trong dữ liệu cảm biến từ 24 giờ trước. Yêu cầu chính là quét toàn bộ dataset cùng một lúc (at the same time) để tìm anomaly. Điều này nhấn mạnh nhu cầu xử lý batch dữ liệu lịch sử một cách đồng bộ, không phải theo thời gian thực hoặc incremental.
🛠️ Bối cảnh kỹ thuật:
- Dữ liệu từ "previous 24 hours" là dữ liệu lịch sử cố định, không phải luồng dữ liệu liên tục.
- "Scans the entire dataset, at the same time" ngụ ý xử lý toàn bộ dữ liệu một lần duy nhất (batch processing), giúp phát hiện anomaly trên toàn bộ tập dữ liệu mà không bỏ sót hoặc xử lý từng phần riêng lẻ.
Đây là kịch bản điển hình cho backtesting hoặc batch anomaly detection trong AWS Lookout for Metrics, nơi detector quét toàn bộ khoảng thời gian dữ liệu để xác định bất thường.
✅ Đáp án đúng: batch
Lý do lựa chọn:
Phương án batch là đúng vì nó cho phép quét toàn bộ dataset lịch sử (từ 24 giờ trước) cùng một lúc, phù hợp hoàn hảo với yêu cầu "scans the entire dataset, at the same time". Trong Amazon Lookout for Metrics, batch detection (hay backtest detector) xử lý dữ liệu lịch sử một cách đồng bộ, tính toán anomaly trên toàn bộ khoảng thời gian chỉ trong một lần chạy. Điều này đảm bảo độ chính xác cao cho dữ liệu cố định, không bị ảnh hưởng bởi dữ liệu mới đến sau.
📘 Nguồn tham khảo: AWS Documentation - Lookout for Metrics: Batch vs. Streaming Detectors (cập nhật 2025-2026, không thay đổi cơ bản).
📋 Giải thích tất cả các phương án
-
✅ batch (Đúng):
Như đã giải thích ở trên, batch detection quét toàn bộ dataset cùng lúc, lý tưởng cho dữ liệu lịch sử 24 giờ. Nó sử dụng backtest để mô phỏng phát hiện anomaly trên dữ liệu quá khứ, giúp đánh giá hiệu suất detector một cách toàn diện. Không có xử lý incremental, tránh sai lệch từ dữ liệu mới. -
❌ streaming (Sai):
Streaming detection xử lý dữ liệu theo thời gian thực (real-time), liên tục nhận và phân tích dữ liệu mới đến từng phút/giờ, không quét toàn bộ dataset cùng lúc. Với dữ liệu 24 giờ trước (lịch sử), streaming sẽ không phù hợp vì nó tập trung vào dữ liệu mới nhất, có thể bỏ sót anomaly toàn cục. Trong Lookout for Metrics, streaming detector dùng cho giám sát liên tục, không phải backtest lịch sử. -
❌ change points (Sai):
Change points là một thuật toán phát hiện điểm thay đổi (change point detection) trong anomaly detection, tập trung vào việc xác định thời điểm dữ liệu thay đổi đột ngột (như trong Amazon SageMaker hoặc Lookout for Metrics algorithms). Đây không phải loại detection (batch/streaming), mà là một phương pháp cụ thể bên trong detector. Nó không đảm bảo quét toàn bộ dataset cùng lúc, mà chỉ phát hiện các điểm chuyển tiếp, không phù hợp với yêu cầu tổng quát.
🧮 Tóm tắt so sánh nhanh:
Batch phù hợp cho lịch sử toàn bộ → ✅ Hoàn hảo.
Streaming cho real-time → ❌ Không đồng bộ.
Change points là thuật toán phụ → ❌ Không phải loại chính.
Nếu áp dụng thực tế trên AWS (2026), hãy dùng CreateAnomalyDetector API với DetectionType: "BACK_TEST_ANOMALY_DETECTION" cho batch! 🚀