Design Pattern là các thiết kế mẫu ở tầng kiến trúc, hoặc là các giải pháp ở dạng tổng quát, tuy nhiên chúng đã được trải qua các quá trình kiểm tra, thực nghiệm, hiện thực hóa, và được công nhận là hiệu quả.
Việc áp dụng design Pattern sẽ mang lại rất nhiều lợi ích, tính hiệu quả cao, tránh được nhiều vấn đề tiềm ẩn, dễ áp dụng, dễ nâng cấp, bảo trì... Ví dụ đơn giản trong thực tế thế này khi ta muốn đi xin việc ta thường dùng một sỗ mẫu đơn, CV, để điền thông tin vào, việc này giúp ta tiết kiệm được rất nhiều thời gian công sức để tạo thiết một mẫu mới, và tránh được việc gửi thiếu thông tin cho nhà tuyển dụng.
Ngoài ra Design Pattern được xem là bộ môn thuộc về chuyên ngành khoa học máy tính chuyên nghiên cứu về các kiến trúc phần mềm.
Design Pattern sử dụng nền tảng của lập trình hướng đối tượng, áp dụng các tính chất như tính kế thừa, khởi tạo, đa hình,... để làm nên những kiến trúc phần mềm đáp ứng cho project hay Framwork.
Hiện nay hầu như tất cả các Framwork như Codeigniter, Zend, Laravel,... đều có sử dụng những kiến trúc design pattern có sẵn hoặc mỗi Framwork sẽ có những kiểu thiết kế partern riêng, ví dụ mô hình cấu trúc MVC phổ biến trong PHP là một dạng của Design Pattern.
Bạn có thể xem thêm các câu hỏi phong vấn PHP khác tại bài viết Tổng hợp các câu hỏi có thể gặp khi đi phỏng vấn vị trí lập trình viên PHP (kèm theo phần trả lời). Nếu các bạn có thêm bất kỳ câu hỏi khác đã gặp trong quá trình phỏng vấn PHP thì chia sẻ với mình nhé, còn nếu câu trả lời của mình không hay thì cũng giúp mình biên soạn bổ sung và comment giúp dưới đây nhé để mình update thêm.
Việc áp dụng design Pattern sẽ mang lại rất nhiều lợi ích, tính hiệu quả cao, tránh được nhiều vấn đề tiềm ẩn, dễ áp dụng, dễ nâng cấp, bảo trì... Ví dụ đơn giản trong thực tế thế này khi ta muốn đi xin việc ta thường dùng một sỗ mẫu đơn, CV, để điền thông tin vào, việc này giúp ta tiết kiệm được rất nhiều thời gian công sức để tạo thiết một mẫu mới, và tránh được việc gửi thiếu thông tin cho nhà tuyển dụng.
Ngoài ra Design Pattern được xem là bộ môn thuộc về chuyên ngành khoa học máy tính chuyên nghiên cứu về các kiến trúc phần mềm.
Design Pattern sử dụng nền tảng của lập trình hướng đối tượng, áp dụng các tính chất như tính kế thừa, khởi tạo, đa hình,... để làm nên những kiến trúc phần mềm đáp ứng cho project hay Framwork.
Hiện nay hầu như tất cả các Framwork như Codeigniter, Zend, Laravel,... đều có sử dụng những kiến trúc design pattern có sẵn hoặc mỗi Framwork sẽ có những kiểu thiết kế partern riêng, ví dụ mô hình cấu trúc MVC phổ biến trong PHP là một dạng của Design Pattern.
Bạn có thể xem thêm các câu hỏi phong vấn PHP khác tại bài viết Tổng hợp các câu hỏi có thể gặp khi đi phỏng vấn vị trí lập trình viên PHP (kèm theo phần trả lời). Nếu các bạn có thêm bất kỳ câu hỏi khác đã gặp trong quá trình phỏng vấn PHP thì chia sẻ với mình nhé, còn nếu câu trả lời của mình không hay thì cũng giúp mình biên soạn bổ sung và comment giúp dưới đây nhé để mình update thêm.
- PHP là gì?
- PHP có mấy cách khai báo? Những cách nào được xem là chính thống và không ảnh hưởng khi các phiên bản update sau này?
- 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?
- PHP Có bao nhiêu biến môi trường? Biến $_REQUEST có thể nhận được giá trị từ FORM không?
- Phân biệt $_POST và $_GET trong php.
- Mảng là gì? Có mấy loại mảng trong PHP?
- 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?.
- Để 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 để gộp mảng ta dùng hàm gì? Để tách mảng ta dùng hàm gì?
- Cho biết sự khác nhau giữa serialize và json_encode? Lý giải theo cách bạn hiểu.
- Cookie và session có gì khác nhau? Người ta nói bản thân của session là cookie là đúng hay sai?
- Theo bạn, sự khác nhau của toán tử & và && trong PHP là gì?. [câu trả lời ngắn khi phỏng vấn lập trình php]
- Hãy cho biết $a++ và ++$a khác nhau ở đâu? [câu trả lời ngắn khi phỏng vấn lập trình php]
- Tính nhanh kết quả của đoạn code sau trong 2 phút. [câu trả lời ngắn khi phỏng vấn lập trình php]
- 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âu trả lời ngắn khi phỏng vấn lập trình php]
- Muốn chuẩn hóa dữ liệu về utf-8 trong PHP ta phải làm gì?. [câu trả lời ngắn khi phỏng vấn lập trình php]
- Trong PHP làm sao lấy được id vừa tiến hành thêm vào CSDL ngay?.
- Để đếm số dòng, ta nên dùng mysql_num_rows() trên câu truy vấn “select * from….” hay count trực tiếp trong câu truy vấn?.
- Việc enter có giá trị hay không trong textarea bình thường (không nhúng khung soạn thảo)? Và làm thế nào để có thể hiển thị ra bên ngoài thao tác xuống dòng như bình thường.
- fgets() và fgetc() khác nhau như thế nào?.
- fgets() và fread() khác nhau ra sao?.
- feof là gì, nó có ý nghĩa như thế nào?.
- file_get_contents() khác gì so với fread()?.
- Từ khóa Final có chức năng gì trong OOP.? Vì sao phải dùng nó?
- Sự khác nhau giữa __construct() và __ destruct() là gì ?. Nêu ví dụ về sự khác nhau đó.
- Có bao nhiêu toán tử trong PHP?.
- Bạn hiểu thế nào abstract và thế nào là interface?. Vì sao Interface có nhiều thế mạnh hơn so với abstract?. Chức năng chính của chúng là gì?.
- Nêu sự khác nhau của biểu thức if...else và switch?. Nêu những trường hợp nào thì dùng switch, những trường hợp nào thì dùng if...else.
- Phương pháp tấn công Local Attack là gì?
- Làm thế nào để ngăn chặn Local Attack?
- Sql Injection là gì?
- Cách phòng chống Sql Injection?
- XSS Attack là gì?
- Cách phòng chống XSS?
- HTML và XHTML khác nhau như thế nào?.
- XML là gì?
- XML là cú pháp ra sao ?.
- XML Namespace là gì?
- Để làm việc với XML trong PHP 5 có bao nhiêu phương pháp ?. Nêu diễn giải từng phương pháp.
- Nêu những ưu điểm của simpleXML?.
- Dùng xpath trong simpleXML lấy thông tin như thế nào?.
- Design pattern trong lập trình hướng đối tượng OOP là gì?
- Trong lập trình hướng đối tượng có bao nhiêu design pattern?
- Bạn hiểu thế nào về kiến trúc MVC?.
- Bạn hiểu gì về XSLT, Xlink, Xpoint, Xpath?.
- Cơ chế tạo template trong XSL như thế nào?.
No comments:
Post a Comment