Những câu hỏi phổ biến khi phỏng vấn vị trí Lập trình PHP

Share on facebook
Share on google
Share on twitter
Share on linkedin

câu hỏi phổ biến khi phỏng vấn vị trí Lập trình PHP

Công việc lập trình PHP hiện vẫn còn khá xa lạ với nhiều người. Được biết, nhân viên lập trình này là những người chuyên phát triển các ứng dụng; chương trình và website bằng ngôn ngữ lập trình PHP. Nếu muốn nhận được một công việc lập trình PHP, thì việc thành công vượt qua phỏng vấn là không thể thiếu.

Những câu hỏi phổ biến khi phỏng vấn vị trí Lập trình PHP
Những câu hỏi khi phỏng vấn vị trí Lập trình PHP
Mục Lục show

Câu hỏi phỏng vấn vị trí lập trình PHP

Phỏng vấn là một trong những bước không thể thiếu khi muốn ứng tuyển cho mọi vị trí, kể cả lập trình viên. Tuy nhiên, để có thể thành công vượt qua buổi phỏng vấn, việc tham khảo và chuẩn bị trước cho các câu hỏi là hết sức cần thiết. Dưới đây sẽ chia sẻ một số câu hỏi thường gặp trong các buổi phỏng vấn lập trình PHP.

Câu hỏi 1: PHP có mấy cách khai báo? Những cách nào được xem là chính thống và không ảnh hưởng khi các phiên bản update sau này?

Được biết, PHP có 3 cách khai báo:

  • <?…?>
  • <?php…?>
  • <%…%>

Trong đó, cách thứ 2 được xem là chính thống và không ảnh hưởng khi các phiên bản được update sau này.

Lập trình PHP là gì?
Lập trình PHP là gì?

Câu hỏi 2: Hằng trong PHP khác gì so với biến ? Nếu 1 hằng được định nghĩa 2 lần, thì liệu có bị lỗi không? Cho ví dụ minh họa. Hằng có thể nội suy như biến hay không?

Điểm khác nhau giữa hằng trong PHP so với biến là hằng sẽ không thay đổi trong suốt chương trình. Trong khi đó, biến thì sẽ có sự thay đổi.

Trong trường hợp nếu định nghĩa hằng 2 lần, thì thông báo đã tồn tại sẽ xuất hiện. Đồng thời, chương trình vẫn chạy với hằng được định nghĩa đầu tiên.

Câu hỏi 3: Có bao nhiêu biến môi trường? $_REQUEST có thể nhận được giá trị từ form hay không?

Hiện có 4 biến môi trường, gồm:

  • $_GET
  • $_POST
  • $_REQUEST
  • $_SERVER

Biến $_REQUEST có thể nhận được giá trị từ form và dùng nó trong trường hợp không biết dữ liệu nên là post hay get.

Hình ảnh mô tả lập trình PHP
Hình ảnh mô tả lập trình PHP

Câu hỏi 4: Phân biệt sự khác biệt giữa $_POST và $_GET

Sự khác biệt giữa $_POST và $_GET như sau:

  • $_GET: Gửi dữ liệu server thông qua URL, thông tin hiển thị lên URL, kích thước URL giới hạn.
  • $_POST: Gửi dữ liệu lên server dưới dạng ẩn, không hiển thị param lên URL, dữ liệu không giới hạn.

Ngoài ra, GET còn có khả năng thực thi nhanh hơn POST, vì cơ chế:

  • $_GET: Quăng chuỗi string lên URL, server tách chuỗi lấy được tham số.
  • $_POST: Các tham số được đóng gói vào 1 file tạm, sau đó trình duyệt gửi file tạm đó lên server và server lưu lại file tạm đó rồi mới phân tích.

Tóm lại, điểm khác biệt duy nhất giữa $_POST và $_GET là POST sẽ chậm hơn GET. Còn về tính bảo mật thì cả hai đều như nhau.

Câu 5: Mảng tuần tự là gì? Khác gì với bất tuần tự? Để duyệt mảng ta dùng vòng lặp nào?

Mảng tuần tự được định nghĩa là mảng mà các khoá được đánh theo số và bắt đầu từ 0. Khác với mảng tuần tự, mảng bất tuần tự là các key của nó không phải là số mà có thể là string.

Vòng lặp for sẽ được dùng để duyệt mảng tuần tự. Trong khi đó, duyệt mảng bất tuần tự sẽ dùng vòng lặp foreach.

Câu 6: Để chuyển mảng thành chuỗi ta dùng hàm gì? Để tách chuỗi thành mảng ta dùng hàm gì? Để gộp mảng ta dùng hàm gì? Để tách mảng ta dùng hàm gì?

Chuyển mảng thành chuỗi dùng : implode(“Chuỗi nối”,$mảng)

Chuyển chuỗi thành mảng dùng : explode(“Chuỗi tách”,$string)

Để gộp mảng dùng : array_merge($mang1, $mang2)

Để tách mảng dùng : array_slice($mang, vị trí tách, số lượng tách)

Lập trình PHP cần làm những công việc gì?
Lập trình PHP cần làm những công việc gì?

Câu 7: Cho biết sự khác nhau giữa serialize và json_encode

Sự khác biệt giữa serialize và json_encode như sau:

  • Json_encode: Để giải mã dữ liệu json đã được mã hóa bằng json_decode: từ phiên bản php 5.2 trở đi, người ta thay thế json_encode và decode cho serialize
  • Serialize : chuyển đổi mảng thành string và unseriallize để lấy lại mảng ban đầu

Câu 8: Cookie và session có gì khác nhau? Người ta nói bản thân của session là cookie, điều đó đúng hay sai?

Điểm khác nhau giữa cookie và session nằm ở chỗ:

  • Cookie được lưu ở client trên browser
  • Session được lưu trên server và đồng thời ở client cũng có 1 cookie sinh ra tương ứng đúng như session id của nó trên server: PHPSESSID, các giá trị biến của session đc lưu trong file đó (dùng để quản lý đăng nhập)

Hoặc ta cũng có thể coi session là cookie.

Câu 9: Giả sử bạn là chủ của server, làm thế nào có thể biết được các file session lưu ở đâu. Bạn có thể can thiệp, chỉnh sửa file session này hay không?

Ta có thể biến được lưu ở file php.ini (tham số session.save_path)

PHP gồm những gì?
PHP gồm những gì?

Câu 10: Theo bạn, sự khác nhau của toán tử & và && là gì? Hãy cho biết $a++ và ++$a khác nhau ở đâu?

<?php
$a=5;
echo $a++ + $a– + –$a + ++$a + $a++ + ++$a – $a– + $a;
?>

Câu 11: Mysql_close() cần thiết như thế nào trong thực tế? Vì sao ít thấy người dùng áp dụng nó?

Trên thực tế, Mysql_close() có vai trò khá quan trọng. Tuy chương trình vẫn có thể chạy nếu không có Mysql_close(), nhưng để tăng tính chặt chẽ của chương trình thì cần phải áp dụng Mysql_close().

Câu 12: Muốn chuẩn hóa dữ liệu về utf-8 ta phải làm gì?

Muốn chuẩn hoá dữ liệu về utf-8, ta thực hiện như sau:

  • Sử dụng dạng utf-8 trong meta charset
  • Sử dụng utf-8-unicode-ci trong sql

Câu 13: Làm sao lấy được id vừa tiến hành thêm vào CSDL ngay?

Để có thể lấy được id vừa tiến hành thêm vào CSDL ngay, ta làm như sau:

  • Sử dụng hàm mysql_insert_id hoặc sử dụng limit(0,1) DESC
  • Trong các framework sẽ có các hàm khác nhau hỗ trợ

Câu 14: fgets() và fgetc() khác nhau như thế nào?

Điểm khác nhau giữa fgets() và fgetc() được biểu hiện như sau:

  • File_get_contents(): Dùng để lấy nội dung của files
  • Fread: Phải open xong mới đọc được, phải chỉ ra kích thước file

Lời kết

Bài viết trên đây là Những câu hỏi chính thường được hỏi trong các buổi phỏng vấn lập trình PHP. Hy vọng qua bài viết này, các bạn sẽ có một buổi phỏng vấn thành công và nhận được công việc như mong muốn nhé!

Ngan

Booking.com
Klook.com
Booking.com