Home > phỏng vấn IT > php

Top câu hỏi phỏng vấn PHP cơ bản khi đi xin việc

Top câu hỏi phỏng vấn PHP cơ bản khi đi xin việc

Chào mọi người! Trong serise này mình xin chia sẻ các câu hỏi phỏng vấn PHP cơ bản giành cho các bạn thực tập sinh hoặc có thể là người đã có kinh nghiệm trong ngành rồi nhé. Tài liệu này được biên soạn từ thực tế của mình và tổng hợp thêm từ nhiều nguồn khác nhau. Trong quá trình soạn bài viết này sẽ có những sai sót mong các bạn đóng góp, phản hổi đề tài liệu này được cập nhật phiên bản tốt hơn.

1. PHP là gì?

2. Apache, MySQL, Linux là gì ?

3. PHP hoạt động như thế nào ?

4. Cài đặt XAMPP

5. Cài đặt PHP Storm

6. Chạy Hello World trên PHP Storm?

7. PHP script có thể đặt được ở đâu ?

8. Dấu hiệu nhận biết PHP script ?

9. 1 file PHP thường chứa những gì trong đó ?

10. built-in PHP function “echo” dùng để làm gì ?

11. Có những cách comment nào trong PHP ?

12. Cách sử dụng TODO, FIXME?

13. Cần chú ý gì về comment trong dự án thực tế ?

13. Trong PHP có câu lệnh khai báo biến không ? Dùng biến mà chưa gán giá trị cho biến thì thế nào ?

14. Tên biến trong PHP có phải là case-sensitive hay không ?

15. Có thể viết biến vào dữ liệu kiểu chuỗi không?

16. Cách nối chuỗi với biến ?

16. 3 phạm vi (Scope) của biến PHP là gì ?

17. Đặc điểm của biến có GLOBAL SCOPE ?

18. Đặc điểm của biến có LOCAL SCOPE ?

19. Có thể dùng 1 tên biến ở nhiều hàm được không ?

20. global keyword có tác dụng gì, cách dùng như thế nào ?

21. static keyword có tác dụng gì, cách dùng như thế nào ?

22. Tham trị (assign by value) là gì ?

23. Tham chiếu ( assign by reference) là gì ?

23. Constants là gì ?

24. Cú pháp tạo Constant ? Muốn tạo 1 constant mà tên không biệt hoa thường thì làm thế nào ?

25. Có thể tạo 1 Array constant không ?

26. Constants có scope như thế nào ?

27. Sự khác nhau giữa kiểu khai báo sử dụng hàm define() và từ khóa const?

28. Magic constants là gì?

29. Nêu 1 vài tác dụng của Magic constants?

30. Điểm giống và khác nhau của echo() và print() ?

31. Cả echo() và print() đều có thể in biến, text, text chứa HTML markup có phải không ?

32. Hàm printf() có tác dụng gì và cách sử dụng ?

33. Hàm sprintf() có tác dụng gì và cách sử dụng ?

34. Hàm var_dump() có tác dụng gì và cách sử dụng ?

35. Khi nào ta dùng single quotes hoặc double quotes cho kiểu String ?

36. Đặc điểm của kiểu Integer, Float?

37. Kiểu Array có thể chứa các phần tử có Type khác nhau không ?

38. Kiểu Object có đặc điểm gì ?

39. NULL là gì ?

40. Cách ép kiểu cho các Data Types và cách kiểm tra 1 biến liệu có phải thuộc Type muốn kiểm tra không?

41. Khi ép kiểu Float hoặc String sang kiểu Integer thì cần chú ý điều gì ?

42. Cần chú ý gì về việc PHP cung cấp chuyển đổi dữ liệu kiểu tự động ?

43. Nắm rõ các hàm strlen(), str_word_count(), strrev(), strpos(), str_replace()?

43. Tác dụng của dấu backslash ?

44. Cách sử dụng PHP Heredoc, PHP Nowdoc ?

45. “\n” có tác dụng gì ?

46. Tất cả các hàm như str_replace() , strrev() .. có làm thay đổi được String ban đầu không (Strings are immutable) ?

47. Infinity là gì, cách kiểm tra 1 số có phải là Infinity không ?

48. PHP NaN là gì, cách kiểm tra NaN ? Hiểu gì về 1 số hàm : round(), sqrt(), abs(), rand()?

48. Arithmetic operators, Assignment operators, Comparison Operators, Increment / Decrement Operators, Logical Operators, String Operators, Array Operators là gì?

49. Biết cách sử dụng toán tử Ternary và Null coalescing?

50. Đoản mạch trong lập trình và cách ứng dụng?

50. Nắm rõ cú pháp if, if…else, if…elseif…else

51. Sử dụng được if else lồng nhau

52. Giải thích cách hoạt động của if…elseif…else Statement

53. Cú pháp của PHP Switch

54. Giải thích cách hoạt động của PHP Switch

55. Ý nghĩa của break Keyword, default Keyword ? Nếu bỏ chúng đi thì chuyện gì xảy ra ?

56. default có thể đẩy lên đầu switch block được không ?

57. Cách gộp các case có code xử lý giống nhau ?

58. Cách hoạt động của While Loop, Do/While Loop và sự khác nhau giữa chúng

59. Cú pháp của For Loop, ý nghĩa của statement 1 (init counter); statement 2 (test counter); statement 3 (increment counter) 3. statement 1 của For Loop có thể là nhiều câu lệnh không ?

60. statement 1 hoặc statement 2 hoặc statement 3 có thể bỏ trống được không ?

61. Vòng lặp vô tận xảy ra khi nào ? Liên hệ thực tế?

62. Cách sử dụng Break và Continue trong vòng lặp?

63. Cú pháp tạo hàm trong PHP, tên hàm trong PHP có phân biệt hoa thường không

64. parameters là gì, arguments là gì ?

65. Có nên khai báo 1 hàm với nhiều parameters không ?

66. Giải thích tại sao “PHP is a Loosely Typed Language”

67. Cách sử dụng strict ?

68. Cách sử dụng Default Argument

69. Nếu gọi 1 hàm mà quên “()” sau hàm thì chuyện gì xảy ra ?

70. Khi nào hàm trả về giá trị và khi nào không ?

71. Cách sử dụng Return Type Declarations

72. Hàm trong PHP truyền tham số theo giá trị hay theo tham chiếu, cách truyền theo tham chiếu ?

73. Tại sao lại sử dụng hàm?

74. Hàm đệ quy là gì ?

75. 2 cách khai báo Indexed Arrays là gì ?

76. In ra màn hình các phần tử của Indexed Arrays

77. Associative Arrays là gì ?

78. Dùng foreach duyệt các phần tử của Associative Arrays và in ra màn hình

79. Multidimensional Arrays là gì ?

80. Dùng for lồng để duyệt các phần tử của Multidimensional Arrays và in ra màn hình

81. Nắm rõ cách hoạt động của các hàm Sort của Arrays: sort(), rsort(), asort(), ksort(), arsort(), krsort() 8. Cách thêm, xóa 1 hoặc nhiều phần tử của 1 mảng

82. Cách tìm kiếm trong 1 mảng

83. Cách cắt mảng, cách gộp mảng và có thể xảy ra chuyện gì khi gộp 2 Associative Arrays có trùng key, cách combine 2 mảng ?

84. Hiểu được 1 số hàm hữu ích để thao tác với mảng array_keys(), array_values(), array_flip(), array_rand()…

85. Hiểu được khái niệm superglobal variable và các biến superglobal hay dùng: $_POST, $_GET, $_REQUEST, $_SESSION, $_COOKIE, $_SERVER, $_ENV ?

86. Nêu 3 ví dụ về việc sử dụng các biến superglobal ?

87. Regular Expression là gì, dùng để làm gì ?

88. Cú pháp của Regular Expression ?

89. Sử dụng preg_match(), preg_match_all(), preg_replace() với Regular Expression ?

90. Nắm rõ ý nghĩa của các Modifiers i, g

91. Cách sử dụng các Patterns [abc], [0-9], \d, \s, n+

92. $_POST[“name”], $_POST[“email”], $_GET[“name”], $_GET[“email”] dùng để làm gì ?

93. Có cần thiết phải xử lý security cho PHP form không ?

94. HTTP là gì ?

95. Cách hoạt động của HTTP?

96. 2 phương thức GET, POST dùng để làm gì ?

97. So sánh 2 phương thức GET, POST?

98. Cách mà Server sẽ nhận dữ liệu của phương thức GET, POST

99. Khi nào dùng hàm isset() và empty() trong php ?

100. Tại sao cần có validation cho form data

101. Các Validation Rules cơ bản cho Name, E-mail, Website, Comment, Gender

102. htmlspecialchars() function có tác dụng gì ?

103. action=”<?php echo htmlspecialchars($_SERVER[“PHP_SELF”]);?>” có ý nghĩa gì ?

104. $_SERVER[“PHP_SELF”] có thể bị khai thác cho Cross Site Scripting (XSS) như thế nào ? Cách phòng tránh ?

105. Các bước Validate Form Data With PHP ?

106. Cách validate trường name chỉ bao gồm letters, dashes, apostrophes và whitespaces?

107. Cách validate E-mail, E-mail (option)?

108. Cú pháp hàm Date(), tham số nào là bắt buộc, tham số nào là option? Lấy ngày hiện tại với format năm/tháng/ngày giờ (24):phút:giây?

109. Cách tạo Date với mktime()? Cách in ra năm/tháng/ngày của 7 ngày chủ nhật sắp tới? Cách in ra ngày sau 10 ngày so với ngày hiện tại? Tính số ngày từ ngày hiện tại đến ngày cuối tháng?

110. include (hoặc require) có tác dụng gì ? require và include giống và khác nhau ở chỗ nào ? Nên dùng require hay include? Including files giúp chúng ta tiết kiệm effort như thế nào? Cách include footer, menu? Nếu 1 file mà được include hoặc require nhiều lần thì chuyện gì xảy ra? include_once, require_once có tác dụng gì ?

111.Cần chú ý điều gì về Manipulating Files Cách đọc 1 file?

112. Ý nghĩa của parameter 1 và parameter 2 của hàm fopen() ? Ý nghĩa của mode r, r+, a+? Câu lệnh or die(“Unable to open file!”) có tác dụng gì ? Ý nghĩa của parameter 1 và parameter 2 của hàm fread() ? Tại sao lại dùng hàm fclose() ? Cách đọc từng dòng, từng ký tự trong file. Cách check đã kết thúc file chưa ?

113. Cách tạo file, File Permissions là gì ? Cách ghi file đè lên nội dung của file ? Cách ghi file nối tiếp nội dung của file ?

114. Làm sao để PHP cho phép file uploads? Các rules để file upload có thể work? $_FILES[“fileToUpload”][“name”] có tác dụng gì? Tác dụng của hàm basename()? Cách hoạt động của hàm pathinfo()? getimagesize() dùng để làm gì? move_uploaded_file() hoạt động như thế nào? $_FILES khi var_dump có cấu trúc dạng như thế nào? Khi upload file thì file được lưu vào 1 thư mục tạm trước (sẽ bị xóa sau 1 khoảng thời gian) hay được upload thẳng lên nơi mà code của mình chỉ định? Cách xử lý upload nhiều file 1 lúc?

115. Cookie là gì, cơ chế hoạt động của Cookie ? Cú pháp của hàm setcookie(), parameter nào là bắt buộc phải có? Vị trí của hàm setcookie()? Cách lấy dữ liệu từ cookie? Cách xóa MỘT cookie, time() – 3600 có ý nghĩa gì ? Cách xóa toàn bộ cookies?

116. Session là gì ? Session có đặc điểm gì, khác với Cookie ở điểm nào? Cách bắt đầu 1 session và set giá trị cho Session variables? Vị trí của hàm session_start()? Cách Get PHP Session Variable Values? Cách Modify a PHP Session Variable? Destroy a PHP Session?

117. Callback Functions là gì, cách sử dụng Callback Functions? Cách dùng anonymous function như callback function? Callbacks in User Defined Functions?

118. JSON là gì, được dùng làm gì, những ngôn ngữ lập trình nào sử dụng nó? Cách sử dụng json_encode(), json_decode()? Cách để json_decode() cho ra object, associative arrays? PHP – Accessing the Decoded Values? PHP – Looping Through the Values?

bbugtea

bbugtea

Là người yêu thích, tìm hiểu quy trình gia công hệ thống phần mền website. Câu tục ngữ yêu thích nhất: "CÓ CÔNG MÀI SẮT CÓ NGÀY NÊN KIM".

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *