AID301cChưa đo Cập nhật 22 giờ trước

AID301c - Thiết kế sản phẩm TTNT

AID301c - Thiết kế sản phẩm TTNT là môn 3 tín chỉ bậc cử nhân của Đại học FPT, học sau SWE201c và AIL303m. Môn xử lý khoảng cách giữa một mô hình chạy tốt trong sổ tay thử nghiệm và một sản phẩm trí tuệ nhân tạo mà doanh nghiệp dùng được mỗi ngày. Nhiều dự án AI không hỏng ở thuật toán: chúng hỏng vì bài toán kinh doanh đặt mơ hồ, vì dữ liệu đổ vào không ổn định, hoặc vì mô hình lặng lẽ xuống cấp sau khi lên hệ thống thật mà không ai hay. Do đó việc làm AI được xem như một vòng khép kín, mở bằng câu hỏi kinh doanh và đóng bằng dữ liệu vận hành quay về chất vấn chính câu hỏi ấy. Đầu cuối của vòng là phần dễ bị xem nhẹ: giám sát mô hình đang chạy, nhận ra độ trôi của dữ liệu đầu vào và của chất lượng dự đoán, rồi dựng vòng phản hồi để biết lúc nào phải huấn luyện lại. Ở đầu kia, ưu tiên kinh doanh được dịch thành giả thuyết đo được, và dữ liệu từ nhiều nguồn rời rạc được gom qua đường ống thu nhận chạy lặp lại thay vì nhặt tay một lần. Chặng chuẩn bị dữ liệu đi qua biến đổi và tạo đặc trưng, việc soát thiên lệch trong dữ liệu lẫn trong kết quả mô hình, và trước đó là phân tích khám phá kèm kiểm định giả thuyết thống kê để tách khác biệt có thật khỏi nhiễu. Ở khâu triển khai, mô hình trở thành dịch vụ: đóng gói trong container Docker, xử lý dữ liệu lớn bằng Apache Spark, chạy và mở rộng trên cụm Kubernetes. Ở khâu mô hình, trọng tâm là chọn thước đo đánh giá khớp với cái giá của từng loại sai, so học máy truyền thống với học sâu, và hai lớp ứng dụng riêng là nhận dạng hình ảnh với xử lý ngôn ngữ tự nhiên. Học xong, người học dựng được một dịch vụ dự đoán có giám sát đủ để bàn giao cho người vận hành, biện hộ được cho lựa chọn mô hình bằng thước đo gắn với thiệt hại thật thay vì một con số chính xác chung chung, và trước cả hai việc đó, đọc được một yêu cầu kinh doanh để chỉ ra dữ liệu nào còn thiếu trước khi viết dòng mã đầu tiên. Môn cũng rèn thói quen nghi ngờ kết quả của chính mình: một mô hình đạt điểm cao trên tập kiểm tra vẫn có thể sai có hệ thống với một nhóm khách hàng, hoặc mất giá trị sau vài tháng khi hành vi người dùng đổi, và phải có số đo liên tục mới thấy được điều đó.

134Câu hỏi
3Bộ đề
6Chủ đề
Thử sức tại chỗ

Trả lời ngay tại đây

Chưa trả lời câu nào
1AID301c - Phần 4: Học máy, nhận dạng hình ảnh và ngôn ngữ tự nhiên
What is the purpose of the classification_report in sklearn?
2AID301c - Phần 5: Triển khai mô hình trong doanh nghiệp
In the script example-spark-submit.sh, what does the #!/bin/bash line indicate?
3AID301c - Phần 4: Học máy, nhận dạng hình ảnh và ngôn ngữ tự nhiên
In the context of NLP, what does sentiment analysis refer to?
Còn 3 câu nữa ở trên

Trả lời hết các câu trên để xem tổng kết, hoặc vào phiên học ngay.

Học từ ngân hàng câu hỏi

Bắt đầu một phiên học theo môn

Tiến độ của bạn luôn được tính và đồng bộ trực tiếp theo tổng số lượng câu hỏi mới nhất của môn học này.

134Ngân hàng hiện tại--Tiến độ môn

Câu hỏi của môn

24/134 câuCòn 110
A10-15%
B20-35%
C45-50%
D70-75%
E85-95%
Lời giải
Đáp án đúng: "45-50%". Hàm lemmatize_document trong bài thực hành xử lý ngôn ngữ tự nhiên làm hai việc cùng lúc: đưa mỗi từ về lemma (dạng gốc trong từ điển, chẳng hạn running thành run) và loại bỏ stop word (từ chức năng như the, is, and) cùng dấu câu. Trong văn bản tiếng Anh, từ chức năng và dấu câu chiếm một phần rất lớn số token, nên sau khi lọc, kho văn bản chỉ còn lại khoảng một nửa số token ban đầu. Mức "10-15%" và "20-35%" ngụ ý đã cắt gần hết văn bản, mạnh hơn nhiều so với việc chỉ bỏ từ chức năng và dấu câu. Ngược lại, "70-75%" và "85-95%" ứng với trường hợp gần như không lọc gì; đó là kết quả nếu chỉ lemmatize thuần túy, vì bước này chỉ đổi dạng từ chứ không làm giảm số lượng token.
Mở trang câu hỏi này →
AInstall the SDK
BCreate an IBM Cloud account
CCreate a resource for Natural Language Understanding
DDownload the tutorial files
Lời giải
Đáp án đúng: "Create an IBM Cloud account". Watson Developer Cloud Python SDK (bộ công cụ lập trình để gọi các dịch vụ Watson từ Python) chỉ là lớp vỏ gọi tới các dịch vụ chạy trên IBM Cloud, nên mọi bước khác đều phụ thuộc vào việc có tài khoản đám mây trước: tài khoản là nơi tạo dịch vụ, sinh API key và URL để SDK xác thực. "Install the SDK" là bước cần làm, nhưng cài thư viện xong mà chưa có tài khoản thì không có thông tin xác thực nào để dùng, vì vậy nó đứng sau. "Create a resource for Natural Language Understanding" chỉ thực hiện được khi đã đăng nhập vào một tài khoản IBM Cloud, nên là bước tiếp theo chứ không phải bước đầu. "Download the tutorial files" là tài liệu hỗ trợ học tập, không phải điều kiện để thiết lập SDK và có thể làm vào bất kỳ lúc nào.
Mở trang câu hỏi này →
AThe explicit training vs implicit training comparison
BThe lambda or regularization parameter
CThe epsilon or scale parameter
DThe l1 vs l2 comparison
Lời giải
Đáp án đúng: "The lambda or regularization parameter". Trong ALS (Alternating Least Squares, bình phương tối thiểu luân phiên) dùng cho hệ gợi ý, ma trận đánh giá được phân rã thành ma trận nhân tố người dùng và ma trận nhân tố sản phẩm; tham số lambda (regularization, chính quy hoá) phạt độ lớn của các nhân tố để chống quá khớp trên dữ liệu rất thưa, nên khi dò siêu tham số trong bài tình huống triển khai mô hình, thay đổi lambda làm sai số trên tập kiểm tra biến động rõ nhất. "The explicit training vs implicit training comparison" sai vì chọn phản hồi tường minh hay ngầm định là chọn kiểu dữ liệu đầu vào cho đúng bài toán, không phải tinh chỉnh mang lại khác biệt lớn nhất. "The epsilon or scale parameter" sai vì ALS không có tham số epsilon hay scale đóng vai trò chính; tham số gần nhất là alpha chỉ dùng ở chế độ implicit. "The l1 vs l2 comparison" sai vì ALS chuẩn dùng chính quy hoá kiểu L2 trên các nhân tố, không có lựa chọn chuyển sang L1 để so sánh.
Mở trang câu hỏi này →
A400
B450
C500
D600
E650
Lời giải
Đáp án đúng: "600". Khi gộp các tệp JSON giao dịch theo tháng thành một DataFrame (bảng dữ liệu của pandas) rồi lấy ngày nhỏ nhất và lớn nhất của cột ngày, khoảng thời gian dữ liệu phủ là gần hai năm, tức vào khoảng 600 ngày. Cách kiểm chứng là tạo cột ngày bằng pd.to_datetime từ năm, tháng, ngày rồi tính hiệu giữa giá trị lớn nhất và nhỏ nhất, kết quả quy ra số ngày. Phương án "400" và "450" quá ngắn, chỉ tương ứng khoảng mười ba đến mười lăm tháng, không phủ hết các tệp đã gộp. Phương án "500" vẫn hụt so với khoảng thật, giống như bỏ sót vài tháng dữ liệu cuối. Phương án "650" lại vượt quá phạm vi dữ liệu, tương đương cộng thêm gần hai tháng không có giao dịch nào. Bài học thực hành ở đây là luôn kiểm tra phạm vi thời gian sau khi gộp dữ liệu để phát hiện tệp thiếu hoặc ngày bị đọc sai định dạng.
Mở trang câu hỏi này →
ANumPy
BMatplotlib
CPandas
DSciPy
Lời giải
Đáp án đúng: "Pandas". Thư viện Pandas cung cấp cấu trúc DataFrame (bảng dữ liệu có nhãn cột) cùng các hàm read_csv và to_csv, là cách phổ biến nhất trong Python để đọc và ghi tệp CSV, tự xử lý tiêu đề cột, kiểu dữ liệu và giá trị thiếu. "NumPy" làm việc với mảng số nhiều chiều; nó có loadtxt và savetxt nhưng không tiện cho bảng có cột chữ lẫn cột số. "Matplotlib" là thư viện vẽ biểu đồ, không dùng để đọc ghi dữ liệu dạng bảng. "SciPy" tập trung vào tính toán khoa học như tối ưu, thống kê, xử lý tín hiệu, không phải công cụ chính để nhập xuất CSV.
Mở trang câu hỏi này →
10What is a poisoning attack?4 lựa chọn
AAn attack that occurs during model deployment
BAn attack that injects malicious data into the training set
CAn attack that modifies the model's architecture
DAn attack that occurs only at test time
Lời giải
Đáp án đúng: "An attack that injects malicious data into the training set". Poisoning attack (tấn công đầu độc dữ liệu) là kiểu tấn công nhắm vào giai đoạn huấn luyện: kẻ tấn công chèn hoặc sửa một phần dữ liệu huấn luyện, ví dụ gắn nhãn sai hay cài mẫu có dấu hiệu kích hoạt, để mô hình học ra hành vi lệch theo ý họ. Phương án "An attack that occurs during model deployment" sai vì lúc triển khai mô hình đã học xong, tấn công ở đây thường là đánh lừa đầu vào chứ không đầu độc dữ liệu học. Phương án "An attack that modifies the model's architecture" mô tả việc can thiệp trực tiếp vào cấu trúc mô hình, đó là xâm nhập hệ thống chứ không phải đầu độc dữ liệu. Phương án "An attack that occurs only at test time" là định nghĩa của evasion attack (tấn công né tránh), dùng mẫu đối kháng (adversarial example) để đánh lừa mô hình đã huấn luyện, trái ngược hẳn với poisoning vốn xảy ra trước khi mô hình được dùng.
Mở trang câu hỏi này →
Aunittest
Bcoverage
Cpytest
Dflask
Lời giải
Đáp án đúng: "coverage". Gói coverage (coverage.py) theo dõi những dòng mã nào thực sự được thực thi trong lúc bộ test chạy, rồi báo cáo test coverage (độ phủ kiểm thử): tỉ lệ dòng hoặc nhánh đã được chạm tới và chỉ rõ dòng nào chưa có test nào đi qua. "unittest" là framework kiểm thử có sẵn trong thư viện chuẩn của Python, dùng để viết và chạy ca kiểm thử chứ bản thân nó không đo độ phủ. "pytest" cũng là công cụ viết và chạy test; nó chỉ báo được độ phủ khi gắn thêm plugin pytest-cov, mà plugin này lại dựa trên chính gói coverage. "flask" là web framework để dựng ứng dụng web hoặc API, chẳng hạn API phục vụ dự đoán của mô hình, nên không liên quan gì đến việc ước lượng độ phủ kiểm thử.
Mở trang câu hỏi này →
ATo impress stakeholders
BTo streamline the modeling process and ensure data quality
CTo increase project costs
DTo avoid using Python
Lời giải
Đáp án đúng: "To streamline the modeling process and ensure data quality". Ghi chép dữ liệu (data documentation) trước khi bắt đầu dự án gồm mô tả nguồn, ý nghĩa từng cột, kiểu dữ liệu, đơn vị, cách thu thập và các giới hạn đã biết; nhờ vậy nhóm phát hiện sớm giá trị thiếu, sai định dạng hay rò rỉ thông tin, chọn biến hợp lý và tránh phải làm lại khi xây mô hình. "To impress stakeholders" không phải mục đích: tài liệu có giúp trao đổi với các bên liên quan, nhưng giá trị của nó nằm ở chất lượng công việc chứ không phải gây ấn tượng. "To increase project costs" ngược với thực tế, vì ghi chép kỹ từ đầu giúp giảm chi phí sửa lỗi về sau. "To avoid using Python" không liên quan, vì việc mô tả dữ liệu không quyết định ngôn ngữ lập trình, thậm chí thường được làm ngay bằng Python với pandas.
Mở trang câu hỏi này →
AIt is always accurate.
BIt can be misleading.
CIt is the only metric available.
DIt does not consider false positives.
Lời giải
Đáp án đúng: "It can be misleading.". Accuracy (độ chính xác tổng thể) là tỉ lệ dự đoán đúng trên tổng số mẫu, nên khi các lớp mất cân bằng, chẳng hạn 99% giao dịch hợp lệ và 1% gian lận, một mô hình luôn đoán hợp lệ vẫn đạt accuracy 99% dù không bắt được ca gian lận nào; vì vậy cần xem thêm precision, recall, F1 hoặc ma trận nhầm lẫn. "It is always accurate." sai vì chính ví dụ trên cho thấy con số cao có thể che giấu một mô hình vô dụng với lớp thiểu số. "It is the only metric available." sai vì còn nhiều chỉ số khác như recall, F1, ROC AUC hay PR AUC, vốn phù hợp hơn cho dữ liệu mất cân bằng. "It does not consider false positives." sai vì accuracy có tính dương tính giả: chúng nằm trong phần dự đoán sai làm giảm tử số; vấn đề thật là nó gộp mọi loại lỗi làm một và để lớp đa số lấn át kết quả.
Mở trang câu hỏi này →
ATrue
BFalse
Lời giải
Đáp án đúng: "False". Trong random forest (rừng ngẫu nhiên, Breiman), mỗi cây quyết định thành phần thường được cho mọc sâu, gần như không cắt tỉa, nên từng cây riêng lẻ có bias (độ chệch) thấp nhưng variance (phương sai) cao: nó khớp rất sát dữ liệu huấn luyện và thay đổi mạnh khi dữ liệu đổi một chút. Rừng ngẫu nhiên giảm phương sai bằng cách lấy trung bình hoặc bỏ phiếu trên nhiều cây được huấn luyện trên các mẫu bootstrap khác nhau và chỉ xét một tập con đặc trưng ngẫu nhiên ở mỗi lần tách, làm các cây ít tương quan với nhau. Phát biểu "True" mô tả ngược lại: bias cao và variance thấp là đặc điểm của các mô hình yếu, nông như stump (cây một tầng) dùng trong boosting, nơi thuật toán giảm bias bằng cách cộng dồn tuần tự. Vì vậy với base model của random forest, phát biểu trong câu hỏi là sai.
Mở trang câu hỏi này →
ASingapore
BUnited Kingdom
CUSA
DEIRE
EGermany
Lời giải
Đáp án đúng: "United Kingdom". Khi cộng doanh thu (số lượng nhân đơn giá) của mọi giao dịch theo từng quốc gia trong bộ dữ liệu bán lẻ trực tuyến của bài thực hành, United Kingdom đứng đầu với khoảng cách rất lớn, vì đây là thị trường gốc của doanh nghiệp và phần lớn đơn hàng đến từ khách trong nước. "Singapore" chỉ có một lượng giao dịch nhỏ nên tổng doanh thu thấp. "USA" xuất hiện ít trong dữ liệu, tổng doanh thu không đáng kể so với thị trường chính. "EIRE" (Ireland) và "Germany" là các thị trường nước ngoài có doanh thu cao nhất sau thị trường chính, nhưng vẫn kém xa United Kingdom khi tổng hợp bằng groupby theo quốc gia rồi lấy tổng.
Mở trang câu hỏi này →
ATrue Negatives (TN)
BFalse Positives (FP)
CTrue Positives (TP)
DAverage Score (AS)
EFalse Negatives (FN)
Lời giải
Đáp án đúng: "Average Score (AS)". Confusion matrix (ma trận nhầm lẫn) của bài toán phân loại nhị phân là bảng 2x2 đối chiếu nhãn thật với nhãn dự đoán, gồm đúng bốn ô; từ bốn ô này mới tính ra các chỉ số như accuracy, precision, recall. "Average Score (AS)" không phải một ô của ma trận, cũng không phải thuật ngữ chuẩn nào gắn với nó, nên là đáp án của câu hỏi phủ định. Ba ô còn lại đều là thành phần thật nên không được chọn: "True Negatives (TN)" là số mẫu âm được dự đoán đúng là âm; "False Positives (FP)" là số mẫu âm bị dự đoán nhầm thành dương, còn gọi là lỗi loại I; "True Positives (TP)" là số mẫu dương được dự đoán đúng là dương; "False Negatives (FN)" là số mẫu dương bị bỏ sót, dự đoán nhầm thành âm, tức lỗi loại II.
Mở trang câu hỏi này →
Atmpfs mount
Buse a named pipe
Cbind mounts
DGitHub
Evolumes
Lời giải
Đáp án đúng: "bind mounts". Bind mount (gắn thư mục máy chủ vào container) ánh xạ trực tiếp một thư mục có sẵn trên máy host, ví dụ thư mục dự án chứa notebook và script, vào một đường dẫn bên trong container bằng tùy chọn -v hoặc --mount khi chạy docker run; sửa tệp ở bên nào thì bên kia thấy ngay, rất hợp cho vòng lặp phát triển. "volumes" là vùng lưu trữ do Docker tự tạo và quản lý trong khu vực riêng của nó, phù hợp để giữ dữ liệu bền vững như dữ liệu cơ sở dữ liệu, nhưng không trỏ thẳng tới tệp mã nguồn bạn đang có trên máy. "tmpfs mount" chỉ cấp vùng nhớ tạm trong RAM và mất sạch khi container dừng. "use a named pipe" là kênh truyền dữ liệu giữa các tiến trình, không phải cách chia sẻ thư mục. "GitHub" là nơi lưu mã từ xa; kéo mã về không phải cơ chế để container truy cập tệp trên máy host.
Mở trang câu hỏi này →
Aservice version, service API key, service JSON map
Bservice URL, service JSON map, service API key
Cservice API key, service version, service URL
Dservice version, service IAMAuthenticator, service URL
Eservice API key, service URL, service IAMAuthenticator
Lời giải
Đáp án đúng: "service API key, service version, service URL". Khi gọi Watson Natural Language Understanding qua Python SDK, mã cần ba giá trị: API key để xác thực tài khoản, version (chuỗi ngày phiên bản API) để cố định hành vi của dịch vụ, và URL của điểm cuối dịch vụ theo vùng; ba giá trị này thường được lưu trong một tệp riêng trên máy rồi nhập vào notebook như biến. "service version, service API key, service JSON map" và "service URL, service JSON map, service API key" đều chứa "JSON map", vốn không phải thông tin cần lưu, và mỗi danh sách lại thiếu một trong ba mục thật. "service version, service IAMAuthenticator, service URL" và "service API key, service URL, service IAMAuthenticator" nhầm IAMAuthenticator, là lớp trong thư viện được khởi tạo từ API key ngay trong mã nên không phải giá trị cần lưu riêng; danh sách đầu còn thiếu API key, danh sách sau thiếu version.
Mở trang câu hỏi này →
Adef make_dict(lst1,lst2): res = {} for key,value in zip(lst1,lst2): res[key]= value return res
Bdef make_dict(lst1,lst2): res = {} res[lst1]= lst2 return res
Cdef make_dict(lst1,lst2): res = {} for key,value in (lst1,lst2): res[key]= value return res
Ddef make_dict(lst1,lst2): res = [] for key,value in zip(lst1,lst2): res[key]= value return res
Lời giải
Đáp án đúng: "def make_dict(lst1,lst2): res = {} for key,value in zip(lst1,lst2): res[key]= value return res". Khi viết thành nhiều dòng, thân hàm tạo dict rỗng res = {}, dòng for thụt vào một mức duyệt các cặp do zip sinh ra, câu gán res[key]= value thụt thêm một mức nằm trong vòng lặp, còn return res thẳng hàng với for để trả kết quả sau khi lặp xong; zip(lst1,lst2) ghép phần tử cùng vị trí thành các cặp (a, 1), (b, 2), (c, 3) nên kết quả là dict ánh xạ a sang 1, b sang 2, c sang 3. "def make_dict(lst1,lst2): res = {} res[lst1]= lst2 return res" sai vì list là kiểu không băm được (unhashable) nên dùng cả danh sách làm khoá gây TypeError, và kể cả chạy được cũng chỉ tạo một cặp chứ không ghép từng phần tử. "def make_dict(lst1,lst2): res = {} for key,value in (lst1,lst2): res[key]= value return res" sai vì thiếu zip: vòng lặp duyệt một tuple gồm hai danh sách, mỗi lượt cố tách một danh sách ba phần tử vào hai biến key, value nên báo ValueError too many values to unpack. "def make_dict(lst1,lst2): res = [] for key,value in zip(lst1,lst2): res[key]= value return res" sai vì res là list rỗng, gán res[key] với key là chuỗi gây TypeError do chỉ số của list phải là số nguyên.
Mở trang câu hỏi này →
AAutomatic logging of requests and responses
BA tool that makes it easy to run a single-node cluster locally
CThe primary node agent on each node, responsible for the processes running on that machine
DThe CLI for communicating with the kubernetes cluster
Lời giải
Đáp án đúng: "The CLI for communicating with the kubernetes cluster". kubectl là công cụ dòng lệnh (CLI) gửi yêu cầu tới API server của cụm Kubernetes để tạo, xem, sửa, xoá tài nguyên như pod, deployment, service, ví dụ kubectl apply -f deployment.yaml hay kubectl get pods. Phương án "Automatic logging of requests and responses" sai vì việc ghi nhật ký tự động thuộc về ứng dụng hoặc hệ thống logging của cụm; kubectl chỉ cho phép đọc log bằng kubectl logs chứ không tự ghi lại các yêu cầu. Phương án "A tool that makes it easy to run a single-node cluster locally" mô tả minikube, công cụ dựng cụm một nút trên máy cá nhân để thử nghiệm. Phương án "The primary node agent on each node, responsible for the processes running on that machine" mô tả kubelet, tác tử chạy trên mỗi nút để đảm bảo các container của pod được khởi chạy và giữ đúng trạng thái.
Mở trang câu hỏi này →
ADashboards are an easy way to share summaries and findings
BDashboards have interactive functionality that helps create a rich experience for the user
CDashboards are generally used after serveral iterations of the AI workflow
DDashboards are quick way to create portable simple plots
EDashboards can be used to tell the story of investigative visualizations
Lời giải
Đáp án đúng: "Dashboards are quick way to create portable simple plots". Dashboard (bảng điều khiển trực quan) là sản phẩm tổng hợp nhiều biểu đồ có tương tác, cần công sức thiết kế và một máy chủ hoặc nền tảng để chạy, nên không phải cách nhanh để tạo biểu đồ đơn giản mang đi dùng ở nơi khác; việc đó hợp với một hình tĩnh xuất từ Matplotlib hơn. "Dashboards are an easy way to share summaries and findings" đúng vì dashboard giúp người liên quan xem kết quả tổng hợp ở một chỗ. "Dashboards have interactive functionality that helps create a rich experience" đúng vì người dùng có thể lọc, phóng to, chọn chiều dữ liệu. "Dashboards are generally used after serveral iterations of the AI workflow" đúng vì thường chỉ dựng dashboard khi phân tích đã ổn định qua vài vòng lặp. "Dashboards can be used to tell the story of investigative visualizations" đúng vì chúng sắp xếp các phát hiện thành một mạch kể chuyện bằng dữ liệu.
Mở trang câu hỏi này →
AIdeate
BEmpathize
CPrototype
DTest
Lời giải
Đáp án đúng: "Empathize". Design thinking (tư duy thiết kế) thường được mô tả qua năm giai đoạn theo thứ tự Empathize, Define, Ideate, Prototype, Test. Giai đoạn đầu là thấu cảm: tìm hiểu người dùng và các bên liên quan, quan sát, phỏng vấn để hiểu nhu cầu và nỗi đau thật của họ trước khi bàn giải pháp. Trong một dự án dữ liệu, đây là lúc nắm bài toán kinh doanh và người sẽ dùng kết quả. "Ideate" là giai đoạn thứ ba, chỉ bắt đầu sau khi vấn đề đã được định nghĩa rõ, khi nhóm đưa ra thật nhiều ý tưởng giải pháp. "Prototype" là giai đoạn thứ tư, dựng bản mẫu rẻ và nhanh cho các ý tưởng được chọn. "Test" là giai đoạn cuối, đưa bản mẫu cho người dùng thử để lấy phản hồi và có thể quay vòng lại các bước trước. Bắt đầu bằng bất kỳ giai đoạn nào trong ba giai đoạn này đều có nguy cơ giải sai vấn đề vì chưa hiểu người dùng.
Mở trang câu hỏi này →
ATeam experience
BData quality
CProject requirements
DCompany size
Lời giải
Đáp án đúng: "Company size". Câu hỏi phủ định, nên cần chọn thứ không phải yếu tố quyết định thời gian làm sạch dữ liệu (data cleaning). Quy mô công ty tự nó không cho biết dữ liệu bẩn tới mức nào hay cần xử lý kỹ ra sao: một công ty nhỏ vẫn có thể có dữ liệu rất lộn xộn, và ngược lại. "Data quality" là yếu tố rõ nhất, vì dữ liệu càng nhiều giá trị thiếu, bản ghi trùng lặp, sai định dạng hay ngoại lai thì càng tốn công xử lý. "Team experience" có ảnh hưởng thật, vì nhóm từng làm nhiều sẽ nhanh nhận ra lỗi điển hình và có sẵn quy trình, công cụ để tự động hóa. "Project requirements" cũng ảnh hưởng, vì yêu cầu về độ chính xác, phạm vi dữ liệu và thời hạn quyết định cần làm sạch sâu đến đâu. Đây đều là phát biểu đúng nên không được chọn.
Mở trang câu hỏi này →
Adocker-io
Bdocker-ce
Cdocker-compose
Ddocker-toolbox
Lời giải
Đáp án đúng: "docker-ce". Docker Engine có bản cộng đồng miễn phí, mã nguồn mở gọi là Docker Community Edition, và tên gói cài đặt của nó là docker-ce, phân biệt với bản doanh nghiệp từng mang tên docker-ee. "docker-io" gợi tới gói docker.io do kho phần mềm của các bản phân phối như Debian, Ubuntu tự đóng gói lại, không phải gói cộng đồng chính thức do Docker phát hành. "docker-compose" là công cụ định nghĩa và chạy ứng dụng nhiều container bằng tệp YAML, chạy bên trên Engine chứ không phải bản thân Engine. "docker-toolbox" là bộ cài cũ cho Windows và macOS đời trước, dùng máy ảo VirtualBox để chạy Docker, nay đã được Docker Desktop thay thế.
Mở trang câu hỏi này →