Trước khi tham gia vào bất kỳ buổi phỏng vấn nào, bạn cũng cần chuẩn bị thật kỹ kiến thức chuyên môn, rà soát lại kinh nghiệm và tìm hiểu sâu về công ty và vị trí phỏng vấn để có được phong độ tự tin nhất. Phỏng vấn PHP cũng vậy và dưới đây là các câu hỏi phỏng vấn PHP bạn có thể sẽ gặp. Cùng SmartOSC Careers tham khảo thông tin dưới đây nhé!
Các câu hỏi về bản thân
Trước khi đi vào các câu hỏi chuyên môn, chúng ta đi qua các câu hỏi cơ bản về bản thân mà nhà tuyển dụng vào cũng sẽ hỏi bạn. Tuy những câu hỏi này quen thuộc nhưng cũng cần chuẩn bị trước để trả lời một cách trôi chảy và tự tin.
Câu 1: Hãy giới thiệu ngắn gọn về bản thân bạn?
Đây là dạng câu hỏi phổ biến mà khi đi phỏng vấn xin việc bạn sẽ được hỏi. Bạn hoàn toàn có thể chuẩn bị và luyện tập trước ở nhà. Câu trả lời cần ngắn gọn, khoảng 2-3 phút. Bên cạnh đó, cũng cần phải đầy đủ với các thông tin cần thiết nhất cho nhà tuyển dụng, đặc biệt là kinh nghiệm liên quan đến vị trí PHP.
Câu 2: Theo bạn, điểm mạnh điểm yếu của mình là gì?
Đây là phần mà các bạn sẽ tự đánh giá về bản thân mình để đưa điểm mạnh, điểm yếu. Dựa vào đó, nhà tuyển dụng sẽ có cái nhìn tổng quan nhất về con người, tính cách và có phù hợp với vị trí họ đang tuyển dụng cũng như văn hóa công ty hay không?
Câu 3: Bạn biết gì về công ty chúng tôi?
Nhà tuyển dụng rất quan tâm đến việc bạn biết về công ty của họ như thế nào? Hơn hết họ biết được ứng viên có thực sự hiểu rõ về công ty và tìm hiểu trước khi tham gia phỏng vấn hay không. Bởi vậy, bạn nên tìm hiểu kỹ lưỡng về công ty và trình bày một số vấn đề liên quan như lĩnh vực hoạt động, văn hoá, quy mô hoạt động của công ty như thế nào?,..
Tổng hợp câu hỏi phỏng vấn vị trí PHP
Câu 1: Sự khác nhau giữa biến và hằng? Nếu hằng được định nghĩa 2 lần thì sẽ ntn?
- Biến có thể thay đổi được, hằng thì không
- Hằng bản chất là một loại biến nhưng không thay đổi được giá trị. Hằng định nghĩa 2 lần vẫn giữ nguyên giá trị ban đầu khai báo
Cú pháp: define(‘Tên hằng’, value);
Câu 2: Phân biệt $_POST và $_GET trong php?
Cả $_GET và $_POST đều được dùng để gửi dữ liệu lên server.
- $_GET: Gửi dữ liệu lên server thông qua URL, nên thông tin dữ liệu hiển thị lên url vì thế bảo mật kém, dữ liệu gửi lên bị giới hạn 1024 ký tự.
- $_POST: Gửi dữ liệu lên server dưới dạng ẩn thông qua HTTP Header vì thế nó có tính bảo mật cao hơn so với GET, dữ liệu gửi lên không bị giới hạn.
- Tốc độ thực thi xử lý của Post chậm hơn Get.
Câu 3: Session khác gì cookie?
Cookie | Session |
Dữ liệu cookie được lưu trữ ở phía client. | Dữ liệu session được lưu trữ ở phía server. |
Dữ liệu cookie dễ dàng sửa đổi hoặc đánh cắp khi chúng được lưu trữ ở phía client. | Dữ liệu session không dễ dàng sửa đổi vì chúng được lưu trữ ở phía máy chủ. |
Dữ liệu cookie có sẵn trong trình duyệt đến khi expired. | Sau khi đóng trình duyệt sẽ hết phiên làm việc (session) |
Câu 4: Theo bạn, sự khác nhau của toán tử & và && trong PHP là gì?
Toán từ & và && trong PHP đều là phép toán AND, tuy nhiên toán tử một dấu & áp dụng theo kiểu bit, nói dễ hiểu hơn một dấu & là phép AND thao tác trên các bit ví dụ 1 & 0 thì ra 0. Phép toán hai dấu & thì chỉ áp dụng cho kiểu boolean True và False.
Câu 5: Hãy cho biết $a++ và ++$a khác nhau ở đâu?
Cả hai đều được dùng để tăng thêm một đơn vị cho biết số, tuy nhiên điểm khác biệt ở $a++ được thực sau khi nó được gọi, còn ++$a được thực thi ngay khi nó được gọi, lấy ví a bằng 5, khi dung hàm echo để in nó ra với giá trị a++ thì nó sẽ ra là 5, còn khi dùng echo cho ++a thì giá trị của được in ra sẽ là 6.
Câu 6: Mảng là gì? Có mấy loại mảng trong PHP?
Mảng là một biến có thể chứa được nhiều phần tử, từ đó ta có thể dễ dàng lưu trữ, xắp xếp, hay xóa bỏ các phần tử trong mảng một cách dễ dàng.
Mảng bao gồm 2 thành phần là KEY và VALUE, key dùng để truy cập vào phần tử của mảng qua đó ta có thể gán giá trị hoặc lấy giá trị của các phần tử trong mảng. Mảng(array) có 3 loại chính là:
- Mảng tuần tự: là mảng có key tự động tạo là chữ số tăng dần bắt đầu từ 0.
- Mảng không tuần tự: là mảng có key mà bạn phải tự định nghĩa bằng các ký tự chữ hoặc số, và key không được sắp xếp bất kỳ thứ tự nào.
- Mảng đa chiều: là mảng có chứa ít nhất một mảng khác trong nó.
Câu 7: 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ự là mảng có key là chữ số bắt đầu từ 0 và tăng dần. Nó khác với mảng bất tuần tự là các phần tử trong nó KEY được sắp xếp tăng dần từ 0 còn mảng bất từ tự thì không.
Để duyệt mảng tả có thể dùng bất cứ vùng lập nào? Tuy nhiên chuẩn nhất là dùng vòng lập foreach, vì vòng lập này được nhà phát triển PHP xây dựng riêng cho việc duyệt mảng, nêu nó dễ sử dụng hơn, tốc độ xử lý của nó nhanh hơn.
Câu 8: Để 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ì?
Trong PHP cung cấp hàm implode(separator,array) dùng để chuyển mảng thành một chuỗi và hàm explode(separator,string,[limit]) dùng để chuyển một chuỗi thành mảng. Ngoài ra ta có hàm join($ky_tu,$array) giống hàm implode
Câu 9: Trong PHP để gộp mảng ta dùng hàm gì? Để tách mảng ta dùng hàm gì?
Trong PHP cung cấp hàm array_merge($array1, $array2, $array3,…) dùng để nối các mảng thành một mảng duy nhất và hàm array_slice(array,start,[length],[preserve]) dùng để tách mảng thành một mảng nhỏ hơn.
Câu 10: Abstract khác gì interface?
- Abstract: Là một class cha cho tất cả các class con có cùng nhiệm vụ và chúng có thể có một số hàm chung để sử dụng và một số hàm abstract trống chỉ để ghi đè lên các lớp con.
- Interface: Không phải class và chỉ chứa những hàm trống không được thực thi. Một lớp có thể implements nhiều interface và có thể xem interface là bản thiết kế cho lớp.
Abstract | Interface |
Lớp trừu tượng có thể chứa các phương thức trừu tương hoặc không trừu tượng | Chỉ có phương thức trừu tượng |
Không hỗ trợ đa kế thừa | Hỗ trợ đa kế thừa |
Có thể chứa các biến final, non-final, static, non-static | Chỉ có các biến final và static |
Có thể implements nhiều interface | Không thể exents lớp abstract |
Lớp trừu tượng có thể có phạm vi truy cập privated, protected… | Phạm vi truy cập là public |
Câu 12: Trait là gì?
Traits là một cơ chế tái sử dụng code trong các ngôn ngữ đơn kế thừa như PHP. Trait dùng để hạn chế sự đơn kế thừa bằng cách cho phép sử dụng các bộ phương thức một cách tự do trong một số lớp độc lập trong các hệ thống phân cấp lớp khác nhau. Một số điểm mạnh của trait:
- Tránh code bị lặp lại nhiều lần
- Ngăn chặn sự kế thừa phức tạp
- Cung cấp một cách đơn giản để tái sử dụng code, tăng hiệu xuất chương trình
Câu 13: API là gì?
- API: Application Programming Interface là các phương thức, giao thức kết nối với các thư mục và ứng dụng khác.
- API cung cấp khả năng truy xuất đến một tập các hàm hay dùng. Và từ đó có thể trao đổi dữ liệu ứng dụng.
Trên đây SmartOSC Careers đã tổng hợp các câu hỏi phỏng vấn PHP phổ biến khi tuyển chọn ứng viên của nhà tuyển dụng. Hy vọng với những thông tin mà chúng tôi cung cấp sẽ giúp bạn chuẩn bị tốt nhất cho vị trí sắp ứng tuyển.
Tham khảo: PHP là gì? Tìm hiểu ngôn ngữ lập trình phổ biến cho phát triển web