Câu hỏi phỏng vấn Intern PHP Developer
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
Cho biết sự khác nhau giữa serialize và json_encode? Lý giải theo cách bạn hiểu?
↳
json_encode: là phương thức dùng để chuyển đổi một mảng(Array) hoặc Object thành string(chuỗi) dữ liệu JSON để sử dụng khi lưu trữ trong database, và để chuyển đổi ngược lại ta dùng json_decode để chuyển đổi một chuỗi dữ liệu JSON sang dạng mảng(Array) hoặc object để sử dụng trong code PHP.
serialize(array): là phương thức dùng để chuyển một mảng(Array) hoặc Object thành string(chuỗi) dữ liệu theo chuẩn của PHP để ta có thể lưu trữ hoặc truyền tải, khi muốn chuyển nó lại thành lại một mảng hoặc phương thức ta dùng phương thức unserialize().
Viết tắt của PHP có nghĩa là gì?
PHP giống với ngôn ngữ lập trình nào?
Website và web app có gì giống và khác?
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ó?
Có các cơ chế nào? Nói rõ các cơ chế. Private khác protected chỗ nào?
Ghi đè là gì ? Tác hại của việc ghi đè là gì ? Làm gì để khắc phục việc ghi đè ? Tầm vực của parent là bao nhiêu cấp ? Làm sao để chống việc ghi đè?
Session là gì?
Cookie là gì?
OOP là gì?
Đối tượng là gì?
Abstract khác gì interface?
Ưu điểm của OOP
Thế nào là một session trong PHP?
Giải thích sự khác nhau giữa PHP4 và PHP5
Ai là cha đẻ của PHP?
Kể tên các hệ thống quản lý nội dung (CMS) sử dụng PHP phổ biến nhất
Cho biết sự khác nhau giữa “echo” và “print” trong PHP
Sự khác nhau giữ biến và hằng, Nêu 1 hằng được định nghĩa 2 lần thì sẽ như thế nào ?
Khi tắt cookie trên trình duyệt thì có ảnh hưởng tới session không