× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Bộ câu hỏi phỏng vấn PHP cao cấp cho lập trình viên năm 2023

04/10/2021 00:54

Trong bài viết trước, các bạn đã cùng T3H tìm hiểu bộ câu hỏi phỏng vấn PHP cơ bản và trung cấp, trong bài viết này, chúng ta sẽ tiếp tục khám khá câu hỏi phỏng vấn PHP cao cấp. Cùng T3H điểm qua bộ câu hỏi này để luôn tự tin phỏng vấn ở vị trí lập trình viên PHP bạn nhé!

Khám phá bộ câu hỏi phỏng vấn PHP cao cấp

phong van PHP

Câu hỏi: Memcache và Memcached trong PHP là gì? Có thể chia sẻ một phiên bản Memcache duy nhất giữa một số dự án PHP không?

Memcached là một daemon bộ nhớ đệm hiệu quả được thiết kế đặc biệt để giảm tải cơ sở dữ liệu trong các ứng dụng web động. Mô-đun Memcache cung cấp giao diện thủ tục và hướng đối tượng tiện dụng cho Memcached.

Memcache là không gian lưu trữ bộ nhớ và có thể chạy Memcache trên một hoặc nhiều máy chủ. Do đó, có thể chia sẻ một phiên bản Memcache giữa nhiều dự án.

Có thể cấu hình một ứng dụng khách để nói chuyện với một tập hợp các trường hợp riêng biệt. Do đó, việc chạy hai tiến trình Memcache khác nhau trên cùng một máy chủ cũng được phép. Mặc dù chạy trên cùng một máy chủ, cả hai quá trình Memcache như vậy vẫn độc lập, trừ khi có một phân vùng dữ liệu.

>>> Đọc thêm: Bộ câu hỏi phỏng vấn PHP trung cấp cho lập trình viên năm 2021

Câu hỏi: Làm cách nào bạn có thể cập nhật Memcached khi các thay đổi được thực hiện đối với PHP?

Có hai cách cập nhật Memcached khi các thay đổi được thực hiện đối với mã PHP:

  1. Chủ động xóa bộ nhớ cache - Điều này có nghĩa là xóa bộ nhớ cache khi thực hiện chèn hoặc cập nhật
  2. Đặt lại bộ nhớ đệm - Đặt lại các giá trị sau khi thực hiện chèn hoặc cập nhật

Câu hỏi phỏng vấn PHP cao cấp:  Việc so sánh các đối tượng được thực hiện trong PHP như thế nào?

Toán tử '==' được sử dụng để kiểm tra xem hai đối tượng có phải là cá thể bằng cách sử dụng cùng một lớp và có cùng thuộc tính cũng như giá trị bằng nhau hay không. Để kiểm tra xem hai đối tượng có tham chiếu đến cùng một thể hiện của cùng một lớp hay không, toán tử nhận dạng '===' được sử dụng.

Câu hỏi phỏng vấn PHP cao cấp: Làm thế nào để thực hiện typecasting trong PHP

Tên của kiểu đầu ra cần được chỉ định trong dấu ngoặc đơn trước biến sẽ được ép kiểu. Một số ví dụ:

  • (array) - chuyển thành mảng
  • (bool), (boolean) - chuyển thành Boolean
  • (double), (float), (real) - phôi nổi
  • (int), (integer) - chuyển thành số nguyên
  • (đối tượng) - phôi thành đối tượng
  • (string) - chuyển thành chuỗi

Câu hỏi phỏng vấn PHP cao cấp: Kết nối với cơ sở dữ liệu MySQL từ tập lệnh PHP

Để kết nối cơ sở dữ liệu, hàm mysqli_connect() sẽ được sử dụng. Nó được dùng như dưới đây:

<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD");

mysqli_select_db($database,"DATABASE_NAME"); ?-->

Câu hỏi: Hàm tạo và hàm hủy trong PHP? Một ví dụ về hàm tạo và hàm hủy trong PHP

Hàm tạo và hàm hủy trong PHP là một loại hàm đặc biệt, hàm này sẽ được tự động gọi khi một lớp PHP lần lượt được tạo và hủy.

Trong khi hàm tạo được sử dụng để khởi tạo một biến riêng của một lớp, thì một hàm hủy sẽ giải phóng nguồn lực được tạo hoặc sử dụng bởi lớp đó.

Đây là một ví dụ về mã trình bày khái niệm về hàm tạo và hàm hủy:

<? php 

class ConDeConExample {

  private $ name;

 liên kết $ riêng tư ;

 public function __construct ($ name) {

  $ this -> name = $ name; 

 } # Constructor 

 public function setLink (Foo $ link) {

  $ this -> link = $ link; 

 } public function __destruct () {

  echo 'Phá hủy:' , $ this -> name, PHP_EOL; 

 } # Destructor 

} ?>

Câu hỏi: Một số loại lỗi phổ biến trong PHP

PHP hỗ trợ ba loại lỗi như sau:

  • Thông báo - Các lỗi không nghiêm trọng. Những điều này xảy ra trong quá trình thực thi tập lệnh. Truy cập một biến không xác định là một thể hiện của Thông báo.
  • Cảnh báo - Các lỗi có mức độ ưu tiên cao hơn Thông báo. Giống như với Thông báo, việc thực thi một tập lệnh có chứa Cảnh báo vẫn không bị gián đoạn. Ví dụ về Thông báo bao gồm một tệp không tồn tại.
  • Lỗi nghiêm trọng - Việc chấm dứt thực thi tập lệnh dẫn đến ngay khi gặp lỗi như vậy. Việc truy cập thuộc tính của một đối tượng không tồn tại sẽ dẫn đến Lỗi nghiêm trọng.

Câu hỏi: Các cách khác nhau để xử lý tập kết quả của Mysql trong PHP là gì?

Có 4 cách để xử lý kết quả của Mysql trong PHP

  • mysqli_fetch_array
  • mysqli_fetch_assoc
  • mysqli_fetch_object
  • mysqli_fetch_row

Câu hỏi: Traits trong PHP là gì?

Cơ chế này cho phép tạo ra các loại code có thể tái sử dụng khi không có hỗ trợ đa kế thừa. Một đặc điểm không thể được tạo ra một mình.

Câu hỏi: Session trong PHP là gì? Viết một đoạn code ví dụ để chứng minh việc bỏ dữ liệu data.

Cách đơn giản nhất để lưu trữ dữ liệu cho mỗi cá nhân dựa trên session ID duy nhất là sử dụng session PHP. Nó được sử dụng để duy trì trạng thái trên server cũng như chia sẻ dữ liệu qua nhiều trang. Điều này cần được thực hiện vì HTTP là một giao thức không trạng thái.

Thông thường, ID session thường được gửi tới tình duyệt bằng cookie session. ID được sử dụng để truy xuất dữ liệu phiên hiện có. Nếu ID session không có sẵn trên máy chủ, thì PHP sẽ tạo một phiên mới và sau đó tạo ID phiên mới.

Cách xóa dữ liệu session như sau:

<?php 

session_start();

$_SESSION['user_info'] = ['user_id' =>1,

'first_name' =>

'Hacker', 'last_name' =>

'.io', 'status' =>

'active'];

if (isset($_SESSION['user_info']))

{

echo "logged In";

}

unset($_SESSION['user_info']['first_name']);

session_destroy(); // Removal of entire session data

?>

Câu hỏi: Tại sao PHP và JavaScript không thể tương tác trực tiếp với nhau? Bạn có thể đưa ra giải pháp không?

Không thể tương tác trực tiếp giữa JS và PHP vì trong khi cái trước là ngôn ngữ phía máy khách, thì cái sau là ngôn ngữ phía máy chủ. Tương tác gián tiếp giữa hai ngôn ngữ lập trình hàng đầu có thể xảy ra bằng cách sử dụng các biến trao đổi.

Việc trao đổi biến số này có thể xảy ra do hai lý do:

  1. PHP có thể tạo ra mã JavaScript để trình duyệt thực thi
  2. Có thể chuyển một biến cụ thể trở lại PHP thông qua URL. Vì PHP luôn được thực thi trước JavaScript nên các biến JS phải được chuyển qua biểu mẫu hoặc URL. Để chuyển các biến, GET và POST được sử dụng. Tương tự, để truy xuất biến đã truyền, $ _GET và $ _POST được sử dụng.

Kết luận: Trên đây là bộ câu hỏi phỏng vấn PHP cao cấp. Hy vọng các bạn thấy các thông tin trên hữu ích và có thể hỗ trợ bạn trong vòng phỏng vấn sắp tới. Nếu chưa sẵn sàng, đừng ngại ngần tham khảo các khóa học lập trình tại Viện công nghệ thông tin T3H để trau dồi thêm kiến thức bạn nhé!