Các câu hỏi phỏng vấn Embedded MCU thường gặp - 2023

Q&A Interview Embedded MCU - 2023

 

Một số lưu ý trước phỏng vấn:

  • Thời gian phỏng vấn thường khá lâu, có thể 1.5 giờ, có thể 1 vòng hoặc chia làm 2 vòng (vòng 1 về kĩ thuật, vòng 2 có thể là PM (Project Manager) / khách hàng của công ty Outsource phỏng vấn).
  • Nên chuẩn bị tinh thần hứng khởi, cầu thị, trước khi phỏng vấn. Sắc mặt sáng sủa, tác phong gọn gàng nghiêm túc.
  • Chuẩn bị kiến thức tốt để tự tin phỏng vấn.
  • Buổi phỏng vấn thường trao đổi bằng tiếng anh.
  • Câu hỏi nào nghe không rõ thì xin họ nhắc lại.
  • Câu nào không biết thì nói họ cái này tôi không biết.
  • Nếu hay run thì nên mang theo chai nước uống, nước trà hay nước lọc gì cũng được, thấy căng căng là làm ngụm liền.

 

1. Giới thiệu về bản thân:

Đối với Fresher:

  • Tên, trường đại học, chuyên nghành.
  • Trình bày quá trình học tập, kinh nghiệm đồ án, kinh nghiệm thực tập,...

Lưu ý:

  • Nếu học điện, điện tử / cơ điện tử / điện tử viễn thông thì nên giới thiệu là thích lập trình và tự học lập trình.
  • Tham gia các cuộc thi robot, cuộc thi lập trình là điểm +
  • Thể hiện được niềm đam mê của mình là điểm +
  • Có kinh nghiệm đi thực tập là điểm +
  • Thực hành giải thuật toán trên các trang luyện thuật toán ví dụ: leetcode,... là điểm +
  • Nếu có một đồ án / sản phẩm gì tâm đắc và giới thiệu say sưa được là điểm +
  • Tiếng Anh ngon là điểm +

 Đối với Developer có kinh nghiệm làm việc:

  • Hỏi về sao em nghỉ công ty cũ, đồng nghiệp thế nào ?
  • Vì sao chọn công ty này ? Từng làm việc với người nước ngoài chưa…

Phần này thì mình không đề cập nhiều, cơ bản đã có kinh nghiệm làm việc rồi thì khắc sẽ biết :) . Đừng nói xấu công ty cũ tưng bừng là được :).

 

2. Đối với phần kiểm tra kiến thức và kinh nghiệm.

Lập trình C

Struct là gì ?

Kích thước của Struct tính như thế nào ?

Struct khác gì với Union ?

Padding trong Struct là thế nào ?

Union là gì ?

Con trỏ là gì ? Nếu phỏng vấn có code thì người phỏng vấn sẽ đưa các hàm con có sử dụng con trỏ để thử thách ứng viên như sau:

  • Con trỏ trong parameter của hàm.
  • Con trỏ trỏ tới một biến được khai báo local trong hàm và hàm return biến đó sau đó hỏi kết quả return.
  • Sử dụng con trỏ để truy cập vùng nhớ có địa chỉ dạng HEX (cần có từ khóa volatile để trình biên dịch không optimize biến).
  • Ép kiểu con trỏ để truy cập bộ nhớ.

Con trỏ hàm và cách sử dụng con trỏ hàm.

Từ khóa volatile để làm gì ?

Từ khóa static để làm gì ?

Memory layout của một chương trình C.

Process để build một chương trình C như thế nào ?

Nếu một chương trình C sử dụng một thư viện libabc thì bước add thư viện vào chương trình C sẽ là bước nào trong các bước build chương trình C trên.

 

Embedded MCU

I2C và SPI gồm có bao nhiêu dây giao tiếp ?

Số địa chỉ tối đa trong một mạng I2C là bao nhiêu ?

Khác biệt giữa I2C và SPI như thế nào ?

Khác biệt giữa UART và I2C như thế nào ?

Hàm blocking và non-blocking là như thế nào ?

Bạn có biết RTOS không ?

Làm thế nào trao đổi dữ liệu giữa 2 thread trong RTOS ?

 

Kinh nghiệm C & Embedded

Bạn biết về Link List, Ring Buffer, Queue không ?

Ứng dụng Ring Buffer như thế nào ?

Trong khi sử dụng Ring Buffer mình cần lưu ý điều gì ?

Bạn biết về FOTA không ? Hãy trình bày FOTA mà bạn đã từng làm. Phần này hãy đảm bảo là bạn biết về FOTA, vì người pv sẽ hỏi sâu vào phần này. Dưới đây là những câu hỏi người phỏng vấn sẽ hỏi bạn.

  • Nếu update firmware thất bại thì thế nào ?
  • Update boot bằng cách nào ?
  • Làm thế nào để đảm bảo update firmware thành công hoặc đảm bảo lỗi thì hệ thống vẫn hoạt động được bình thường ?
  • Các lỗi thường gặp khi update firmware ?
  • Làm thế nào tăng tính bảo mật cho việc update firmware từ xa ?

 

Lưu ý:

Tốt nhất là bạn nên hiểu các phần trên một cách cặn kẽ, thực hành viết và sử dụng các món trên, không nên đọc tài liệu kiểu học thuộc rồi trình bày, như thế sẽ dính sạn ngay.

Trước / Sau khi phỏng vấn hoàn tất, các bạn nên hỏi về xíu về thông tin dự án mà đơn vị đang ứng tuyển, như thế sẽ mở ra câu chuyện thoải mái hơn để 2 bên trao đổi, nhất là tại thời điểm bạn cảm thấy cuộc phỏng vấn hơi áp lực, bạn nên làm ngụm nước rồi đặt câu hỏi để hỏi ngược lại người phỏng vấn.

Hiện tại các Job Embedded đa phần là từ các công ty Outsourcing và làm việc với khách hàng nước ngoài nên ưu tiên phỏng vấn bằng tiếng Anh, mà sinh viên kĩ thuật đa phần tiếng Anh kém thì phương án là gì ? để trong thời gian ngắn có thể chiến được, mình sẽ viết ở bài viết khác các bạn đón đọc nhé !

Các thắc mắc, các bạn thông tin về EPCB theo: