Bộ câu hỏi phỏng vấn PHP và cách trả lời phỏng vấn xin việc dưới đây sẽ giúp bạn thêm tự tin trong đợt gặp nhà tuyển dụng sắp tới. Tanca hiểu rằng, bạn ít nhiều sẽ có những lo lắng. Vì thế hãy chuẩn bị cho mình kiến thức chuyên môn và kinh nghiệm bằng cách đọc ngay bài viết này nhé.
Những câu hỏi tìm hiểu ứng viên xin việc cơ bản
![nhan vien lap trinh](https://upload.tanca.io/api/upload/news/64473aee83dae7f1960c9bae?name=64473aee0cc45K5D76159846-phong-van-php-1.jpg)
Hãy giới thiệu về bản thân bạn?
Đây là câu hỏi thường gặp trong buổi phỏng vấn xin việc. Bạn có thể hoàn toàn chuẩn bị và luyện tập trước tại nhà để dễ dàng kết nối với nhà tuyển dụng.
Câu trả lời nên ngắn gọn, khoảng 2 - 3 phút. Ngoài ra, nó phải được bổ sung những thông tin cần thiết nhất cho nhà tuyển dụng, cụ thể là kinh nghiệm liên quan đến vị trí PHP.
Bạn biết gì về công ty chúng tôi?
Các nhà tuyển dụng rất quan tâm đến mức độ hiểu biết của ứng viên lập trình viên về công ty của họ. Trước hết, câu hỏi này cho họ biết ứng viên có thực sự hiểu về công ty và có tìm hiểu trước khi đi phỏng vấn hay không.
Vì vậy, bạn nên tìm hiểu kỹ 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 hóa hay quy mô hoạt động của công ty,...
Theo bạn, điểm mạnh điểm yếu của bạn là gì?
Đây là phần mà bạn sẽ đánh giá bản thân để xác định điểm mạnh và điểm yếu của mình. Từ đó, nhà tuyển dụng sẽ có được cái nhìn tổng quan về con người, tính cách của bạn và đưa ra đánh giá liệu bạn có phù hợp với vị trí đang tuyển dụng, cũng như văn hóa của công ty không.
Xem thêm: Bộ câu hỏi phỏng vấn Javascript
Bộ câu hỏi phỏng vấn PHP mới nhất 2023
![phong van php moi](https://upload.tanca.io/api/upload/news/64473b01347dfab533058ece?name=64473b00f3b5bjXO63198004-phong-van-php-2.jpg)
PHP là gì?
PHP là ngôn ngữ kịch bản để xây dựng các ứng dụng web trên máy chủ. Ngôn ngữ PHP sẽ được xử lý trên máy chủ, do đó tạo mã HTML trên máy khách. Trên cơ sở này, các ứng dụng trên trang web có thể hoạt động dễ dàng mà không gặp vấn đề gì.
Giải thích sự khác nhau giữa PHP4 và PHP5
PHP4 được phát hành vào 22/05/2000, không hỗ trợ up và sử dụng Zend Engine 1.
PHP5 phát hành vào ngày 13/07/2004, hỗ trợ khái niệm oops và sử dụng Zend Engine 2.
PHP giống với ngôn ngữ lập trình nào?
Cú pháp câu PHP tương tự như Perl và C. Tuy nhiên, không giống như C là ngôn ngữ lập trình thủ tục hay Perl là ngôn ngữ lập trình mục đích chung, PHP là ngôn ngữ lập trình phía máy chủ, hay nói dễ hiểu hơn là ngôn ngữ có thể viết ứng dụng chạy trên các hệ điều hành được cài đặt trên Server.
Phiên bản PHP thực sự sử dụng là gì?
Bắt đầu với phiên bản 7.0, hiệu suất và mức sử dụng bộ nhớ của PHP được cải thiện đáng kể. Phiên bản 7.1 hay 7.2 là phiên bản PHP được đề xuất.
Về phía Wordpress, phiên bản yêu cầu tối thiểu là 7.4.
Xem thêm: Bộ câu hỏi phỏng vấn Angular
Mảng là gì? Có các loại mảng nào trong PHP?
![cac loai mang trong php](https://upload.tanca.io/api/upload/news/64473b1dac774aba330c66fe?name=64473b1d157774zWo3085093-phong-van-php-3.jpeg)
Mảng là 1 biến có thể chứa nhiều phần tử, từ đó lưu trữ dễ dàng, sắp xếp hoặc xóa phần tử trong mảng. Mảng bao gồm 2 phần là key và value, key dùng để truy cập vào một phần tử của mảng mà từ đó chúng ta có thể gán giá trị hoặc lấy giá trị phần tử trong mảng.
Có 3 loại mảng chính trong lập trình PHP:
- Mảng tuần tự: đây là một mảng có key tự động là một chữ số tăng dần bắt đầu từ 0
- Mảng không tuần tự: Là mảng có khoá mà bạn phải tự xác định bằng cách sử dụng các ký tự chữ và số và các key không được sắp xếp theo bất kỳ thứ tự nào
- Mảng đa chiều: Một mảng chứa một hoặc nhiều mảng khác
Câu hỏi phỏng vấn PHP Laravel: Mảng tuần tự là gì?
Mảng tuần tự là một mảng có KEY là các chữ số bắt đầu bằng 0 và tăng dần. Nó khác với mảng không tuần tự ở chỗ các phần tử chứa nó key được sắp xếp theo thứ tự tăng dần từ 0, trong khi mảng không tuần tự thì không.
Trong PHP có bao nhiêu loại lỗi sai?
Có 3 loại lỗi trong PHP.
- Thông báo: Những lỗi không quá nghiêm trọng. Những lỗi này không được hiển thị cho người dùng.
- Cảnh báo: Đây là những lỗi nghiêm trọng hơn, nhưng không chấm dứt tập lệnh. Theo mặc định, các lỗi này được hiển thị cho người dùng.
- Lỗi nghiêm trọng: Đây là lỗi nghiêm trọng nhất. Những lỗi này có thể do việc chấm dứt tập lệnh ngay lập tức.
Câu hỏi phỏng vấn PHP nâng cao: Phân biệt POST và GET trong php?
- Điểm chung: Cả GET và POST đều được sử dụng để gửi dữ liệu đến server
- GET: Gửi dữ liệu lên server thông qua url nên tính bảo mật kém, dữ liệu gửi chỉ 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ế an toàn hơn GET, dữ liệu gửi đi không giới hạn. Tuy nhiên tốc độ xử lý của Post chậm hơn Get.
Điểm giống và khác nhau của Website và web app
- Web app thực chất là một trang web, nhưng được đặt tên cụ thể để chỉ những website có các tính năng và ứng dụng riêng biệt.
- website là các trang web có ít tương tác hơn nhiều so với các ứng dụng web, có thể là các trang web tĩnh không cần cập nhật dữ liệu.
Xem thêm: Bộ câu hỏi phỏng vấn Lập Trình Viên
Sự khác nhau giữa toán từ & và && trong php là gì?
![phong van ve thuat toan](https://upload.tanca.io/api/upload/news/64473b340709b8ff510a96c3?name=64473b34302f7BrXp3579378-phong-van-php-4.jpg)
Toán từ & và && trong PHP là phép toán AND, nhưng toán tử ký tự & áp dụng theo kiểu bit, dễ hiểu hơn & là phép toán AND phép toán bit. Phép toán && chỉ áp dụng cho boolean True và False.
Câu hỏi phỏng vấn Senior PHP: $a++ và ++$a khác nhau điểm nào?
Cả hai đều được sử dụng để tăng đơn vị số, nhưng điểm khác biệt là $a++ được thực thi sau lệnh gọi và ++$a được thực thi ngay sau lệnh gọi.
Làm thế nào để phân biệt hàm include() and require()
Cả hai đều đọc tệp được chỉ định, nhưng trong yêu cầu () process sẽ đưa ra lỗi nghiêm trọng nếu có sự cố khi đọc file và ngăn tập lệnh thực thi, trong khi hàm include() sẽ vẫn vượt qua và tiến hành bước tiếp theo trong quá trình thực thi.
Các câu hỏi phỏng vấn PHP junior: Khi website bị chậm bạn cần làm gì?
Tìm hiểu nguyên nhân gây ra lỗi và đưa ra giải pháp thích hợp. Chẳng hạn như:
Code chưa tối ưu, truy vấn sql chưa tối ưu: giải pháp là kiểm tra xem code chưa tối ưu ở đâu, fix bug và fix bug, giảm độ phiền phức của chương trình code và dung lượng ảnh, video trên server công nghệ.
Hosting cấu hình thấp không thể tối ưu dễ bị nghẽn do nhiều người dùng: cách khắc phục là cập nhật cấu hình host.
Khoảng cách giữa máy chủ và máy kiểm tra: giải quyết bằng cách thực hiện đăng ký dịch vụ CDN kết nối.
Làm thế nào để website phục vụ được hàng triệu người dùng?
Nó thường nâng cấp băng thông máy chủ, RAM hoặc dung lượng lưu trữ khi số lượt truy cập tăng lên. Tuy nhiên, một khi lượng truy cập lên đến 1-2 triệu thì không thể còn chỗ cho việc mở rộng server mà phải thiết kế để chạy đồng thời nhiều server.
Cookie và session có gì khác nhau? Session là cookie là đúng hay sai?
COOKIE là một tệp nhỏ được nhúng bởi server trên máy tính của người dùng. Nếu trình duyệt truy cập trang web lần đầu tiên, nó sẽ gửi một COOKIE đến trình duyệt của người dùng và mỗi lần người dùng truy cập lại trang web từ trang web này, một COOKIE có thông tin về thu nhập của người dùng từ trang web này sẽ được gửi lại cho trình duyệt máy chủ của trang web.
SESSION được hiểu là khoảng thời gian mà người dùng giao tiếp với ứng dụng. SESSION được lưu trữ hoàn toàn trên máy chủ nên bảo mật hơn cookie, các website ngày nay thường sử dụng session để lưu thông tin về người dùng khi đăng nhập.
Vòng đời của SESSION được xác định bởi máy chủ web, chúng ta có thể điều chỉnh vòng đời này trong quá trình cấu hình máy chủ web, PHPSESSID phù hợp sẽ được tạo trên máy chủ, PHPSESSID sẽ được lưu trong một tệp văn bản ở vị trí được chỉ định trong tệp php.ini ở dòng session.save_path.
Bản thân Session được cho là một cookie, về cơ bản SESSION và COOKIE là các tệp lưu trữ thông tin về người dùng trang web, nhưng dựa trên khái niệm, cách sử dụng và cách sử dụng của chúng là khác nhau vì vậy tôi nghĩ rằng chúng khác nhau.
Muốn chuẩn hóa dữ liệu về utf-8 trong PHP cần phải làm gì?
- Sử dụng encoding utf-8 ở meta charset trong tập tin PHP.
- Sử dụng encoding utf-8-unicode-ci trong MySQL.
Sự khác nhau giữa serialize và json_encode là gì?
json_encode: là phương thức dùng để chuyển đổi mảng (array) hoặc đối tượng thành một chuỗi (string) dữ liệu JSON để sử dụng khi lưu trữ trong cơ sở dữ liệu, còn để chuyển đổi ngược lại thì chúng ta sử dụng json_decode để chuyển đổi một chuỗi dữ liệu JSON thành một mảng (Array) hoặc đối tượng để sử dụng trong mã PHP.
serialize (array): là phương thức dùng chuyển đổi 1 mảng (array) hoặc đối tượng thành 1 chuỗi (string) dữ liệu theo chuẩn PHP, để chúng ta có thể lưu trữ, truyền tải khi muốn chuyển ngược lại thành mảng hoặc phương pháp chúng tôi sử dụng unserialize().
Kết luận
Trên đây là bộ câu hỏi phỏng vấn PHP thường gặp mà chúng tôi muốn chia sẻ đến bạn. Dù bài viết của Tanca chỉ mang tính chất tham khảo, nhưng chúng tôi hy vọng sẽ giúp bạn thêm phần nào đó tự tin, hiểu được mình cần trả lời như thế nào khi nhận được những câu hỏi tương tự trong buổi phỏng vấn sắp tới.