100 câu hỏi và câu trả lời phỏng vấn PHP hàng đầu (PDF)

Dưới đây là các câu hỏi và câu trả lời phỏng vấn PHP dành cho những ứng viên mới ra trường cũng như có kinh nghiệm để có được công việc mơ ước của họ.

 

Câu hỏi phỏng vấn PHP dành cho người mới


1) PHP là gì?

PHP là ngôn ngữ web dựa trên các tập lệnh cho phép các nhà phát triển tạo các trang web được tạo một cách linh hoạt.


2) Chữ viết tắt của PHP có nghĩa là gì?

PHP là viết tắt của Bộ tiền xử lý siêu văn bản.

👉 Tải xuống bản PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn PHP


3) PHP giống với ngôn ngữ lập trình nào?

Cú pháp PHP giống với Perl và C


4) PEAR có nghĩa là gì?

PEAR có nghĩa là “Kho lưu trữ ứng dụng và tiện ích mở rộng PHP”. Nó mở rộng PHP và cung cấp trình độ lập trình cao hơn cho các nhà phát triển web.


5) Phiên bản PHP thực sự được sử dụng là gì?

Phiên bản 7.1 hoặc 7.2 là phiên bản được đề xuất của PHP.


6) Làm cách nào để thực thi tập lệnh PHP từ dòng lệnh?

Chỉ cần sử dụng giao diện dòng lệnh PHP (CLI) và chỉ định tên tệp của tập lệnh sẽ được thực thi như sau:
php script.php


7) Làm cách nào để chạy shell PHP tương tác từ giao diện dòng lệnh?

Chỉ cần sử dụng chương trình PHP CLI với tùy chọn -a như sau:
php -a


8) Cách chính xác và phổ biến nhất để bắt đầu và kết thúc một khối mã PHP là gì?

Hai cách phổ biến nhất để bắt đầu và kết thúc tập lệnh PHP là:

 <?php [   ---  PHP code---- ] ?> and <? [---  PHP code  ---] ?>

9) Làm cách nào chúng tôi có thể hiển thị kết quả đầu ra trực tiếp trên trình duyệt?

Để có thể hiển thị kết quả trực tiếp ra trình duyệt, chúng ta phải sử dụng các thẻ đặc biệt .


10) Sự khác biệt chính giữa PHP 4 và PHP 5 là gì?

PHP 5 trình bày nhiều OOP bổ sung (Lập trình hướng đối tượng) Tính năng, đặc điểm.


11) Tính đa kế thừa có được hỗ trợ trong PHP không?

PHP chỉ hỗ trợ kế thừa đơn; điều đó có nghĩa là một lớp có thể được mở rộng chỉ từ một lớp duy nhất bằng cách sử dụng từ khóa 'mở rộng'.


12) Ý nghĩa của lớp cuối cùng và phương thức cuối cùng là gì?

'cuối cùng' được giới thiệu trong PHP5. Lớp cuối cùng có nghĩa là lớp này không thể được mở rộng và phương thức cuối cùng không thể bị ghi đè.


13) Việc so sánh các đối tượng được thực hiện trong PHP như thế nào?

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


14) PHP và HTML có thể tương tác với nhau như thế nào?

Có thể tạo HTML thông qua các tập lệnh PHP và có thể chuyển các phần thông tin từ HTML sang PHP.


15) Loại thao tác nào là cần thiết khi truyền giá trị qua biểu mẫu hoặc URL?

Nếu chúng ta muốn truyền các giá trị thông qua một biểu mẫu hoặc một URL thì chúng ta cần mã hóa và giải mã chúng bằng cách sử dụng htmlspecialchars() và urlencode().


16) Làm thế nào PHP có thể và Javascript tương tác?

PHP và Javascript không thể tương tác trực tiếp vì PHP là ngôn ngữ phía máy chủ và Javascript là một ngôn ngữ phía khách hàng. Tuy nhiên, chúng ta có thể trao đổi các biến vì PHP có thể tạo ra Javascript mã sẽ được trình duyệt thực thi và có thể chuyển các biến cụ thể trở lại PHP thông qua URL.


17) Cần những gì để có thể sử dụng chức năng hình ảnh?

Thư viện GD là cần thiết để thực hiện các chức năng hình ảnh.


18) Công dụng của hàm 'imagetypes()' là gì?

imagetypes() cung cấp định dạng và loại hình ảnh được hỗ trợ bởi phiên bản GD-PHP hiện tại.


19) Các hàm nào được sử dụng để lấy các thuộc tính của hình ảnh (kích thước, chiều rộng và chiều cao)?

Sản phẩm chức năng là getimagesize() về kích thước, imagesx() về chiều rộng và imagesy() cho chiều cao.


20) Các lỗi thực thi được xử lý như thế nào với các hàm include() và require()?

Nếu chức năng require() không thể truy cập tập tin và kết thúc bằng một lỗi nghiêm trọng. Tuy nhiên, include() đưa ra cảnh báo và tập lệnh PHP tiếp tục thực thi.


21) Sự khác biệt chính giữa require() và require_once() là gì?

require()require_once() thực hiện tác vụ tương tự ngoại trừ chức năng thứ hai kiểm tra xem tập lệnh PHP đã được đưa vào hay chưa trước khi thực thi nó.

(tương tự với include_once() và include())


22) Làm cách nào tôi có thể hiển thị văn bản bằng tập lệnh PHP?

Hai phương pháp có thể:

<!--?php echo "Method 1"; print "Method 2"; ?-->

23) Làm cách nào chúng ta có thể hiển thị thông tin của một biến và con người có thể đọc được bằng PHP?

Để có thể hiển thị kết quả mà con người có thể đọc được, chúng tôi sử dụng print_r().


24) Làm cách nào có thể đặt thời gian thực thi vô hạn cho tập lệnh PHP?

set_time_limit(0) được thêm vào đầu tập lệnh sẽ đặt thành vô hạn thời gian thực thi để không gặp lỗi PHP 'vượt quá thời gian thực thi tối đa'. Cũng có thể chỉ định điều này trong tệp php.ini.


Câu hỏi và câu trả lời phỏng vấn PHP dành cho người có kinh nghiệm

25) Lỗi PHP 'Lỗi phân tích cú pháp trong PHP – T_variable ở dòng x' có nghĩa là gì?

Đây là một lỗi cú pháp PHP thể hiện rằng lỗi ở dòng x khiến việc phân tích cú pháp và thực thi chương trình bị dừng lại.


26) Để có thể xuất dữ liệu ra file Excel chúng ta phải làm gì?

Cách phổ biến và được sử dụng nhiều nhất là lấy dữ liệu sang định dạng được Excel hỗ trợ. Ví dụ: có thể viết tệp .csv, chẳng hạn như chọn dấu phẩy làm dấu phân cách giữa các trường, sau đó mở tệp bằng Excel.


27) Hàm file_get_contents() có tác dụng gì?

file_get_contents() cho phép đọc một tập tin và lưu trữ nó trong một biến chuỗi.


28) Làm thế nào chúng ta có thể kết nối với một MySQL cơ sở dữ liệu từ tập lệnh PHP?

Để có thể kết nối với MySQL cơ sở dữ liệu, chúng ta phải sử dụng hàm mysqli_connect() như sau:

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

29) Hàm mysql_pconnect() có ích gì?

mysql_pconnect() đảm bảo kết nối liên tục với cơ sở dữ liệu, điều đó có nghĩa là kết nối không đóng khi tập lệnh PHP kết thúc.

Chức năng này không được hỗ trợ trong PHP 7.0 trở lên


30) Tập kết quả của Mysql được xử lý trong PHP như thế nào?

Tập kết quả có thể được xử lý bằng mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object hoặc mysqli_fetch_row.


31) Làm sao có thể biết số hàng trả về trong tập kết quả?

Các chức năng mysqli_num_rows() trả về số hàng trong một tập kết quả.


32) Hàm nào cung cấp cho chúng ta số lượng mục bị ảnh hưởng bởi một truy vấn?

mysqli_affected_rows() trả về số mục bị ảnh hưởng bởi truy vấn SQL.


33) Sự khác biệt giữa mysqli_fetch_object() và mysqli_fetch_array() là gì?

Sản phẩm mysqli_fetch_object() hàm thu thập bản ghi khớp đơn đầu tiên trong đó mysqli_fetch_array() thu thập tất cả các bản ghi phù hợp từ bảng trong một mảng.


34) Làm cách nào chúng ta có thể truy cập dữ liệu được gửi qua URL bằng phương thức GET?

Để truy cập dữ liệu được gửi qua phương thức GET, chúng tôi sử dụng mảng $_GET như thế này:

www.url.com?var=value
$variable = $_GET["var"]; this will now contain 'value'

35) Làm cách nào chúng ta có thể truy cập dữ liệu được gửi qua URL bằng phương thức POST?

Để truy cập dữ liệu được gửi theo cách này, bạn sử dụng mảng $_POST.

Hãy tưởng tượng bạn có một trường biểu mẫu có tên 'var' trên biểu mẫu khi người dùng nhấp vào gửi tới biểu mẫu bài đăng, khi đó bạn có thể truy cập giá trị như sau:

$_POST["var"];

36) Làm thế nào chúng ta có thể kiểm tra giá trị của một biến đã cho là một số?

Có thể sử dụng hàm chuyên dụng is_numeric() để kiểm tra xem đó có phải là số hay không.


37) Làm thế nào chúng ta có thể kiểm tra giá trị của một biến đã cho là chữ và số?

Có thể sử dụng hàm chuyên dụng ctype_alnum để kiểm tra xem nó có phải là giá trị chữ và số hay không.


38) Làm cách nào để kiểm tra xem một biến đã cho có trống không?

Nếu chúng ta muốn kiểm tra xem một biến có giá trị hay không thì có thể sử dụng hàm Empty().


39) Hàm unlink() có nghĩa là gì?

Hàm unlink() được dành riêng để xử lý hệ thống tệp. Nó chỉ đơn giản là xóa tập tin được đưa ra dưới dạng mục nhập.


40) Hàm unset() có nghĩa là gì?

Hàm unset() được dành riêng cho việc quản lý biến. Nó sẽ làm cho một biến không được xác định.


41) Làm cách nào để thoát dữ liệu trước khi lưu trữ vào cơ sở dữ liệu?

Hàm addlashes cho phép chúng ta thoát dữ liệu trước khi lưu vào cơ sở dữ liệu.


42) Làm cách nào để loại bỏ các ký tự thoát khỏi chuỗi?

Hàm Striplashes cho phép chúng ta loại bỏ các ký tự thoát trước dấu nháy đơn trong một chuỗi.


43) Làm thế nào chúng ta có thể tự động thoát dữ liệu đến?

Chúng ta phải kích hoạt mục nhập trích dẫn Magic trong tệp cấu hình của PHP.


44) Hàm get_magic_quotes_gpc() có nghĩa là gì?

Hàm get_magic_quotes_gpc() cho chúng ta biết dấu ngoặc kép ma thuật có được bật hay không.


45) Có thể xóa thẻ HTML khỏi dữ liệu không?

Hàm Strip_tags() cho phép chúng ta xóa một chuỗi khỏi các thẻ HTML.


46) biến tĩnh trong hàm có ích gì?

Một biến tĩnh chỉ được xác định trong hàm lần đầu tiên và giá trị của nó có thể được sửa đổi trong quá trình gọi hàm như sau:

<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction();        //1 testFunction();        //2 testFunction();        //3 ?-->

47) Làm cách nào chúng ta có thể xác định một biến có thể truy cập được trong các hàm của tập lệnh PHP?

Tính năng này có thể thực hiện được bằng cách sử dụng từ khóa toàn cầu.


48) Làm thế nào có thể trả về một giá trị từ một hàm?

Hàm trả về một giá trị bằng lệnh 'return $value;'.


49) Phương pháp băm thuận tiện nhất được sử dụng để băm mật khẩu là gì?

Nên sử dụng crypt() vốn hỗ trợ một số thuật toán băm hoặc hàm hash() hỗ trợ nhiều biến thể hơn crypt() thay vì sử dụng các thuật toán băm phổ biến như md5, sha1 hoặc sha256 vì chúng được cho là nhanh. Do đó, việc băm mật khẩu bằng các thuật toán này có thể tạo ra lỗ hổng.


50) Phần mở rộng mật mã nào cung cấp khả năng tạo và xác minh chữ ký số?

PHP-OpenSSL tiện ích mở rộng cung cấp một số hoạt động mã hóa bao gồm tạo và xác minh chữ ký số.


Câu hỏi phỏng vấn PHP cho 5 năm kinh nghiệm

51) Hằng số được định nghĩa như thế nào trong tập lệnh PHP?

Lệnh Định nghĩa () cho phép chúng ta xác định một hằng số như sau:

define ("ACONSTANT", 123);

52) Làm thế nào bạn có thể truyền một biến bằng tham chiếu?

Để có thể truyền một biến bằng tham chiếu, chúng ta sử dụng ký hiệu và ở phía trước biến đó, như sau $var1 = &$var2


53) Việc so sánh số nguyên 12 và chuỗi “13” có hoạt động trong PHP không?

“13” và 12 có thể được so sánh trong PHP vì nó chuyển mọi thứ thành kiểu số nguyên.


54) Làm thế nào có thể truyền kiểu trong PHP?

Tên của loại đầu ra phải được chỉ định trong dấu ngoặc đơn trước biến được truyền như sau:

* (int), (số nguyên) – chuyển thành số nguyên

* (bool), (boolean) – chuyển thành boolean

* (float), (double), (real) – ép kiểu thành float

* (chuỗi) – truyền thành chuỗi

* (mảng) – truyền sang mảng

* (đối tượng) – truyền tới đối tượng


55) Khi nào câu lệnh điều kiện kết thúc bằng endif?

Khi if ban đầu được theo sau bởi: và sau đó là khối mã không có dấu ngoặc nhọn.


56) Toán tử điều kiện bậc ba được sử dụng như thế nào trong PHP?

Nó bao gồm ba biểu thức: một điều kiện và hai toán hạng mô tả lệnh nào sẽ được thực hiện khi điều kiện đã chỉ định là đúng hoặc sai như sau:

Expression_1?Expression_2 : Expression_3;

57) Hàm func_num_args() dùng để làm gì?

Hàm func_num_args() được sử dụng để cung cấp số lượng tham số được truyền vào hàm.


58) Nếu biến $var1 được đặt thành 10 và $var2 được đặt thành ký tự var1, giá trị của $$var2 là bao nhiêu?

$$var2 chứa giá trị 10.


59) Truy cập một lớp thông qua :: có nghĩa là gì?

:: được sử dụng để truy cập các phương thức tĩnh không yêu cầu khởi tạo đối tượng.


60) Trong PHP, các đối tượng được truyền theo giá trị hay theo tham chiếu?

Trong PHP, các đối tượng được truyền bằng tham chiếu.


61) Các hàm tạo gốc có được gọi ngầm bên trong hàm tạo của lớp không?

Không, hàm tạo gốc phải được gọi một cách rõ ràng như sau:

parent::constructor($value)

62) Sự khác biệt giữa __ngủ và __thức là gì?

__sleep trả về mảng tất cả các biến cần lưu, trong khi __wakeup truy xuất chúng.


63) Cái gì nhanh hơn?

1- Kết hợp hai biến như sau:

$variable1 = 'Hello ';

$variable2 = 'World';

$variable3 = $variable1.$variable2;

Or

2- $variable3 = "$variable1$variable2";

$variable3 sẽ chứa “Hello World”. Mã đầu tiên nhanh hơn mã thứ hai, đặc biệt đối với các tập dữ liệu lớn.


64) định nghĩa của một phiên là gì?

Phiên là một đối tượng logic cho phép chúng ta lưu giữ dữ liệu tạm thời trên nhiều trang PHP.


65) Làm cách nào để bắt đầu một phiên trong PHP?

Việc sử dụng hàm session_start() cho phép chúng ta kích hoạt một phiên.


66) Bạn có thể truyền bá id phiên như thế nào?

Bạn có thể truyền bá id phiên thông qua cookie hoặc tham số URL.


67) Ý nghĩa của Cookie liên tục là gì?

Cookie liên tục được lưu trữ vĩnh viễn trong tệp cookie trên máy tính của trình duyệt. Theo mặc định, cookie là tạm thời và sẽ bị xóa nếu chúng ta đóng trình duyệt.


68) Khi nào phiên kết thúc?

Phiên tự động kết thúc khi tập lệnh PHP thực thi xong nhưng có thể kết thúc thủ công bằng cách sử dụng session_write_close().


69) Sự khác biệt giữa session_unregister() và session_unset() là gì?

Hàm session_unregister() hủy đăng ký một biến toàn cục khỏi phiên hiện tại và hàm session_unset() giải phóng tất cả các biến phiên.


70) $GLOBALS nghĩa là gì?

$GLOBALS là mảng kết hợp bao gồm các tham chiếu đến tất cả các biến hiện được xác định trong phạm vi toàn cục của tập lệnh.


Câu hỏi phỏng vấn PHP cho 10 năm kinh nghiệm

71) $_SERVER nghĩa là gì?

$_SERVER là một mảng bao gồm thông tin được tạo bởi máy chủ web như đường dẫn, tiêu đề và vị trí tập lệnh.


72) $_FILES nghĩa là gì?

$_FILES là một mảng kết hợp bao gồm các mục được gửi đến tập lệnh hiện tại thông qua phương thức HTTP POST.


73) Sự khác biệt giữa $_FILES['userfile']['name'] và $_FILES['userfile']['tmp_name'] là gì?

$_FILES['userfile']['name'] đại diện cho tên gốc của tệp trên máy khách,

$_FILES['userfile']['tmp_name'] đại diện cho tên tệp tạm thời của tệp được lưu trữ trên máy chủ.


74) Làm thế nào chúng tôi có thể gặp lỗi khi tải tệp lên có vấn đề?

$_FILES['userfile']['error'] chứa mã lỗi liên quan đến tệp đã tải lên.


75) Làm cách nào chúng tôi có thể thay đổi kích thước tối đa của tệp được tải lên?

Chúng tôi có thể thay đổi kích thước tối đa của tệp sẽ được tải lên bằng cách thay đổi upload_max_filesize trong php.ini.


76) $_ENV nghĩa là gì?

$_ENV là một mảng kết hợp các biến được gửi tới tập lệnh PHP hiện tại thông qua phương thức môi trường.


77) $_COOKIE nghĩa là gì?

$_COOKIE là một mảng kết hợp các biến được gửi tới tập lệnh PHP hiện tại bằng cách sử dụng Cookie HTTP.


78) Phạm vi của các biến có nghĩa là gì?

Phạm vi của một biến là bối cảnh mà nó được xác định. Phần lớn, tất cả các biến PHP chỉ có một phạm vi duy nhất. Phạm vi duy nhất này bao gồm cả các tệp được bao gồm và yêu cầu.


79) Sự khác nhau giữa toán tử 'BITWISE AND' và toán tử 'LOGICAL AND' là gì?

$a và $b: TRUE nếu cả $a và $b đều TRUE.

$a & $b: Các bit được đặt trong cả $a và $b đều được đặt.


80) Hai toán tử chuỗi chính là gì?

Đầu tiên là toán tử nối ('.'), trả về phép nối của các đối số bên phải và bên trái của nó. Thứ hai là ('.='), nối đối số ở bên phải với đối số ở bên trái.


81) Toán tử mảng '===' nghĩa là gì?

$a === $b TRUE nếu $a và $b có cùng cặp khóa/giá trị theo cùng thứ tự và cùng loại.


82) Sự khác biệt giữa $a != $b và $a !== $b là gì?

!= có nghĩa là bất đẳng thức (TRUE nếu $a không bằng $b) và !== có nghĩa là không nhận dạng (TRUE nếu $a không giống với $b).


83) Làm cách nào chúng ta có thể xác định xem biến PHP có phải là đối tượng được khởi tạo của một lớp nhất định hay không?

Để có thể xác minh xem biến PHP có phải là đối tượng được khởi tạo của một lớp nhất định hay không, chúng tôi sử dụng instanceof.


84) Câu lệnh goto có ích gì?

Câu lệnh goto có thể được đặt để cho phép nhảy vào bên trong chương trình PHP. Mục tiêu được chỉ định bởi một nhãn theo sau là dấu hai chấm và lệnh được chỉ định dưới dạng câu lệnh goto theo sau là nhãn mục tiêu mong muốn.


85) sự khác biệt giữa Exception::getMessage và Exception:: getLine là gì?

Exception::getMessage cho phép chúng tôi nhận thông báo Ngoại lệ và Exception::getLine cho phép chúng tôi nhận được dòng xảy ra ngoại lệ.


86) Biểu thức Exception::__toString có nghĩa là gì?

Exception::__toString cung cấp biểu diễn Chuỗi của ngoại lệ.


87) Làm cách nào để phân tích tệp cấu hình?

Hàm parse_ini_file() cho phép chúng ta tải tệp ini được chỉ định trong tên tệp và trả về các cài đặt trong đó trong một mảng kết hợp.


88) Làm thế nào chúng ta có thể xác định xem một biến có được đặt hay không?

Hàm boolean xác định xem một biến có được đặt và không phải là NULL hay không.


89) Sự khác biệt giữa hàm strstr() và stristr() là gì?

Hàm chuỗi strstr(string allString, string occ) trả về một phần của allString từ lần xuất hiện đầu tiên của occ đến cuối allString. Chức năng này phân biệt chữ hoa chữ thường. stristr() giống hệt strstr() ngoại trừ việc nó không phân biệt chữ hoa chữ thường.


90) sự khác biệt giữa for và foreach là gì?

for được thể hiện như sau:

cho (expr1; expr2; expr3)

tuyên bố

Biểu thức đầu tiên được thực hiện một lần ở đầu. Trong mỗi lần lặp, expr2 được đánh giá. Nếu nó là TRUE, vòng lặp tiếp tục và các câu lệnh bên trong for được thực thi. Nếu giá trị là FALSE thì việc thực hiện vòng lặp sẽ kết thúc. expr3 được kiểm tra vào cuối mỗi lần lặp.

Tuy nhiên, foreach cung cấp một cách dễ dàng để lặp qua các mảng và nó chỉ được sử dụng với mảng và đối tượng.


91) Có thể gửi biểu mẫu bằng nút chuyên dụng không?

Có thể sử dụng document.form.submit() chức năng gửi biểu mẫu. Ví dụ: <input type=button value="SUBMIT" onClick="document.form.submit()">


92) Sự khác biệt giữa ereg_replace() và eregi_replace() là gì?

Hàm eregi_replace() giống hệt hàm ereg_replace() ngoại trừ việc nó bỏ qua sự phân biệt chữ hoa chữ thường khi khớp các ký tự chữ cái.


93) Có thể bảo vệ các ký tự đặc biệt trong chuỗi truy vấn không?

Có, chúng tôi sử dụng hàm urlencode() để có thể bảo vệ các ký tự đặc biệt.


94) Ba loại lỗi có thể xảy ra trong PHP là gì?

Ba loại lỗi cơ bản là thông báo (không nghiêm trọng), cảnh báo (lỗi nghiêm trọng) và lỗi nghiêm trọng (lỗi nghiêm trọng).


95) Sự khác biệt giữa ký tự \034 và \x34 là gì?

\034 là số bát phân 34 và \x34 là số thập phân 34.


96) Làm cách nào chúng ta có thể chuyển biến thông qua điều hướng giữa các trang?

Có thể chuyển các biến giữa các trang PHP bằng cách sử dụng phiên, cookie hoặc trường biểu mẫu ẩn.


97) Có thể kéo dài thời gian thực thi của tập lệnh PHP không?

Việc sử dụng set_time_limit(int giây) cho phép chúng tôi kéo dài thời gian thực thi của tập lệnh PHP. Giới hạn mặc định là 30 giây.


98) Có thể hủy cookie được không?

Có, có thể bằng cách đặt cookie có thời gian hết hạn trong quá khứ.


99) Thời gian phiên mặc định trong PHP là gì?

Thời gian phiên mặc định trong php là cho đến khi đóng trình duyệt


100) Có thể sử dụng thành phần COM trong PHP không?

Có, có thể tích hợp các thành phần Mô hình đối tượng thành phần ((D)COM) trong các tập lệnh PHP được cung cấp dưới dạng khung.


101) Giải thích liệu có thể chia sẻ một phiên bản Memcache giữa nhiều dự án PHP hay không?

Có, có thể chia sẻ một phiên bản Memcache duy nhất giữa nhiều dự án. Memcache là không gian lưu trữ bộ nhớ và bạn có thể chạy memcache trên một hoặc nhiều máy chủ. Bạn cũng có thể định cấu hình ứng dụng khách của mình để giao tiếp với một nhóm phiên bản cụ thể. Vì vậy, bạn có thể chạy hai quy trình Memcache khác nhau trên cùng một máy chủ nhưng chúng hoàn toàn độc lập. Trừ khi, nếu bạn đã phân vùng dữ liệu của mình, thì điều cần thiết là phải biết lấy dữ liệu từ hoặc đưa vào trường hợp nào.


102) Giải thích cách bạn có thể cập nhật Memcached khi bạn thực hiện thay đổi đối với PHP?

Khi PHP thay đổi bạn có thể cập nhật Memcached bằng cách

  • Xóa bộ nhớ đệm một cách chủ động: Xóa bộ nhớ đệm khi thực hiện chèn hoặc cập nhật
  • Đặt lại bộ đệm: Nó tương tự như phương pháp đầu tiên nhưng thay vì chỉ xóa các khóa và chờ yêu cầu dữ liệu tiếp theo để làm mới bộ đệm, hãy đặt lại các giá trị sau khi chèn hoặc cập nhật.

Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn