Diễn đàn C: Học lập trình và đi tìm việc về lập trình PHP chắc hẳn các bạn sẽ phải trải qua các câu hỏi khi phỏng vấn vị trí lập trình website. Học tập, rèn luyện kiến thức luôn là điều cần thiết để chuẩn bị cho bản thân thêm tự tin trước nhà tuyển dụng. Để khảo sát bản thân của các bạn đã sẵn sàng chưa. Tôi xin cung cấp 1 số câu hỏi phỏng vấn phổ biến nhắm giúp các bạn định hình những câu hỏi thường được sử dụng trong quá trình phỏng vấn.

Các câu hỏi này, tôi vẫn thường áp dụng hoc php co ban trong những buổi được mời phỏng vấn về chuyên môn tại một số doanh nghiệp trong miền Nam. Và hiện nay, cũng đã có rất nghiệp những doanh nghiệp khác tham khảo trong việc hỏi đáp ứng viên. Vì thế, bạn nên dành thời gian để tự trả lời các câu hỏi này. Nó đánh giá xem level ở mỗi cấp độ của bạn hiện đang ở mức nào.

Tôi sẽ đưa dần dần 140 câu hỏi cho đủ mọi cấp độ từ cơ bản, nâng cao, chuyên sâu và đến các câu hỏi dành cho những vị trí như team leader, technical manager trong thời gian tới.

Hy vọng, việc này sẽ giúp cho các bạn rèn luyện và tạo 1 sân chơi lành mạnh cho các bạn khi tham gia vào website và nhóm của chúng ta.

Câu hỏi về PHP thuần: (dành cho cấp độ cơ bản)

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 ?.

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 ?.

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

4- Phân biệt sự khác nhau giữa $_POST và $_GET.

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 trong hoc lap trinh android co ban ?. Tại sao vòng lặp for, while, do....while lại không ưu tiên sư dụng trong duyệt mảng ?.

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ì ?.

7- Cho biết sự khác nhau giữa serialize và json_encode. Lý giải theo cách bạn hiể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 ?. Nếu muốn tăng thời gian sống của session thì thiết lập thế nào ?.

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 ?.

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 ?. Tính nhanh kết quả của đoạn code sau trong 2 phút:

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


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ó.

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

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

14- Để đếm số dòng, ta nên dùng mysql_num_rows() trên câu truy vấn "select * from...." hay count trực tiếp trong câu truy vấn ?.

15- Việc enter có giá trị hay không trong textarea bình thường (không nhúng khung soạn thảo). Và làm thế nào để có thể hiển thị ra bên ngoài thao tác xuống dòng như bình thường.

16- fgets() và fgetc() khác nhau như thế nào ?. fgets() và fread() khác nhau ra sao ?. feof là gì, nó có ý nghĩa như thế nào ?. file_get_contents() khác gì so với fread() ?.

17- Khi mở file (fopen) trong hoc photoshop co ban để đọc file, rồi sau đó tiếp tục thực hiện hành động ghi file. Ta cần lưu ý điều gì ?

18- Làm sao để chuyển đổi từng dòng trong file text thành từng phần tử trong mảng với khóa tuần tự là 0 ?.

19- Có thể lưu trữ dữ liệu trên file hay không ?. Lúc nào thì nên lưu trên file, lúc nào thì lưu trên CSDL ?.

20- Để thực hiện việc upload ta phải cần những điều gì ?.