Home > phỏng vấn IT > php

Top câu hỏi phỏng vấn PHP nâng cao khi đi xin việc

Top câu hỏi phỏng vấn PHP nâng cao khi đi xin việc

Chào mọi người! Trong serise này mình xin chia sẻ các câu hỏi phỏng vấn PHP nâng cao giành cho các bạn thực tập sinh hoặc có thể là người đã có kinh nghiệm trong ngành rồi nhé. Tài liệu này được biên soạn từ thực tế của mình và tổng hợp thêm từ nhiều nguồn khác nhau. Trong quá trình soạn bài viết này sẽ có những sai sót mong các bạn đóng góp, phản hổi đề tài liệu này được cập nhật phiên bản tốt hơn.

1. Exception là gì, tác dụng của Exception? Chuyện gì xảy ra khi Throwing an Exception? Ý nghĩa các câu lệnh try, catch, throw, finally? Thực hành ví dụ của The try…catch…finally Statement để nắm rõ try, catch, throw, finally? Có thể dùng try … finally bỏ qua catch không? Có thể có try, catch, finally lồng nhau không ? Cách sử dụng Exception Object?

2. Lập trình truyền thống không có cấu trúc là gì, ưu nhược điểm? Lập trình truyền thống hướng thủ tục là gì, ưu nhược điểm? Lập trình truyền thống hướng module là gì, ưu nhược điểm ?

3. OOP là gì ? Nêu 4 tính chất của OOP? Object-oriented programming khác với procedural programming ở điểm nào? Nêu các ưu điểm của Object-oriented programming so với procedural programming? Class là gì, object là gì? Sự khác nhau giữa class và object? Mối liên quan giữa class và object?

4. Cách tạo 1 class cơ bản? Cách tạo 1 object và sử dụng nó? 2 cách để thay đổi giá trị của 1 property? Cách sử dụng instanceof?

5. Ý nghĩa của constructor? Tại sao constructor lại giúp ta tiết kiệm số lượng dòng code? Sử dụng constructor để khởi tạo các properties khi tạo 1 object?

6. Ý nghĩa của destructor? __construct() và __destruct() khác nhau thế nào, có ý nghĩa gì trong lập trình?

7. Access Modifiers có tác dụng gì? Phân biệt 3 access modifiers public, protected, private? Điều gì xảy ra khi truy cập vào Properties hoặc methods không được phép? Thường thì sẽ hay dùng public hay protected hay private? Ta sẽ dùng public hay protectedhay private khi nào?

8. Inheritance là gì? 1 class con kế thừa class cha thì sẽ được thừa hưởng những gì từ class cha? Cách tạo 1 class con kế thừa class cha? Nếu class con tạo 1 hàm __construct() thì chuyện gì sẽ xảy ra? Class B là con của A? A và B đều có hàm __construct(), làm sao để B gọi được hàm __construct() của A? Một class có gọi được hàm __construct() của 1 class không liên quan không? Làm thế nào để class con gọi được phương thức và thuộc tính của class cha?

9. Static là gì, cách khai báo static? Giá trị thay đổi của 1 thuộc tính static sẽ được lưu ở đâu? Cách gọi phương thức và thuộc tính tĩnh trong class? Cách gọi phương thức và thuộc tính tĩnh ngoài class? Nhược điểm của static là gì? Final là gì và được ứng dụng vào đâu? Final class có đặc điểm gì? Final Phương thức có đặc điểm gì?

10. __autoload() là gì? __autoload() không được gọi khi chúng ta khởi tạo class được xác định nghĩa là gì? Ưu điểm khi dùng __autoload() so với include, require? Cách dùng Autoload class thông thường, Autoload khi gọi phương thức tĩnh?

12. Điểm khác nhau cơ bản của self và this là gì? Cách làm việc của self và this đối với các phương thức, thuộc tích là static hoặc non-static?

13. Class constants là gì, nên viết hoa thay thường? Cách sử dụng Class constants? Từ khóa self có ý nghĩa gì?

14. late static binding trong PHP là gì? Sự khác nhau giữa “self” và “static”?

15. Type hinting là gì và tại sao nên dùng Type hinting?

16. Tác dụng của các hàm class_exist(), get_class(), get_class_methods()…? Có thể có ứng dụng gì khi sử dụng các hàm này?

17. Cách clone object trong PHP? clone object trong PHP có ưu điểm gì ?

18. Abstract Classes là gì ? Khi kế thừa abstract class thì class con phải tuân thủ các rules nào ? abstract class có thể chứa method bình thường không ? abstract class có khởi tạo được không ? 1 class có thể kế thừa vài class bình thường hoặc abstract class được không ?

19. Interfaces là gì ? 3 điểm khác nhau giữa Interfaces và Abstract Classes là gì ? 1 class có thể vừa implement nhiều Interfaces vừa thừa kế 1 class khác được không ? Thực hiện code implements Interface Interface có thể kế thừa 1 Interface khác không ? Trong interface chúng ta có thể khai báo được hằng không ? Khi nào dùng interface, khi nào dùng abstract class ?

20. Traits là gì, dùng để làm gì, đặc điểm và cách sử dụng trait ? Cách sử dụng Multiple Traits ?

21. Namespaces có tác dụng gì ? Quy tắc khai báo namespace? nested namespaces là gì, có tác dụng gì ? Cách sử dụng Namespace Alias, Class Alias ? Cách tạo nhiều Namespaces trong 1 file ?

22. Thuộc tính và phương thức tĩnh trong Traits? Phương thức trừu tượng trong trait? Thay đổi visibility của phương thức trait? Tạo định danh mới trong Traits? So sánh Traits với abstract và interface?

23. Iterable là gì? Cách sử dụng Iterable ở dạng function argument và return type? Arrays là iterables đúng không, object mà implements Iterator interface thì sẽ thế nào ? Ý nghĩa của các hàm current(), key(), next(), rewind(), valid()?

24. Magic methods là gì ? Ưu điểm và nhược điểm của Magic methods ? Cách hoạt động và ưu nhược điểm của Magic methods set và get trong PHP ? Cách hoạt động của Magic methods isset và unset trong PHP ? Cách hoạt động của Magic methods call và callStatic trong PHP ? Cách hoạt động của Magic methods clone và debugInfo trong PHP ?

bbugtea

bbugtea

Là người yêu thích, tìm hiểu quy trình gia công hệ thống phần mền website. Câu tục ngữ yêu thích nhất: "CÓ CÔNG MÀI SẮT CÓ NGÀY NÊN KIM".

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *