Top 30+ câu hỏi phỏng vấn IoT Developer lý thuyết và thực hành

Để vượt qua vòng phỏng vấn cho vị trí IoT Developer, bạn không chỉ cần nắm vững kiến thức lý thuyết mà còn phải thể hiện được tư duy hệ thống và khả năng triển khai thực tế. Nếu bạn đang chuẩn bị cho một buổi phỏng vấn về IoT, đừng bỏ qua bài viết này. ITviec đã tổng hợp các câu hỏi phỏng vấn IoT Developer từ lý thuyết đến thực hành thường gặp nhất. Hy vọng những câu hỏi này sẽ giúp bạn đạt kết quả tốt trong buổi phỏng vấn sắp tới. 

Đọc bài viết để được hướng dẫn trả lời:

  • Câu hỏi phỏng vấn IoT cơ bản
  • Câu hỏi phỏng vấn phần cứng và thiết bị IoT
  • Câu hỏi phỏng vấn giao thức truyền thông IoT
  • Câu hỏi phỏng vấn về bảo mật IoT
  • Câu hỏi phỏng vấn IoT về điện toán đám mây và phân tích dữ liệu
  • Câu hỏi phỏng vấn về thiết kế hệ thống IoT
  • Các câu hỏi thực hành lập trình IoT

Câu hỏi phỏng vấn IoT cơ bản

IoT là gì? Hãy giải thích định nghĩa theo cách dễ hiểu nhất

IoT (Internet of Things) hay “Internet vạn vật” là một hệ thống kết nối giữa các thiết bị vật lý với nhau thông qua Internet. Mỗi thiết bị được gán một mã định danh riêng, cho phép chúng tự động thu thập và trao đổi dữ liệu, tương tác với nhau hoặc với môi trường xung quanh mà không cần tác động trực tiếp từ con người hay máy tính.

IoT mở rộng khả năng kết nối Internet vượt ra ngoài các thiết bị truyền thống như máy tính, laptop hay điện thoại, đến nhiều vật dụng khác trong đời sống và công việc như đồng hồ thông minh, máy lạnh, máy móc công nghiệp,…

Đọc thêm: IoT là gì? Những ứng dụng của IoT trong thời đại 4.0

Các thành phần chính của một hệ thống IoT bao gồm những gì?

 câu hỏi phỏng vấn IoT - ITviec blog

(Nguồn: Geeksforgeeks)

Một hệ thống IoT thường bao gồm:

  • Thiết bị (Things or Devices): Gồm cảm biến thu thập dữ liệu (nhiệt độ, độ ẩm…) và bộ truyền động thực hiện hành động (như bật quạt).
  • Cổng kết nối (Gateway): Nhận và xử lý sơ bộ dữ liệu, đồng thời bảo vệ mạng IoT.
  • Điện toán đám mây (Cloud): Lưu trữ và xử lý dữ liệu từ thiết bị thông qua hệ thống máy chủ trực tuyến.
  • Phân tích dữ liệu (Analytics): Áp dụng thuật toán, Machine Learning để rút ra thông tin có giá trị.
  • Giao diện người dùng (User Interface): Nền tảng để theo dõi, điều khiển hệ thống theo thời gian thực.

Đọc thêm: IoT gateway là gì: Top 10 loại IoT gateway phổ biến

Có những mô hình truyền thông nào trong IoT?

Trong IoT, các thiết bị cần có phương thức truyền thông hiệu quả để kết nối và trao đổi dữ liệu. Có 4 mô hình truyền thông phổ biến, mỗi mô hình phù hợp với từng loại ứng dụng và kiến trúc hệ thống khác nhau, bao gồm:

Mô hình truyền thông Đặc điểm chính Ưu điểm Nhược điểm
Yêu cầu –  Phản hồi (Request – Response) Thiết bị gửi yêu cầu, server phản hồi. Mỗi yêu cầu được xử lý độc lập, không lưu trạng thái.

câu hỏi phỏng vấn IoT - ITviec blog

Đơn giản, dễ triển khai, phù hợp cho truy vấn nhanh. Không đáp ứng được hệ thống có số lượng lớn thiết bị gửi yêu cầu đồng thời.
Nhà xuất bản –  Người đăng ký (Publisher – Subscriber) Publisher gửi dữ liệu đến broker. Sau đó, broker phân phối dữ liệu cho các subscriber.

câu hỏi phỏng vấn IoT - ITviec blog

Hỗ trợ mô hình bất đồng bộ, phù hợp hệ thống phân tán. Phụ thuộc vào broker trung gian.
Đẩy – Kéo (Push – Pull) Producer đẩy dữ liệu vào queue. Sau đó, consumer kéo dữ liệu từ queue.

câu hỏi phỏng vấn IoT - ITviec blog

– Giảm tải trực tiếp giữa thiết bị gửi và nhận.

– Có thể cân bằng tốc độ đẩy/kéo dữ liệu.

Quản lý queue phức tạp nếu lưu lượng lớn.
Cặp kết nối độc quyền (Exclusive – Pair) – Kết nối hai chiều duy trì liên tục.

– Server biết tất cả kết nối mở.

– Dữ liệu trao đổi bất kỳ lúc nào.

 câu hỏi phỏng vấn IoT - ITviec blog

– Tối ưu cho giao tiếp thời gian thực.

– Độ trễ thấp.

Tốn tài nguyên mạng và hệ thống do duy trì kết nối lâu dài.

IoT khác gì so với Internet truyền thống?

Tiêu chí Internet truyền thống Internet of Things (IoT)
Mục đích Kết nối con người với thông tin và dịch vụ. Kết nối các thiết bị để thu thập dữ liệu và tự động hóa hành động mà không cần con người can thiệp.
Cách thức giao tiếp Chủ yếu sử dụng mô hình client-server qua giao thức HTTP. Giao tiếp linh hoạt theo nhiều mô hình (client-server, publish-subscribe, peer-to-peer) với giao thức nhẹ như MQTT, CoAP.
Thiết bị kết nối Chủ yếu là thiết bị có khả năng xử lý và tương tác như máy tính, smartphone, máy chủ,… Đa dạng như cảm biến, thiêt bị gia dụng (đèn, tủ lạnh,…) hoạt động không cần tương tác.
Tốc độ và độ trễ Ưu tiên tốc độ cao, độ trễ thấp để đáp ứng nhu cầu của người dùng cuối. Phụ thuộc ứng dụng, có thể truyền dữ liệu theo thời gian thực hoặc định kỳ.
Quy mô và quản lý Quản lý hàng triệu thiết bị, tập trung vào bảo mật, hiệu suất mạng và người dùng cuối. Quản lý hàng tỷ thiết bị nhỏ, yêu cầu giải pháp quản lý phân tán, tiết kiệm năng lượng và bảo mật theo từng thiết bị.

Hãy giải thích thuật ngữ thành phố thông minh trong IoT?

Thành phố thông minh (Smart City) là mô hình đô thị ứng dụng công nghệ IoT để kết nối và quản lý hiệu quả các hệ thống hạ tầng, tiện ích và dịch vụ công cộng. Trong thành phố thông minh, các thiết bị như cảm biến, đèn chiếu sáng, đồng hồ đo lường,… liên tục thu thập và phân tích dữ liệu. Chính quyền sẽ sử dụng dữ liệu này để tối ưu hóa hoạt động giao thông, năng lượng, cấp nước, an ninh, quản lý chất thải và nhiều lĩnh vực khác.

câu hỏi phỏng vấn IoT - ITviec blog
Các ứng dụng IoT trong các quy mô thành phố thông minh (lớn – trung bình – nhỏ)

Nhờ IoT, thành phố có thể xây dựng các hệ thống lưới điện thông minh, điều phối giao thông linh hoạt, quản lý rác thải tự động, tiết kiệm nước, phát triển nhà ở thông minh và nâng cao mức độ an toàn cho cộng đồng. IoT cũng mang lại một lớp trí tuệ nhân tạo và đổi mới cho quy hoạch đô thị, giúp các thành phố trở nên trực quan, linh hoạt và đáng sống hơn.

Câu hỏi phỏng vấn về phần cứng và thiết bị IoT

Giải thích khái niệm điện toán biên (Edge Computing) trong IoT?

Điện toán biên (Edge Computing) trong IoT là quá trình xử lý dữ liệu ngay tại nơi dữ liệu được tạo ra (gần với các thiết bị và cảm biến) thay vì gửi toàn bộ dữ liệu về máy chủ trung tâm hoặc đám mây để xử lý.  

Việc xử lý tại biên giúp giảm độ trễ (latency), hạn chế tắc nghẽn mạng, mã hóa, bảo mật dữ liệu và đảm bảo hệ thống vận hành nhanh chóng, hiệu quả, đặc biệt khi thiết bị IoT tạo ra khối lượng dữ liệu rất lớn và yêu cầu phản hồi tức thời.

Cảm biến (sensor) và bộ truyền động (actuator) khác nhau như thế nào?

Cảm biến (sensor) và bộ truyền động (actuator) là hai thành phần quan trọng trong các hệ thống công nghệ hiện đại, hoạt động phối hợp để tự động hóa quá trình điều khiển. Tuy nhiên, chức năng của chúng rất khác biệt:

  • Cảm biến (sensor) có nhiệm vụ thu thập thông tin từ môi trường xung quanh, chẳng hạn như nhiệt độ, ánh sáng, độ ẩm, áp suất… và chuyển đổi chúng thành tín hiệu điện tử để hệ thống xử lý.
  • Bộ truyền động (actuator) nhận tín hiệu điều khiển từ hệ thống (thường dựa trên dữ liệu cảm biến) và thực hiện hành động cụ thể, ví dụ như mở van, bật đèn, điều chỉnh động cơ…

Hãy cho biết tầm quan trọng của việc cập nhật các chương trình cơ sở trong thiết bị IoT

Cập nhật chương trình cơ sở (firmware) rất quan trọng để vá các lỗ hổng bảo mật và bảo vệ thiết bị IoT khỏi những mối đe dọa tiềm tàng. Ngoài ra, việc cập nhật còn giúp cải thiện hiệu suất thiết bị, bổ sung tính năng mới và đảm bảo tính tương thích với các thành phần hệ thống khác.

Đọc thêm: Thiết bị IoT là gì? Top 10+ thiết bị ứng dụng IoT phổ biến 2025

Câu hỏi phỏng vấn giao thức truyền thông IoT

So sánh MQTT và CoAP khi triển khai IoT

MQTT và CoAP đều là các giao thức ứng dụng được thiết kế cho môi trường IoT. CoAP phù hợp với các tình huống hạn chế nhờ cơ chế yêu cầu – phản hồi qua UDP. Trong khi đó, MQTT được xây dựng cho việc giao tiếp đáng tin cậy với băng thông thấp, sử dụng mô hình xuất bản theo chủ đề (publish – subscribe) của TCP, rất lý tưởng cho giao tiếp giữa các thiết bị (M2M).

Tiêu chí CoAP – Constrained Application Protocol MQTT – Message Queuing Telemetry Transport
Loại giao tiếp Sử dụng mô hình yêu cầu – phản hồi Sử dụng mô hình xuất bản theo chủ đề
Chế độ nhắn tin Đồng bộ và bất đồng bộ Bất đồng bộ
Giao thức tầng vận chuyển Chủ yếu sử dụng UDP Chủ yếu sử dụng TCP
Kích thước header Header kích thước 4 byte Header kích thước 2 byte
Dựa trên RESTful Tuân thủ nguyên lý REST Không tuân thủ nguyên lý REST
Hỗ trợ lưu trữ Không hỗ trợ lưu trữ Hỗ trợ lưu trữ và thích hợp cho việc truyền tải dữ liệu trực tiếp
Gắn nhãn tin nhắn Cung cấp bằng cách thêm nhãn vào tin nhắn Không có tính năng này
Khả năng sử dụng/Bảo mật Dùng trong mạng lưới tiện ích và có hỗ trợ DTLS để bảo mật – Bảo mật phụ thuộc vào cấu hình broker

– Hỗ trợ TLS/SSL để mã hóa dữ liệu

Hiệu quả Hiệu quả trong các mạng lưới hạn chế (LNN) rất tốt Hiệu quả trong các mạng lưới hạn chế (LNN) thấp
Mô hình giao tiếp Mô hình giao tiếp một – một Mô hình giao tiếp nhiều – một
Ứng dụng – Ứng dụng trong mạng cảm biến không dây (LoRaWAN) 

– IoT Đô thị (quản lý đèn đường, bãi giữ xe)

– Ứng dụng trong nhà thông mình (điều khiển đèn, tủ lạnh), y tế (theo dõi dữ liệu bênh nhân)

LoRaWAN, NB-IoT, SigFox và LTE khác nhau ở điểm nào?

LoRaWAN, NB-IoT, SigFox và LTE là các công nghệ truyền thông khác nhau dành cho IoT. Những điểm khác biệt của chúng có thể so sánh bằng bảng sau:

Tiêu chí LoRaWAN NB-IoT SigFox LTE
Phạm vi phủ sóng Phạm vi xa (lên đến 15 km) Giới hạn trong phạm vi mạng di động Phạm vi rộng ở các khu vực hỗ trợ Sigfox Phạm vi toàn cầu với mạng LTE
Mức tiêu thụ năng lượng Tiêu thụ năng lượng thấp, pin 5 – 10 năm Tiêu thụ năng lượng thấp nhưng cao hơn LoRaWAN do đồng bộ mạng Năng lượng tiêu thụ cực thấp, phù hợp cho dữ liệu nhỏ Tiêu thụ năng lượng cao
Tốc độ dữ liệu 0.3–50 kbps Tối đa 250 kbps Khoảng 100 bps 1–150 Mbps
Chi phí Thiết bị giá rẻ và không phí định kỳ trên mạng riêng Giá vừa phải (cao  hơn LoRaWAN & Sigfox)  Thiết bị giá rẻ nhưng cần đăng ký mạng Chi phí module và phí dữ liệu cao hơn
Độ phức tạp khi triển khai Cần có gateway nhưng dễ thiết lập Cắm và chạy với nhà cung cấp, không cần cơ sở hạ tầng Đơn giản nhưng giới hạn trong các mạng Sigfox hiện có Dễ triển khai nhưng cần quản lý SIM
Phù hợp với Thành phố thông minh, tiện ích, nông nghiệp IoT công nghiệp, giám sát đô thị Theo dõi tài sản, logistics Ứng dụng cần dữ liệu lớn, video, thoại

Khi nào nên dùng giao thức MQTT thay vì HTTP trong một dự án IoT?

Giao thức MQTT phù hợp với các dự án IoT khi cần truyền tải dữ liệu hiệu quả, tiết kiệm băng thông và giảm độ trễ. MQTT đặc biệt thích hợp cho các ứng dụng yêu cầu truyền tải dữ liệu thời gian thực, giao tiếp liên tục, hoặc hoạt động trong môi trường có kết nối không ổn định và hạn chế năng lượng. Trong khi đó, HTTP phù hợp hơn cho các truyền tải dữ liệu ít tần suất và yêu cầu băng thông lớn hơn.

Bạn hiểu gì về mô hình Publish – Subscribe? Tại sao nó phù hợp với IoT?

Mô hình Publish – Subscribe (Pub/Sub) là một phương thức giao tiếp bất đồng bộ, giúp các hệ thống phân tán truyền tải thông điệp một cách hiệu quả mà không cần kết nối trực tiếp giữa các thành phần. Publisher gửi thông điệp đến các topic và các Subscriber đăng ký để nhận thông tin từ những topic quan tâm. Đây là mô hình lý tưởng cho IoT, vì nó hỗ trợ giao tiếp thời gian thực, giảm độ trễ và giúp tiết kiệm tài nguyên trong các hệ thống với nhiều thiết bị.

Câu hỏi phỏng vấn về bảo mật IoT

Có những cách nào bảo vệ thiết bị IoT khỏi bị tấn công?

Để bảo vệ các thiết bị IoT khỏi các cuộc tấn công, có thể thực hiện các cách sau đây:

  • Sử dụng mật khẩu mạnh, thay đổi mật khẩu mặc định ngay từ đầu.
  • Cập nhật phần mềm và firmware định kỳ để vá các lỗ hổng bảo mật.
  • Phân đoạn mạng, tách riêng thiết bị IoT khỏi các hệ thống quan trọng khác.
  • Mã hóa dữ liệu trong quá trình truyền và lưu trữ để ngăn chặn rò rỉ thông tin.
  • Triển khai hệ thống phát hiện và ngăn chặn xâm nhập nhằm phát hiện sớm hành vi bất thường.
  • Làm việc với đơn vị phát triển IoT chuyên nghiệp để đảm bảo thiết bị được thiết kế an toàn ngay từ đầu.

Bạn sẽ áp dụng những chiến lược nào để đảm bảo tính toàn vẹn dữ liệu?

Để đảm bảo tính toàn vẹn của dữ liệu, có thể áp dụng những chiến lược sau đây:

  • Áp dụng giao thức bảo mật như TLS (cho HTTP, MQTT) hoặc DTLS (cho CoAP)
  • Dùng hàm băm (hash) hoặc checksum để phát hiện thay đổi dữ liệu.
  • Sao lưu định kỳ để khôi phục dữ liệu khi cần.
  • Kiểm soát truy cập, chỉ cho phép người có thẩm quyền chỉnh sửa dữ liệu.
  • Mã hóa đầu cuối (end-to-end encryption) khi lưu trữ và truyền tải.
  • Giám sát an ninh mạng để phát hiện hành vi bất thường.
  • Đào tạo người dùng để hạn chế sai sót hoặc hành vi vô ý gây ảnh hưởng đến dữ liệu.

Bạn hiểu gì về Shodan?

Shodan là công cụ tìm kiếm giúp nhận diện các thiết bị đang kết nối trực tiếp với Internet, như camera an ninh, router, máy in hay thiết bị nhà thông minh. Người dùng có thể kiểm tra thiết bị của mình có đang bị công khai trên mạng hay không, từ đó phát hiện và khắc phục các rủi ro bảo mật.

Ví dụ: Một người lắp camera giám sát tại nhà nhưng không thay đổi thiết lập mặc định, khiến thiết bị bị lộ trên Internet. Nhờ sử dụng Shodan, họ phát hiện camera xuất hiện trong kết quả tìm kiếm kèm địa chỉ IP và cổng truy cập, từ đó kịp thời đổi mật khẩu và tắt truy cập từ xa để ngăn bị xâm nhập.

Làm thế nào để triển khai xác thực thiết bị trong IoT?

Để triển khai xác thực thiết bị trong mạng IoT, bạn sử dụng mã định danh thiết bị duy nhất kết hợp với chứng chỉ số nhằm đảm bảo xác thực an toàn. Đồng thời, áp dụng các giao thức xác thực lẫn nhau để xác minh danh tính của cả thiết bị và máy chủ. Các khóa xác thực và thông tin xác thực cũng được cập nhật định kỳ nhằm duy trì tính toàn vẹn và bảo mật hệ thống.

Hãy kể tên một số phương pháp mã hóa phổ biến cho dữ liệu IoT

Một số phương pháp mã hóa phổ biến cho dữ liệu IoT bao gồm:

  • AES (Advanced Encryption Standard): Được sử dụng rộng rãi nhờ tính bảo mật cao và hiệu suất tốt.
  • RSA (Rivest-Shamir-Adleman): Phương pháp mã hóa khóa công khai mạnh mẽ, thích hợp cho các giao dịch bảo mật.
  • ECC (Elliptic Curve Cryptography): Phương pháp mã hóa hiệu quả và nhẹ, rất phù hợp cho các thiết bị IoT với tài nguyên hạn chế.

Câu hỏi phỏng vấn IoT về điện toán đám mây và phân tích dữ liệu

Vai trò của cloud computing trong một giải pháp IoT là gì?

Điện toán đám mây hỗ trợ IoT bằng cách cung cấp bộ nhớ và sức mạnh tính toán cho các ứng dụng IoT. Các công ty có thể lưu trữ dữ liệu trên các máy chủ từ xa, truy cập mọi lúc mọi nơi, giúp các thiết bị luôn kết nối và đảm bảo việc trao đổi dữ liệu thời gian thực.

Edge Computing khác gì so với Cloud Computing? 

Sự khác nhau giữa Edge Computing và Cloud Computing được so sánh dựa trên các riêu chí sau:

Tiêu chí Edge Computing Cloud Computing
Định nghĩa Kiến trúc tính toán phân tán xử lý và lưu trữ gần nguồn dữ liệu. Mô hình cung cấp dịch vụ CNTT qua Internet.
Vị trí xử lý Xử lý gần thiết bị, ngay tại biên mạng. Xử lý tại trung tâm dữ liệu.
Yêu cầu băng thông Cần băng thông thấp. Cần băng thông cao do phải truyền tải dữ liệu đến trung tâm.
Chi phí Chi phí cao hơn, yêu cầu phần cứng và phần mềm chuyên biệt. Chi phí thấp hơn, người dùng chỉ trả cho tài nguyên sử dụng.
Mở rộng Khó mở rộng, cần thêm tài nguyên tại biên. Dễ dàng mở rộng, người dùng có thể điều chỉnh tài nguyên linh hoạt.
Ứng dụng Phù hợp với ứng dụng yêu cầu độ trễ thấp, như IoT, xe tự lái. Phù hợp với ứng dụng không yêu cầu độ trễ nghiêm ngặt, như email, lưu trữ tệp.
Bảo mật dữ liệu Bảo mật tốt nhờ xử lý gần nguồn, không truyền qua mạng. Bảo mật khó khăn do dữ liệu phải truyền qua mạng đến trung tâm.

Làm thế nào để triển khai một thiết bị IoT cơ bản gửi dữ liệu lên dịch vụ đám mây?

Để làm điều này, tôi sẽ chọn phần cứng phù hợp như cảm biến và vi điều khiển, cấu hình thiết bị để kết nối Internet qua Wi-Fi. Sau đó, sử dụng API của nền tảng đám mây (ví dụ AWS, Azure hoặc Firebase) để gửi và lưu trữ dữ liệu một cách bảo mật.

Câu hỏi phỏng vấn về thiết kế hệ thống IoT

Làm thế nào để đảm bảo hệ thống IoT vẫn vận hành khi kết nối mạng bị gián đoạn?

Để đảm bảo hệ thống IoT vẫn hoạt động khi kết nối mạng bị gián đoạn, có thể áp dụng các chiến lược sau:

  • Sử dụng điện toán biên (Edge Computing): Triển khai điện toán biên cho phép thiết bị xử lý dữ liệu cục bộ, giảm phụ thuộc vào kết nối mạng và đảm bảo hoạt động liên tục ngay cả khi mất kết nối.​
  • Thiết lập hạ tầng mạng dự phòng: Kết hợp nhiều loại mạng như LTE, Wi-Fi, vệ tinh và Ethernet để tạo hệ thống truyền thông linh hoạt. Nếu một mạng gặp sự cố, dữ liệu có thể được chuyển qua mạng khác, duy trì kết nối ổn định.​
  • Áp dụng nền tảng kết nối thông minh: Sử dụng nền tảng như Eseye’s Infinity IoT Platform để quản lý kết nối, tự động chuyển đổi giữa các mạng nhằm tránh tắc nghẽn và đảm bảo thiết bị luôn kết nối.​
  • Tăng cường khả năng giám sát và phát hiện sự cố: Sử dụng các công cụ giám sát mạng để phát hiện sớm sự cố và thực hiện các biện pháp khắc phục kịp thời, giảm thiểu thời gian gián đoạn.​
  • Thực hiện kiểm tra và mô phỏng sự cố mạng: Thường xuyên kiểm tra và mô phỏng các tình huống mất kết nối để đánh giá khả năng chịu lỗi của hệ thống và cải thiện độ tin cậy.

Bạn sẽ tích hợp 5G vào hệ thống IoT hiện có như thế nào?

Tôi thường tích hợp theo các bước như sau:

  • Đánh giá hệ thống IoT hiện có, kiểm tra về yêu cầu độ trễ (cao hay thấp), số lượng thiết bị (nhiều hay ít), băng thông (tốc độ nhanh hay chậm).
  • Tận dụng độ trễ thấp và băng thông cao của 5G cho các ứng dụng thời gian thực.
  • Sử dụng phân chia mạng để ưu tiên khối lượng công việc IoT quan trọng.
  • Nâng cấp phần cứng, tối ưu giao thức tương thích với 5G.

Các câu hỏi thực hành lập trình IoT

Mô tả cách bạn xử lý tình trạng tràn dữ liệu trong hệ thống IoT có hạn chế về tài nguyên

Để xử lý tình trạng tràn dữ liệu trong hệ thống IoT giới hạn tài nguyên, có thể áp dụng một số chiến lược sau:

  • Lọc dữ liệu không cần thiết: Chỉ thu thập và gửi những dữ liệu quan trọng. Ví dụ, hệ thống phát hiện cháy rừng chỉ gửi dữ liệu khi nhiệt độ tăng đột biến thay vì truyền liên tục mọi giá trị.
  • Nén dữ liệu: Giảm kích thước dữ liệu trước khi truyền, giúp tiết kiệm băng thông và dung lượng lưu trữ.
  • Xử lý theo lô (batch processing): Gom dữ liệu thành từng lô nhỏ và gửi định kỳ thay vì truyền tức thời mọi thông tin, tránh làm quá tải hệ thống.
  • Lấy mẫu thông minh (Smart Sampling): Chỉ thu thập dữ liệu có thay đổi đáng kể
  • Gộp dữ liệu: Kết hợp nhiều kết quả thành 1 gói tin trước khi gửi để giảm số lần gửi

Viết truy vấn SQL để lấy dữ liệu cảm biến từ bảng có tên sensor_data trong đó nhiệt độ vượt quá 30 độ

Để truy xuất dữ liệu cảm biến từ bảng sensor_data với điều kiện nhiệt độ vượt quá 30 độ, bạn có thể sử dụng câu lệnh SQL đơn giản sau: SELECT * FROM sensor_data WHERE temperature > 30;

Câu truy vấn này lấy tất cả bản ghi mà giá trị nhiệt độ trong cột temperature lớn hơn 30.

Một thiết bị trong mạng IoT của bạn đang gửi dữ liệu trùng lặp. Bạn sẽ giải quyết vấn đề này như thế nào?

Để giải quyết vấn đề thiết bị IoT gửi dữ liệu trùng lặp, tôi thực hiện các bước sau:

  • Kiểm tra phần mềm cơ sở: Đảm bảo phần mềm cơ sở của thiết bị được cập nhật để giải quyết các lỗi gây ra việc truyền dữ liệu trùng lặp.
  • Triển khai logic loại bỏ trùng lặp: Thêm logic phía máy chủ hoặc cổng để lọc các tin nhắn trùng lặp dựa trên ID tin nhắn duy nhất hoặc dấu thời gian.
  • Điều chỉnh khoảng thời gian báo cáo: Cấu hình lại tần suất báo cáo của thiết bị để tránh chồng chéo dữ liệu quá mức.
  • Xác minh độ trễ mạng: Đánh giá mạng để tìm độ trễ có thể gây ra việc gửi lại các tin nhắn chưa được xác nhận.
  • Xem lại cài đặt giao thức: Đảm bảo cấu hình chính xác cho MQTT hoặc CoAP, đặc biệt liên quan đến mức chất lượng dịch vụ (QoS) và cài đặt truyền lại.

Viết một tập lệnh Python đơn giản để đọc dữ liệu từ cảm biến nhiệt độ và in ra giá trị

Để đọc dữ liệu từ cảm biến nhiệt độ bằng Python, có thể sử dụng thư viện Adafruit_DHT. Dưới đây là một tập lệnh mẫu:

import Adafruit_DHT

# Chọn loại cảm biến và chân GPIO kết nối

sensor = Adafruit_DHT.DHT22
pin = 4  

# Ví dụ: chân GPIO 4 trên Raspberry Pi

# Đọc dữ liệu nhiệt độ và độ ẩm

humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

# In giá trị nhiệt độ ra màn hình

if temperature is not None:
print('Temperature: {0:0.1f}°C'.format(temperature))
else:
print('Failed to retrieve data from sensor')

Hãy viết hàm Python xử lý dữ liệu đến từ nhiều thiết bị IoT và lưu trữ trong cơ sở dữ liệu

Để xử lý dữ liệu từ nhiều thiết bị IoT và lưu trữ vào cơ sở dữ liệu, bạn có thể sử dụng thư viện pymysql của Python để kết nối cơ sở dữ liệu. 

import pymysql
def process_and_store_data(data):

# Kết nối đến cơ sở dữ liệu

connection = pymysql.connect(host='localhost', user='user', password='passwd', db='iot_data')
cursor = connection.cursor()

# Duyệt qua dữ liệu của các thiết bị và chèn vào cơ sở dữ liệu

for device_data in data:
sql = 'INSERT INTO sensor_data (device_id, temperature, humidity) VALUES (%s, %s, %s)'
cursor.execute(sql, (device_data['device_id'], device_data['temperature'], device_data['humidity']))

# Cam kết thay đổi và đóng kết nối

connection.commit()
connection.close()

Hàm này sẽ xử lý dữ liệu đầu vào từ các thiết bị IoT, sau đó lưu trữ vào bảng sensor_data trong cơ sở dữ liệu MySQL.

Viết chương trình Python kết nối đến một broker MQTT và đăng ký theo dõi một chủ đề

Để kết nối đến broker MQTT và đăng ký theo dõi một chủ đề bằng Python, bạn có thể sử dụng thư viện paho-mqtt. 

import paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc):
print('Đã kết nối với mã kết quả ' + str(rc))
client.subscribe('test/topic')
def on_message(client, userdata, msg):
print(msg.topic + ' ' + str(msg.payload))
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect('mqtt.example.com', 1883, 60)
client.loop_forever()

Viết một hàm bằng JavaScript để mô phỏng việc gửi dữ liệu từ thiết bị IoT đến máy chủ bằng HTTP POST

Hàm mô phỏng gửi dữ liệu từ thiết bị IoT đến máy chủ bằng HTTP POST trong JavaScript:

function sendIoTData(data) {
fetch('https://example.com/api', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => {
console.log('Dữ liệu gửi thành công:', result);
})
.catch(error => {
console.error('Lỗi khi gửi dữ liệu:', error);
});
}

Sử dụng thư viện on-off, viết hàm JavaScript để bật/tắt đèn LED được kết nối với chân GPIO trên Raspberry Pi

Dưới đây là cách viết hàm JavaScript sử dụng thư viện onoff để bật/tắt đèn LED được kết nối với chân GPIO trên Raspberry Pi.

const Gpio = require('onoff').Gpio; // Import thư viện onoff
const led = new Gpio(17, 'out'); // Khởi tạo đèn LED ở chân GPIO 17 với chế độ xuất
function toggleLED() {

// Đọc trạng thái hiện tại và đảo bit để bật/tắt đèn

led.writeSync(led.readSync() ^ 1);
}

// Lặp lại thao tác bật/tắt mỗi giây

setInterval(toggleLED, 1000);

Trong đó:

  • led.readSync() đọc trạng thái hiện tại (0 hoặc 1)
  • ^ 1 là phép XOR, dùng để đảo trạng thái (0 thành 1, 1 thành 0)
  • writeSync() ghi trạng thái mới xuống chân GPIO

Bạn sẽ thiết kế một kiến trúc IoT có thể mở rộng cho mạng lưới thiết bị lớn như thế nào?

Để xử lý lượng dữ liệu lớn trong hệ thống IoT, như ở thành phố hay nhà máy, có thể dùng điện toán biên. Các thiết bị xử lý một phần dữ liệu trước khi gửi lên, chỉ truyền dữ liệu quan trọng tới máy chủ trung tâm để tránh quá tải. Hệ thống có thể được chia thành các cụm thiết bị, mỗi cụm kết nối với máy chủ cục bộ. Điều này giúp giảm tải cho hệ thống và cân bằng tài nguyên khi thêm thiết bị mới.

Bạn sẽ thiết kế hệ thống IoT cho một kho thương mại điện tử có khối lượng lớn như thế nào?

Để thiết kế hệ thống IoT cho kho hàng thương mại điện tử quy mô lớn, cần một giải pháp toàn diện bao gồm:

  • Cảm biến và thẻ RFID: Theo dõi hàng hóa tự động, giảm sai sót.
  • Điện toán biên: Xử lý dữ liệu tại chỗ, giảm độ trễ.
  • Kết nối và giao thức: Sử dụng LoRaWAN cho kết nối xa, Wi-Fi cho khu vực có mật độ cao.
  • Tích hợp đám mây: Phân tích dữ liệu và duy trì bảo trì thiết bị.
  • Tự động hóa: Sử dụng rô-bốt và bộ truyền động cho các tác vụ như phân loại và đóng gói.
  • Bảo mật: Mã hóa, cơ chế khởi động an toàn, và cập nhật firmware.
  • Khả năng mở rộng: Thiết kế hệ thống linh hoạt với cơ sở hạ tầng đám mây.

Hệ thống này đảm bảo vận hành hiệu quả và bảo mật cho kho hàng, đồng thời dễ dàng mở rộng trong tương lai.

Tổng kết

Để chinh phục thành công các câu hỏi phỏng vấn IoT, hãy chuẩn bị kỹ các khái niệm về giao thức truyền thông, các biện pháp bảo mật thiết bị, kiến trúc hệ thống IoT, cũng như cách ứng dụng công nghệ vào các bài toán trong đời sống. Đặc biệt, đừng quên nhấn mạnh vào những trải nghiệm thực tiễn, đó là yếu tố giúp bạn nổi bật hơn các ứng viên khác. Hy vọng danh sách hơn 30 câu hỏi trong bài viết này sẽ là bước đệm giúp bạn tự tin chinh phục nhà tuyển dụng nhé!

Đọc thêm: Top 20+ ngôn ngữ và nền tảng hỗ trợ lập trình IoT cần biết