Chat hỗ trợ
Chat ngay
Ngày đăng: 11/01/2022 | 392 lượt xem

Tổng hợp kiến thức lập trình khi đi phỏng vấn lập trình web PHP. Tất cả các kiến thức về web, mysql, php, laravel cơ bản đã được tổng kết lại trong bài viết này. Mời các bạn cùng tôi đi tìm hiểu !

Kiến thức phỏng vấn lập trình PHP

Kiến thức phỏng vấn lập trình PHP

1. Web

Web bao gồm web server, tên miền, cơ sở dữ liệu, mã nguồn

trong đó web server: VPS hoặc Share host

HTTPS chính là giao thức HTTP có sử dụng thêm các chứng chỉ SSL giúp mã hóa dữ liệu truyền tải nhằm gia bảo mật giữa Web sever đến các trình duyệt web

2. PHP

PHP là ngôn ngữ có thể chạy trên nhiều web server nên đây là lý do chọn, php phổ biến với việc làm web ( bên cạnh đó có thể là java, python, javascript)

Có 4 cách khai báo trong PHP
- <php ?>
- <script language="php"></script>
- <? ?> ( Cần phải setting trên hệ thống mới sử dụng được )
- <% %> ( Cần phải setting trên hệ thống mới sử dụng được )

Echo và Print là hai cách cơ bản để nhận output trong PHP.

Kiểu dữ liệu

Các kiểu dữ liệu khác nhau trong PHP là String, Float, Double, Integer, Boolean, Array, Object, NULL và Resource.

Câu lệnh include sẽ bao gồm các tệp đã chỉ định và đánh giá nó. Trong khi require cũng có tính năng tương tự nhưng nó tạo ra lỗi nghiêm trọng

Phương thức GET và POST

$_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.

Tuy nhiên tốc độ thực thi xử lý của Post chậm hơn Get.

Biến

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ị.

Mảng

Mảng chứa nhiều phần tử ( chuỗi, số, hoặc có thể là 1 mảng con )

Có 3 loại mảng: mảng tuần tự, mảng không tuần tự, mảng đa chiều.

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ó.

Để duyệt mảng ta có thể sử dụng bất cứ vòng lặp nào: for, while, foreach

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.

Gộp mảng: array_merge($array1, $array2, $array3,…)

Cookie và Session

COOKIE là một tập tin nhỏ được server nhúng vào máy tính của người dùng thu thập thông tin từ phía người dùng trên website này sẽ được sẽ gửi trả về server của website.

SESSION được hiểu là khoảng thời gian mà người sử dụng giao tiếp với 1 ứng dụng. SESSION được lưu trữ hoàn toàn trên server, do vậy tính bảo mật cao hơn cookie, các website hiện này thường dùng session để lưu thông tin của người dùng khi họ đăng nhập.

Toán tử

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.

$a++ được thực sau khi nó được gọi, còn ++$a được thực thi ngay khi nó được gọi

Mở rộng

Chuẩn hóa tiếng việt trong PHP: Sử dụng encoding utf-8 tại meta charset

Lập trình hướng đối tượng trong PHP

Lập trình hướng đối tượng là mô hình code giúp giảm tải thời gian gõ code, không phải gõ lại các đoạn code có chức năng giống nhau, có thể tái sử dụng cao extends, dễ chỉnh sửa fix lỗi

4 đặc tính của lập trình hướng đối tượng:

  • Tính đóng gói
  • Tính đa hình
  • Tính kế thừa
  • Tính trừu tượng

3. Laravel

Laravel là framework của php theo mô hình MVC

Authentication (xác thực) là phương phức của laravel xây dựng các tính năng: đăng nhập, đăng ký, chia role

Mặc định, Laravel sử dụng token để ngăn chặn CSRF.

Csrf: lệnh trái phép được thực hiện thay mặt cho người dùng đã được xác thực. Laravel giúp dễ dàng bảo vệ ứng dụng của bạn khỏi các cuộc tấn công giả mạo yêu cầu

Laravel sẽ bảo vệ chống lại tấn công SQL injection cả query builder và Eloquent

Truy vấn đền DB trong Laravel

  • Query Builder
  • Eloquent

Hạn chế của laravel

Nâng cấp version thì mã nguồn bị lỗi

4. API ( Application Programming interface )

Phương thức trung gian kết nối các ứng dụng và thư viện khác nhau.

Web API: Là hệ thống API được sử dụng trong các hệ thống website, chẳng hạn: Google, Facebook…
Hầu hết các website đều cung cấp hệ thống API cho phép bạn kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ liệu.

5. Truy vấn trong MySQL

- DROP để xóa các bảng

- DELETE để xóa các hàng trong bảng

- Một FOREIGN KEY là một khóa được sử dụng để liên kết hai bảng với nhau

- Để liên kết nhiều bảng sử dụng JOIN: Có 4 kiểu JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN

- Mệnh đề GROUP BY trong SQL được sử dụng kết hợp với lệnh SELECT để sắp xếp dữ liệu đồng nhất vào trong các nhóm,
GROUP BY theo sau mệnh đề WHERE trong một lệnh SELECT và ở trước mệnh đề ORDER BY.

- WHERE: Là câu lệnh điều kiện trả kết quả đối chiếu với từng dòng và đứng trước GROUP BY

- HAVING: Là câu lệnh điều kiện trả kết quả đối chiếu cho nhóm và đứng sau GROUP BY

- Hàm Count (*) trả về số lượng các dòng được chọn ở trong bảng

- Thêm 1 dữ liệu: Insert into table_name (column_name1, column_name2) values (‘value1’,  “value2”);

- Update 1 dữ liệu: Update table_name set column_name= ‘giá trị mới’ where column_name= ‘giá  trị’;

- Xóa 1 dữ liệu: Delete from table_name where column_name=’values’;

- Thêm cột: ALTER TABLE ten_bang ADD ten_cot dinh_nghia_cot;

- Sửa cột: ALTER TABLE ten_bang ALTER COLUMN ten_cot kieu_cot;

- Xóa cột: ALTER TABLE ten_bang DROP COLUMN ten_cot;

Tags: