Got It Recruitment — Những câu hỏi thường gặp khi phỏng vấn QA Engineer

Chìa khoá ôn tập giúp bạn “công phá” vòng phỏng vấn QA Engineer tại Got It

Uyen Tran
Got It Vietnam
6 min readAug 5, 2020

--

Nếu bạn vẫn còn đang mông lung không biết một QA Engineer hay Software Tester cần tu luyện những kiến thức và kỹ năng gì để vượt vòng phỏng vấn hóc búa, bài viết dưới đây là câu trả lời chính xác dành cho bạn!

Đây là lần đầu tiên Got It công khai bộ câu hỏi được sử dụng trong vòng phỏng vấn của team QA với hy vọng các bạn có thể ôn tập thật kỹ lưỡng và đúng trọng tâm. Chưa hết, chúng mình còn bonus gợi ý cho một vài câu hỏi như một món quà nhỏ dành cho những ai chuẩn bị kỹ càng trước buổi phỏng vấn.

Còn nếu bạn chưa có ý định ứng tuyển, hãy thử trả lời các câu hỏi dưới đây như một lần tự kiểm tra lại kiến thức của bản thân xem sao!

A. Foundations (Kiến thức nền tảng)

1. Testing (Kiểm thử)

1. Name and explain types of testing.

(Kể tên và giải thích các loại kiểm thử)

2. What is black box testing? What is white box testing?

(Kiểm thử hộp đen là gì? Kiểm thử hộp trắng là gì?)

3. What is the main problem with web testing?

(Đâu là vấn đề chính trong kiểm thử website?)

4. Describe a bug life-cycle and draw the diagram on the board.

(Mô tả vòng đời của bug và vẽ biểu đồ)

5. What are differences among test plan, test scenario, test case, test report?

(Đâu là điểm khác biệt giữa kế hoạch kiểm thử, kịch bản kiểm thử, trường hợp kiểm thử, báo cáo kiểm thử?)

6. What are components of a test case?

(Các thành phần của một trường hợp kiểm thử là gì?)

  • Gợi ý: Một test case cần có đủ ít nhất các thành phần sau:

7. How to track the test coverage?

(Làm thế nào để theo dõi độ bao phủ kiểm thử (tỷ lệ kiểm tra tính theo%?)

  • Gợi ý: Ứng viên có thể sử dụng nhiều công cụ để theo dõi. Một số có thể kể đến như Excel formulas, TestRail (một công cụ quản lý kiểm tra tích hợp đầy đủ tiện ích JIRA),…

2. Programming languages (Ngôn ngữ lập trình)

1. Explain Inheritance, Abstraction, Encapsulation, Polymorphism concept.

(Giải thích các khái niệm: Inheritance (Kế thừa), Abstraction (Trừu tượng), Encapsulation (Đóng gói), Polymorphism (Đa hình))

  • Gợi ý: Đây là các khái niệm liên quan đến Object Oriented Programming (Lập trình hướng đối tượng).

2. Explain the meaning and the use of: While / For / Do While, Switch, If, Break.
(Giải thích ý nghĩa và cách sử dụng của các câu lệnh: While / For / Do While, Switch, If, Break)

3. Name some basic data structures.

(Kể tên một vài cấu trúc dữ liệu cơ bản)

3. Networking:

1. List some major HTTP methods and response codes.

(Liệt kê một số phương thức HTTP chính và các mã dùng để biểu thị trạng thái request HTTP chỉ định)

  • Gợi ý: Ứng viên cần biết phân biệt một số phương thức HTTP như POST, GET, DELETE, UPDATE,…và liệt kê được code 404, 502, 200,…
Một số phương pháp HTTP (Nguồn: Assertible)

2. What is Client-server architecture?

(Cấu trúc Client-server là gì?)

4. Database (Cơ sở dữ liệu):

1. What is primary key, foreign key? How are they different?

(Khoá chính, khoá ngoại là gì? Chúng khác nhau như thế nào?)

2. Write a query that…

(Viết một câu truy vấn đáp ứng yêu cầu đề bài)

3. What is CRUD?

(CRUD là gì?)

B. Practical skills (Kỹ năng thực hành)

1. Tools (Công cụ)

1. How to test with different internet speed?

(Làm thế nào để kiểm thử với tốc độ internet khác nhau?)

  • Gợi ý: Ứng viên cần biết sử dụng các công cụ như JMeter, Chrome DevTools,…

2. Explain about Page Object Model concept.

(Giải thích khái niệm “Page Object Model”)

  • Gợi ý: Đây là một mô hình thiết kế test script được sử dụng phổ biến trong Selenium.

3. What is XPath, CSS selector? How to find elements in Selenium?

(XPath, CSS selector là gì? Làm thế nào để sử dụng chúng cho việc tìm các phần tử trong Selenium?)

2. Test automation (Kiểm thử tự động)

1. What is Selenium/ Selenium WebDriver?

(Selenium/ Selenium WebDriver là gì?)

2. What tools are/were you using to test a software?

(Những công cụ bạn đang sử dụng để kiểm thử một phần mềm là gì?)

Note: Selenium là một trong nhiều công nghệ được Got It sử dụng để vận hành hệ thống Test Automation của mình. Tìm hiểu thêm tại đây.

3. Manual test (Kiểm thử thủ công)

1. When you encounter a bug when testing, what will you do? How could you know where an error comes from?

(Khi gặp phải bug trong lúc kiểm thử, bạn sẽ làm gì? Làm thế nào để bạn biết một lỗi nào đó đến từ đâu?)

2. What are the differences between Load Test and Stress Test?

(So sánh điểm khác biệt giữa Load Test và Stress Test)

  • Gợi ý:

3. How do you review member’s test cases?

(Bạn review các test cases của thành viên khác như thế nào?)

  • Gợi ý: Ứng viên cần biết nêu kế hoạch, các bước thực hiện, tiêu chí để review các test cases.

4. Security (Bảo mật)

1. What should you keep in mind when testing the system’s security?

(Bạn cần ghi nhớ những gì khi kiểm thử bảo mật hệ thống?)

  • Gợi ý: Ứng viên cần biết một số loại kiểm thử bảo mật cơ bản như SQL injection, XSS,…

2. Can you list the details of each security testing type?

(Bạn có thể liệt kê chi tiết về từng loại kiểm thử bảo mật không?)

  • Gợi ý: Ứng viên có thể nhắc đến top 10 lỗ hổng bảo mật web phổ biến theo chuẩn OWASP — OWASP TOP 10.

Bạn trả lời được bao nhiêu % trong tổng số các câu hỏi trên đây rồi? Nếu trả lời được tự tin tất cả các câu hỏi này, bạn rất có thể sẽ vượt qua vòng phỏng vấn tại Got It một cách dễ dàng đấy!

Join us now!

Nếu vẫn còn một số kiến thức chưa nắm chắc, không sao cả, hãy lưu bài viết này lại để dành thời gian tu luyện thêm bạn nhé! Hy vọng bộ câu hỏi của Got It ngày hôm nay có thể đồng hành cùng bạn trên chặng đường trở thành một QA Engineer chính hiệu của mình 😄

Về nhà với Got It cùng các vị trí:

🌱 QA Engineer: http://bit.ly/gotit-qa
🌱
Test Automation Engineer: http://bit.ly/gotit-testautomation
🌱
Test Engineer (New Graduates, Last Year Students): bit.ly/gotit-test-newgrads

QA Team is waiting for you!

Follow Got It tại:

--

--