Câu hỏi phỏng vấn Intern PHP Developer

82 Các câu hỏi phỏng vấn Intern PHP Developer được chia sẻ bởi các ứng viên

Mỗi công việc có một tính chất độc đáo và mỗi cuộc phỏng vấn đề đặt ra những thách thức riêng. Nhà tuyển dụng thường là những chuyên gia có hiểu biết sâu rộng và khả năng phân tích sâu về ứng viên. Họ biết cách sử dụng các câu hỏi để khám phá năng lực và bản sắc thực sự của từng ứng viên.

Vậy làm thế nào để một lập trình viên có thể trả lời các câu hỏi khó và thể hiện mình trước mắt những nhà tuyển dụng? Hãy cùng xem qua những gợi ý chia sẻ dưới đây để tăng cơ hội thành công trong quá trình phỏng vấn.

Bộ câu hỏi phỏng vấn về thông tin cá nhân

Hãy giới thiệu qua 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. 

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?  

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

Bạn đã tham gia các dự nào chưa? Vai trò của bạn trong dự án đó là gì?

Đây là một câu hỏi chuyên môn đơn thuần cho các lập trình viên. Lúc này bạn chỉ cần chia sẻ những kinh nghiệm thực tế của bản thân. Nói nhiều hơn về những dự án lớn để giúp bạn tạo được ấn tượng và khiến cho những chia sẻ của bạn trở nên hấp dẫn hơn.

Tại sao bạn lại nghỉ việc ở công ty cũ?

Rất nhiều ứng viên bắt đầu buổi phỏng vấn rất tốt, nhưng tới câu hỏi này thì với sự hưng phấn quá độ khiến nhiều bạn đem hết những gì xảy ra tại công ty cũ kể cho nhà tuyển dụng, và kết quả như thế nào thì các bạn biết đó. 

Đừng đề cập tới những vấn đề “không vui” đã xảy ra. Bạn hãy nói về những dự định của bản thân hoặc là những hướng đi không còn phù hợp, có thể nói tới những điểm nổi bật mà công ty bạn đang ứng tuyển mà công ty cũ chưa đáp ứng được. Đây chắc chắn sẽ là điểm cộng dành cho bạn đó.

Để một team có thể phối hợp thành công, những yếu tố nào là quan trọng nhất?

Mục đích chính của câu hỏi này là để nhà tuyển dụng đánh giá khả năng làm việc nhóm của ứng viên. Bạn hãy chia sẻ những yếu tố ngắn gọn như khả năng lắng nghe, thấu hiểu, đoàn kết, v.v. 

Câu hỏi phỏng vấn PHP Developer về chuyên môn

PHP là gì?

PHP là một ngôn ngữ kịch bản được lập trình dựa trên các tập lệnh nhằm phát triển ứng dụng web trên máy chủ. Ngôn ngữ PHP sẽ được xử lý trên server, từ đó sinh ra mã html trên client. Dựa vào đó, các ứng dụng trên website có thể hoạt động một cách dễ dàng.

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

Cú pháp câu của PHP gần tương tự với cú pháp Perl và C. Tuy nhiên, khác với C là ngôn ngữ lập trình hướng thủ tục hay Perl là ngôn ngữ lập trình đa năng thì PHP là ngôn ngữ lập trình phía máy chủ, nói dễ hiểu hơn, là ngôn ngữ có thể viết ứng dụng chạy trên hệ điều hành cài đặt trên các Server.

Bạn có thể tạo bao nhiêu đối tượng trong PHP?

Trong PHP, developer có thể tạo được vô hạn đối tượng. Để làm được điều đó, lập trình viên cần xác định được lớp chính xác.

Phân biệt POST và GET trong php?

  • Điểm chung: 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 tính 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 tin qua HTTP Header vì thế 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. Tuy nhiên, tốc độ xử lý của Post lại chậm hơn Get.

Khi website bị chậm bạn phải làm gì?

Tìm ra nguyên nhân lỗi là do đâu và đưa ra hướng giải quyết phù hợp. Chẳng hạn: 

  • Code không tối ưu, câu truy vấn sql chưa tối ưu: giải pháp kiểm tra xem code chỗ nào chưa tối ưu, tiến hành sửa lỗi và fix lại bug, giảm độ cồng kềnh của code và dung lượng ảnh, video trên server.
  • Hosting cấu hình thấp không được tối ưu quá tải do nhiều người dùng: giải pháp là sẽ tiến hành nâng cấp cấu hình host
  • Khoảng cách server và máy test xa: giải quyết bằng cách đăng ký dịch vụ CDN.

Làm thế nào để website có thể phục vụ hàng triệu người dùng?

Thông thường sẽ nâng cấp server băng thông, ram hay bộ nhớ khi lượt truy cập tăng lên. Tuy nhiên, khi lưu lượng truy cập lên đến 1-2 triệu thì không thể nâng cấp server được nữa mà phải thiết kế sao cho nhiều server chạy cùng một lúc. 

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?

Hằng và biến trong PHP là khái niệm khác nhau:

  • Đầu tiên khác nhau là cách khai báo:

Biến thì chỉ cần dùng ký tự $ để gắn hoặc lấy giá trị.

Hằng dùng hàm define() gắn giá trị và dùng constant() để lấy giá trị.

  • Điểm khác biệt lớn nhất là hằng là không thể thay đổi trong suốt quá trình chạy chương trình, biến thì có.

Nêu 1 hằng được định nghĩa 2 lần thì chương trình vẫn chạy được bình thường tuy nhiên hằng chỉ có giá trị của lần định nghĩa đầu tiên.

Để 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

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.

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

Sử dụng encoding utf-8 tại meta charset trong tập tin PHP.
Sử dụng encoding utf-8-unicode-ci trong MySQL.

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.

Bạn có nên hỏi lại nhà phỏng vấn không?

Trong quá trình của buổi phỏng vấn, bạn nên chuẩn bị sẵn một số câu hỏi để có thể hỏi ngược lại nhà phỏng vấn. Bởi, ngoài những câu hỏi phỏng vấn PHP từ nhà tuyển dụng, việc bạn đặt câu hỏi ngược lại cũng sẽ khiến bạn có thể ghi điểm với họ. Một số câu hỏi ví dụ như:

  • Anh/chị có thể mô tả chi tiết hơn về vị trí mà tôi đang ứng tuyển hay không?
  • Hiện tại, định hướng của bộ phận lập trình PHP sẽ được phát triển như thế nào?
  • Lý do nhân sự làm việc tại vị trí tôi đang ứng tuyển nghỉ việc là gì?
  • Quyền lợi chung của nhân viên cũng như quyền lợi riêng của lập trình PHP tại quý công ty như thế nào?

Trên đây là những câu hỏi phỏng vấn PHP thường gặp nhất mà bạn có thể tham khảo. Tuy vậy, bạn vẫn cần thường xuyên trau dồi thêm kiến thức cũng như tham khảo thêm những tài liệu chuyên môn khác. Điều này sẽ giúp bạn tự tin hơn trong buổi phỏng vấn sắp tới.

Câu hỏi phỏng vấn Intern PHP Developer & Cách trả lời

Dưới đây là 3 câu hỏi phỏng vấn Intern PHP Developer hàng đầu và cách trả lời chúng:

Câu hỏi #1: Restful API là gì?

Restful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web(thiết kế Web services) để tiện cho việc quản lý resource.

Restful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một Restful API

Câu hỏi #2: 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.

Câu hỏi #3: Làm thế nào để website có thể phục vụ hàng triệu người dùng?

Thường thì sẽ nâng cấp sever, băng thông, ram, bộ nhớ... khi lượt truy cập tăng lên nhưng khi lượng request lên đến 1-2 triệu thì không thể nâng cấp server được nữa, mà phải thiết kế sao cho nhiều server chạy cùng lúc.

Giả sử ta có 10 sever để phục vụ cho người dùng vậy làm sao để có thể điểu khiển nó, đẻ thực hiện điều ấy ta cần dùng Cân bằng tải với Load Balancer, Người dùng sẽ không trực tiếp truy cập tới server, mà chỉ truy cập tới load balancer. LB sẽ điều tiết, cân bằng lượng tải trên 10 server này.

Phân tán dữ liệu với Content Delivery Network (CDN): CDN là một mạng lưới các server được phân bố trên nhiều khu vực.Ví dụ bạn có 1 sever để bên mỹ, mỗi lần bạn truy cập qua bên sver đó sẽ rất lâu vì khoản cách xa, nhưng khi sử dụng CDN bạn sẽ kết nối vs sever gần nhất ở VN, tốc độ sẽ nhanh hơn nhiều

Caching: Cache là một kĩ thuật để tăng tốc độ đọc dữ liệu, bằng cách lưu dữ liệu sẵn vào cache server để tăng tốc độ đọc ở những lần sau.

Câu hỏi phỏng vấn

Intern PHP Developer được hỏi... 06/06/2023

MVC là gì ? Mô hình hoạt động của HTTP và MVC

1 câu trả lời

  • Client sẽ gửi 1 HTTP request đến server và trước khi vào controller thì nó sẽ qua 1 thứ trong đó ( Route, Loading language XML, site settings, middleware ...)

  • Route sẽ trỏ tới controller tương ứng và controller thực thi đên model

  • Model sẽ truy vấn vào CSDL để lấy data và trả cho controller

  • Controller sẽ nhận data và gửi đến view và nhận lại các content từ view tương ứng. lúc này controller mới gửi response về browers các file HTML, CSS, JS để được biên dịch và hiển thị lên trình duyệt

  • Có một số bạn hay trả lời nhanh là Controller đỗ dữ liệu ra view và hiển thị cho người dùng, ở đây nên nói rõ ra thì tốt hơn.

Intern PHP Developer được hỏi... 06/06/2023

Echo và print?

1 câu trả lời

  • Cả 2 đều là phương thức nhận output trong PHP;
  • Echo không trả về giá trị nào trng khi print trả về giá trị có thể sử dụng trong các biểu thức;
  • Không thể echo 1 mảng = [], print thì có thể
Intern PHP Developer được hỏi... 06/06/2023

Require và include ?

1 câu trả lời

  • Cả 2 đều là câu lên để gọi 1 file vào trong file hiện tại
  • Nếu bị lỗi -> require sẽ tạo ra 1 lỗi và dừng chương trình/ còn include sẽ đưa ra cảnh báo và tiếp tục
  • Ngoài ra còn có include_once và require_once
Intern PHP Developer được hỏi... 06/06/2023

Hàm construct và destruct

1 câu trả lời

  • Construct là hàm khởi tạo đối tượng thuộc type của một lớp nào đó, sử dụng bằng cách trong class ta gọi hàm __construct($...)
  • Destructor hay còn gọi là Hàm hủy trong PHP được sử dụng để gọi khi vòng đời của đối tượng sẽ kết thúc để giải phóng bộ nhớ bị chiếm giữ hoặc để thu gom rác giống nhau. __destruct()
Intern PHP Developer được hỏi... 06/06/2023

PHP ‘PEAR’ là gì?

1 câu trả lời

PHP PEAR là một phần mở rộng của chính ngôn ngữ PHP. Đây là từ viết tắt của cụm “PHP Extension and Application Repository”.

PEAR chủ yếu được sử dụng bởi các lập trình viên có kinh nghiệm - nó cung cấp nhiều tùy chọn và chức năng hơn là phiên bản PHP tiêu chuẩn.

Intern PHP Developer được hỏi... 06/06/2023

PHP được sử dụng làm gì?

1 câu trả lời

Có một vài cách sử dụng phổ biến cho PHP. Chẳng hạn:

  • Nó có thể tạo, ghi, đóng tệp hệ thống.
  • Nó có thể mã hóa dữ liệu hoặc ngăn mọi người truy cập vào các phần của trang web.
  • Nó được sử dụng để chạy xung quanh với cookie - bạn sửa đổi và đặt chúng theo nhu cầu của bạn.
Intern PHP Developer được hỏi... 06/06/2023

Cho phép sử dụng "image" trong PHP như thế nào?

1 câu trả lời

Để sử dụng chức năng hình ảnh trong PHP, bạn cần tải xuống thư viện GD Library - một công cụ vẽ đồ họa cho phép bạn thay đổi thông tin dữ liệu của hình ảnh.

Intern PHP Developer được hỏi... 06/06/2023

Bạn kết nối cơ sở dữ liệu MySQL database vào PHP như thế nào?

1 câu trả lời

Bạn sẽ làm như sau:

connection mysql_connect(pepper, Daniel, 12345, Applesauce, client_flag);

Ở đây, “pepper” là chủ nhà trong khi tên Daniel là tên người dùng và các số 1 đến 5 là một ví dụ về mật khẩu. “Applesauce” là tên của cơ sở dữ liệu mà bạn đang cố gắng kết nối.

Intern PHP Developer được hỏi... 06/06/2023

Bạn có thể tạo ra bao nhiêu đối tượng trong PHP

1 câu trả lời

Vô hạn. Tuy nhiên, ở đây có một cái bẫy.

Nếu bạn muốn bắt đầu tạo các đối tượng trong PHP, trước tiên bạn cần xác định lớp của chúng. Sau khi thực hiện xong, bạn có thể tạo một số lượng không giới hạn các đối tượng trong lớp đó.

Intern PHP Developer được hỏi... 06/06/2023

Giải thích ‘_construct()’ và ‘_destruct()’

1 câu trả lời

Trong PHP, các đối tượng thuộc các lớp có các tùy chọn Construct và Destruct sẵn có.

Khi bạn tạo một đối tượng mới trong một lớp, tùy chọn sẽ tự động được bật trong đó. Điều này cho phép đối tượng sao chép các tham số và cài đặt của lớp và tự động gán chúng cho chính nó.

Mặt khác, nếu tính năng hủy được bật, nó sẽ tự động xóa mọi cài đặt của đối tượng mới.

Đây có thể là một trong những câu hỏi phỏng vấn PHP liên quan đến OOP (lập trình hướng đối tượng) đã đề cập trước đó. Đây có thể coi là một ví dụ tuyệt vời chứng mình PHP là ngôn ngữ OOP.

Intern PHP Developer được hỏi... 06/06/2023

Khi nào sử dụng ‘@’?

1 câu trả lời

Lệnh “@” được sử dụng để tránh các vấn đề trong mã của bạn bằng cách đơn giản yêu cầu PHP giải quyết chúng cho bạn.

Những gì bạn sẽ làm chỉ đơn giản là thêm Lệnh “@” ở đầu một dòng mã có thể gây ra thông báo lỗi. Sau khi được thêm vào, “@” sẽ truyền bất kỳ lỗi nào mà dòng mã gây ra cho PHP.

Intern PHP Developer được hỏi... 06/06/2023

Làm thế nào để tìm ra độ dài của một mảng?

1 câu trả lời

Để tìm ra độ dài của một mảng, bạn chỉ cần sử dụng mã này:

$array=['php', 'is', 'really', 'cool'];
echo count($array);
?>

Kết quả đầu ra là 4.

Câu “PHP is cool” được tạo bởi 4 từ, tương đương với đầu ra. Điều này cho thấy code hoàn toàn chính xác!

Intern PHP Developer được hỏi... 06/06/2023

Làm thế nào các đối tượng được truyền trong PHP - theo tham chiếu hay theo giá trị?

1 câu trả lời

Đây là một trong câu hỏi phỏng vấn PHP có liên quan chặt chẽ với OOP - trong PHP, các đối tượng chỉ có thể được truyền theo giá trị (by value).

Intern PHP Developer được hỏi... 06/06/2023

Làm thế nào để trích xuất dữ liệu PHP ra Excel?

1 câu trả lời

Đây là một trong những câu hỏi phỏng vấn PHP quan trọng hơn, vì rất nhiều công ty sử dụng Excel làm nguồn chính để xem và chia sẻ dữ liệu.

Để có thể xuất dữ liệu PHP trong một bảng Excel, bạn phải thay đổi định dạng của tệp. Có lẽ một trong những định dạng phổ biến nhất của các tệp như vậy là .csv.

Intern PHP Developer được hỏi... 06/06/2023

$GLOBALS có nghĩa là gì?

1 câu trả lời

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

Intern PHP Developer được hỏi... 06/06/2023

Cho ví dụ về SESSION ID?

1 câu trả lời

Một developer có kỹ năng sẽ biết session lưu gì, ở đâu và tất nhiên session id là cái gì.

Tùy vào thiết kế và môi trường cũng như level của bạn để thấy được session có thể được triển khai bằng file, database hoặc memory (APC, Memcached…) Bạn sẽ biết rằng, SESSION ID là một hash string có chiều dài 32 ký tự, ví dụ “q6galil87hnkafa65r7agnrno4”,....

Intern PHP Developer được hỏi... 06/06/2023

Sự khác nhau giữa unset() và unlink() trong PHP ?

1 câu trả lời

unset() dùng để set 1 biến thành undenfined.

unlink() dùng để xóa một tập tin được lưu trên máy chủ của bạn.

Intern PHP Developer được hỏi... 06/06/2023

Hàm ini_set() được dùng làm gì?

1 câu trả lời

PHP cho phép người dùng sửa đổi một số cài đặt được đề cập trong php.ini bằng cách sử dụng ini_set(). Hàm này yêu cầu hai đối số kiểu string. Đối số đầu tiên là tên của cài đặt sẽ được sửa đổi và đối số thứ hai là giá trị mới được gán cho nó.

Dòng mã dưới đây sẽ bật cài đặt display_error cho tập lệnh nếu nó bị tắt.

ini_set('display_errors', '1');

Chúng ta cần đặt câu lệnh trên ở đầu tập lệnh (script) để cài đặt vẫn được bật cho đến cuối. Ngoài ra, các giá trị được đặt qua ini_set() chỉ có thể áp dụng cho tập lệnh hiện tại. Sau đó, PHP sẽ bắt đầu sử dụng các giá trị ban đầu từ php.ini.

Intern PHP Developer được hỏi... 06/06/2023

Mục đích của tệp php.ini là gì?

1 câu trả lời

Tệp cấu hình PHP, php.ini, là cách cuối cùng và trực tiếp nhất để ảnh hưởng đến chức năng của PHP.

Tệp php.ini được đọc mỗi khi PHP được khởi tạo. Nói cách khác, bất cứ khi nào httpd được khởi động lại cho phiên bản module hoặc với mỗi lần thực thi tập lệnh cho phiên bản CGI.

Intern PHP Developer được hỏi... 06/06/2023

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

1 câu trả lời

Để có thể truyền một biến bằng tham chiếu, chúng ta sử dụng dấu & ở phía trước nó, như sau:

$var1 = &$var2

Đang xem 41 - 60 trong 82 câu hỏi phỏng vấn