[Series Phỏng Vấn Chân Kinh] Kì 1: PHP Developers – Những Kẻ Mê Voi Xanh
Series kì này là những câu hỏi phỏng vấn thường gặp nhất, hoặc khó nhai nhất, dành để thử thách dân lập trình PHP – những kẻ mê hình ảnh con voi xanh đến điên đảo. Tháng 1-2017, topITworks khởi động chuỗi bài viết “Series Phỏng Vấn Chân Kinh” qua việc tổng hợp những ...
Series kì này là những câu hỏi phỏng vấn thường gặp nhất, hoặc khó nhai nhất, dành để thử thách dân lập trình PHP – những kẻ mê hình ảnh con voi xanh đến điên đảo.
Tháng 1-2017, topITworks khởi động chuỗi bài viết “Series Phỏng Vấn Chân Kinh” qua việc tổng hợp những câu hỏi phỏng vấn thường gặp nhất (hoặc khó giải quyết nhất) dành cho các vị trí trong ngành lập trình. Nội dung bài viết mỗi kì là những thử thách, những tình huống thực tế đặt ra kèm theo giải pháp (nếu có).
Tài liệu này bạn có thể dùng để tham khảo, trước khi đi phỏng vấn, hoặc nếu bạn đang là người đứng ra phỏng vấn ai đó, thì những thử thách (tưởng là) nhỏ này cũng đủ khiến ứng viên “run nhẹ” đấy!
Chân kinh này giúp ích cho công việc của bạn? SHARE nhé!
Có câu trả lời nào bạn thấy chưa chính xác? COMMENT, chúng tôi sẽ chỉnh sửa.
Bạn biết đáp án cho những câu hỏi còn thiếu? COMMENT, chúng tôi sẽ bổ sung.
Thường thôi, và bạn còn nhiều câu hỏi hấp dẫn hơn thế này? COMMENT, chúng tôi sẽ thêm vào.
Việc của bạn là share và comment, TRAO QUÀ để topITworks lo!
THỬ THÁCH 1: Phân biệt sự khác nhau giữa $_POST và $_GET:
$_GET : gửi dữ liệu lên server thông qua URL, thông tin hiển thị lên url, kích thước url giới hạn
$_POST : gửi dữ liệu lên server dưới dạng ẩn, không hiển thị param lên url, dữ liệu không giới hạn.
– Get thực thi nhanh hơn Post vì cơ chế:
+ Get : đưa chuỗi string lên URL, server tách chuỗi lấy được tham số
+ Post : các tham số được đóng gói vào 1 file tạm, sau đó trình duyệt gửi file tạm đó lên server và server lưu lại file tạm đó sau đó mới phân tích
THỬ THÁCH 2: Cookie và session có gì khác nhau ? Người ta nói bản thân của session là cookie, điều đó đúng hay sai ?
– Cookie lưu ở client trên browser
– Session : lưu trên server và đồng thời ở client cũng có 1 cookie sinh ra tương ứng đúng như session id của nó trên server : PHPSESSID, các giá trị biến của session đc lưu trong file đó (dùng để quản lý đăng nhập)
THỬ THÁCH 3: Tính đóng gói là gì ? Nói rõ các cơ chế. Private khác protected chỗ nào ?
Tính đóng gói là tính chất không cho phép người dùng hay đối tượng khác thay đổi dữ liệu thành viên của đối tượng nội tại. Chỉ có các hàm thành viên của đối tượng đó mới có quyền thay đổi trạng thái nội tại của nó mà thôi. Các đối tượng khác muốn thay đổi thuộc tính thành viên của đối tượng nội tại, thì chúng cần truyền thông điệp cho đối tượng, và việc quyết định thay đổi hay không vẫn do đối tượng nội tại quyết định.
Có 3 cơ chế: Public, private, protected.
– Public: cho phép truy cập và sử dụng ở phạm vi trong class và ngoài class.
– Protected: cho phép truy cập các phương thức và thuộc tính trong class, có hỗ trợ sự kế thừa.
– Private: giống private, nhưng không cho phép kế thừa.
THỬ THÁCH 4: Abstract – Interface là gì ?
– Lớp abstract cũng gần giống như interface, ngoại trừ nó có thể chứa phương thức và thuộc tính thông thường. Trong lớp asbtract chứa các phương thức asbtract chúng cũng rỗng giống như phương thức trong interface, vậy nên khi một lớp kế thừa từ lớp asbtract thì bắt buộc phải định nghĩa phương thức đã khai báo ở lớp abstract. Một lớp abstract khi sử dụng cũng như kế thừa bạn khai báo với từ khóa extends
– Interface là một lớp rỗng chỉ chứa khai báo về tên phương thức không có khai báo về thuộc tính hay thứ gì khác và các phương thức này cũng là rỗng. Bởi vậy bất kỳ lớp nào sử dụng lớp interface đều phải định nghĩa các phương thức đã khai báo ở lớp interface, nếu cố tình không khai báo thì PHP sẽ báo lỗi, để sử dụng lớp interface bạn chỉ việc khai báo với từ khóa implements và một lớp có thể sử dụng nhiều interface cũng như vừa có thể kế thừa từ lớp khác và đồng thời sử dụng interface
THỬ THÁCH 5: Hằng và biến trong PHP
Biến:
+ Trong PHP biến được ký hiệu bởi dấu ” $ ” đi sau là các ký tự bao gồm các chữ cái thường (a – z) in hoa (A – Z) và các chữ số (0 – 9) và dấu ” gạch dưới ” ( _ ) .
+ Biến bắt đầu bằng dấu ” $ ” sau đó là các ký tự chữ cái hoặc dấu gạch dưới
+ Biến không được viết cách, không được bắt đầu bằng chữ số
Hằng:
Trong PHP có hai loại hằng, hằng có sẵn trong PHP và hằng do chúng ta tự định nghĩa
+ Hằng có sẵn trong PHP, ví dụ như PHP_VERSION, TRUE, FALSE
+ Hằng do chúng ta định nghĩa, để định nghĩa hằng chúng ta dùng cấu trúc sau: define(“NAME”,”MYNAME”);
THỬ THÁCH 6: Cho biết sự khác nhau giữa serialize và json_encode?
<comment ngay, nếu bạn biết câu trả lời>
THỬ THÁCH 7: Giả sử bạn là chủ của server, làm thế nào có thể biết được các file session lưu ở đâu ? Bạn có thể can thiệp, chỉnh sửa file session này hay không ?
<comment ngay, nếu bạn biết câu trả lời>
THỬ THÁCH 8: Theo bạn, sự khác nhau của toán tử & và && là gì?
<comment ngay, nếu bạn biết câu trả lời>
THỬ THÁCH 9: 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ó.
<comment ngay, nếu bạn biết câu trả lời>
THỬ THÁCH 10: Nhấn 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.
<comment ngay, nếu bạn biết câu trả lời>
THỬ THÁCH… N: Tiếp tục được cập nhật
<Nếu bạn có câu hỏi hấp dẫn, comment và thử thách các coder khác xem sao. topITworks sẽ gửi một phần quà độc quyền dành cho những câu hỏi thú vị nhất>
Techtalk via topitworks