Như các bạn đã biết, PHP là ngôn ngữ phía máy chủ được sử dụng rộng rãi nhất trong nhiều năm qua. Nó là một ngôn ngữ lập trình hỗ trợ gần 80% trong số 10 trang web hàng đầu thế giới bao gồm Facebook, WordPress, Wikipedia, Etsy, Pinterest...
Mặc dù có lịch sử lâu đời nhưng nhu cầu tuyển dụng nhà phát triển PHP vẫn không hề giảm. Thế nhưng để được nhận việc với tư cách nhà phát triển PHP thì trước tiên bạn cần phải vượt qua vòng phỏng vấn.
Trong bài viết này, Quản Trị Mạng sẽ tổng hợp những câu hỏi phỏng vấn PHP trình độ trung cấp (Intermediate) và hy vọng rằng nó sẽ có ích đối với bạn.
Xem thêm: 29 câu hỏi phỏng vấn PHP trình độ căn bản và câu trả lời
Câu 1: PHP có thể tương tác với HTML như thế nào?
Trả lời: PHP vốn được thiết kế để tương tác với HTML. Có thể nhúng script PHP vào trang HTML mà không gặp sự cố và có thể chuyển thông tin từ HTML sang PHP.
Câu 2: Làm cách nào để nhúng code PHP vào trang HTML?
Trả lời: Khi nhúng code PHP với tệp HTML, chúng ta phải sử dụng phần mở rộng tệp .php cho tệp đó. Điều này cho phép máy chủ web của bạn gửi tệp tới PHP để xử lý. Nếu máy chủ web được định cấu hình để sử dụng một phần mở rộng khác cho các tệp PHP, thì phần mở rộng đó phải được sử dụng thay thế. Chúng ta cần sử dụng các thẻ bắt đầu và kết thúc PHP để báo cho máy chủ web biết mã PHP bắt đầu và kết thúc ở đâu. Có ba kiểu thẻ bắt đầu và kết thúc mà trình phân tích cú pháp PHP nhận ra.
- Kiểu XML: Chủ yếu được sử dụng khi hợp nhất PHP với các tài liệu XML hoặc HTML
<? php
code PHP
?> - Kiểu ngắn: Đây là kiểu đơn giản nhất, mặc dù nó không được khuyến nghị để tránh can thiệp vào các khai báo tài liệu XML.
<?
code PHP
?> - Kiểu dài: Kiểu này dài nhất và phù hợp với kiểu thẻ được sử dụng với JavaScript.
<script language="php">
code PHP
</script>
Câu 32: PHP tương tác với JavaScript như thế nào?
Trả lời: Vì PHP là ngôn ngữ phía máy chủ và JavaScript là ngôn ngữ phía máy khách nên hai ngôn ngữ này không thể tương tác với nhau. Nhưng chúng ta có thể trao đổi các biến vì có thể tạo mã Javascript thông qua PHP, mã này có thể được thực thi bởi trình duyệt và các biến cụ thể có thể được chuyển trở lại PHP thông qua URL.
Câu 33: Kể tên các loại biến trong PHP.
Trả lời: Có tám loại dữ liệu được sử dụng để xây dựng các biến trong PHP:
- Integers: đây là những số nguyên không có dấu thập phân, chẳng hạn như 4195.
- Doubles: là các số có dấu phẩy động, như 3.14159 hoặc 49.1.
- Booleans: chỉ đi kèm với các giá trị có thể là đúng hoặc sai.
- NULL: là kiểu đặc biệt chỉ có một giá trị duy nhất là NULL.
- Strings: là dãy các ký tự.
- Arrays: được đặt tên và lập chỉ mục tập hợp các giá trị khác.
- Objects: là các lớp do lập trình viên định nghĩa, có thể bao gồm cả các loại giá trị và chức năng khác dành riêng cho lớp.
- Resources: là các biến đặc biệt đề cập đến các tài nguyên bên ngoài PHP (chẳng hạn như các kết nối cơ sở dữ liệu).
Câu 34: Liệt kê các loại lỗi chính trong PHP và giải thích sự khác biệt của chúng.
Trả lời: Có ba loại lỗi chính trong PHP:
- Notices. Đây là những lỗi không nghiêm trọng có thể xảy ra trong quá trình thực thi tập lệnh. Lỗi này không hiển thị cho người dùng. Truy cập một biến không xác định là một ví dụ về 'Notices'.
- Warnings. Loại lỗi này quan trọng hơn Notices, nhưng cũng giống như Notices, Warnings không làm gián đoạn quá trình thực thi tập lệnh. Tuy nhiên, chúng được hiển thị cho người dùng theo mặc định. Ví dụ: include() một tệp không tồn tại.
- Fatal. Đây là loại lỗi nghiêm trọng nhất, khi xảy ra, sẽ ngay lập tức chấm dứt quá trình thực thi tập lệnh. Truy cập thuộc tính của đối tượng không tồn tại hoặc require() tệp không tồn tại là một ví dụ về loại lỗi này.
Câu 35: "Traits" là gì?
Trả lời: Một cơ chế cho phép bạn tạo mã có thể sử dụng lại bằng PHP và các ngôn ngữ tương tự không hỗ trợ nhiều kế thừa được gọi là Traits. Không thể tự khởi tạo nó.
Câu 36: Giá trị của hằng số có thể thay đổi trong quá trình thực thi tập lệnh không?
Trả lời: Không, giá trị của một hằng số không thể thay đổi sau khi nó được khai báo trong quá trình thực thi PHP.
Câu 37: Kể tên và định nghĩa ba mức phạm vi có sẵn trong PHP.
Trả lời:
- Riêng tư - Chỉ có thể nhìn thấy được trong lớp riêng của nó.
- Công khai - Có thể được nhìn thấy bởi bất kỳ mã nào khác đang truy cập vào lớp.
- Được bảo vệ – Có thể được nhìn thấy bởi (các) lớp cha và các lớp mở rộng lớp hiện tại.
Câu 38: Ý nghĩa của từ "escaping to PHP" là gì?
Trả lời: Công cụ phân tích cú pháp PHP phải có khả năng phân biệt mã PHP với các phần tử trang khác. Cơ chế để đạt được điều này được gọi là "escaping to PHP".
Câu 39: Có bao nhiêu kiểu mảng trong PHP?
Trả lời: Có ba loại mảng có trong PHP: Mảng được lập chỉ mục, là một mảng có một phím số. Một mảng kết hợp là nơi mỗi khóa có giá trị cụ thể. Một mảng nhiều chiều chứa một hoặc nhiều mảng bên trong chính nó.
Câu 40: Tiêu chuẩn PSR nghĩa là gì? Tầm quan trọng của nó?
Trả lời: Do các tiêu chuẩn mã hóa khác nhau tồn tại giữa các nhà phát triển và công ty, một người có thể gặp sự cố khi cố gắng sửa mã của nhà phát triển khác có thể có cấu trúc khác. Đó là lý do tiêu chuẩn PSR ra đời. Tiêu chuẩn này chuẩn hóa giao diện của mã, giúp loại bỏ các sự cố và thậm chí cả lỗi cú pháp trong một số trường hợp.
Quản Trị Mạng hy vọng rằng bài viết này sẽ có ích đối với bạn!