TOP 39+ Câu hỏi phỏng vấn Laravel và trả lời chi tiết
Bạn sắp có buổi phỏng vấn lập trình web và cần tìm hiểu những câu hỏi phỏng vấn liên quan? Các câu hỏi phỏng vấn Laravel cùng câu trả lời chi tiết được ITNavi tổng hợp chính là chìa khóa giúp bạn trở thành ứng viên xuất sắc. Tận dụng kiến thức và kinh nghiệm phỏng vấn dưới đây để tự tin đối mặt với bất kỳ buổi phỏng vấn lập trình nào!
Các câu hỏi phỏng vấn Laravel fresher, junior
Nhóm câu hỏi phỏng vấn Laravel cơ bản phù hợp đánh giá các ứng viên chưa có nhiều kinh nghiệm. Các câu hỏi cơ bản này tập trung về khái niệm, định nghĩa và các lý thuyết về thuộc tính, thành phần, câu lệnh phổ biến trong Laravel.
1. Laravel là gì?
Laravel là một framework PHP mã nguồn mở được xây dựng trên nền tảng Symfony, cung cấp một bộ công cụ và thư viện mạnh mẽ để phát triển ứng dụng web bằng cách sử dụng mẫu kiến trúc MVC.
Laravel được phát hành theo giấy phép MIT nên source code của nó được lưu trữ trên GitHub. Đây là một khung PHP đáng tin cậy vì nó tuân theo các quy tắc ngôn ngữ chính xác.
2. Define composer là gì?
Nó là trình quản lý gói application-level cho PHP. Nó cung cấp một định dạng chuẩn để quản lý các thư viện và PHP software dependency.
3. Phần mềm trung gian HTTP là gì?
Phần mềm trung gian HTTP là một kỹ thuật để lọc các yêu cầu HTTP. Laravel bao gồm một phần mềm trung gian để kiểm tra xem người dùng ứng dụng có được xác thực hay không.
4. Các phương thức của trình tạo truy vấn có những loại nào?
Các phương thức của trình tạo truy vấn gồm:
- max()
- min()
- sum()
- avg()
- count()
5. Bundles là gì?
Bundles là các thư viện mã nguồn mở chứa các thành phần có thể tái sử dụng cho ứng dụng, được dùng để thêm chức năng của Laravel. Một Bundles có thể chứa route, controller, view, model, migration, và một số thành phần khác.
6. Thư mục nào được sử dụng phổ biến trong ứng dụng Laravel?
Các thư mục được sử dụng trong một ứng dụng Laravel là:
- App/: Thư mục nguồn chứa mã ứng dụng. Tất cả các bộ điều khiển, chính sách và mô hình đều nằm trong thư mục này.
- Config/: Chứa các tập tin cấu hình của ứng dụng. Chúng thường không được sửa đổi trực tiếp mà phụ thuộc vào các giá trị được thiết lập trong tệp .env (môi trường) ở thư mục gốc của ứng dụng.
- Database/: Chứa các tệp cơ sở dữ liệu, bao gồm migrations, seeds, and test factories.
- Public/: Thư mục có thể truy cập công khai, chứa các nội dung đã biên dịch và tệp index.php.
7. Bạn đã từng tìm hiểu về định tuyến ngược (reverse routing) trong Laravel chưa?
Định tuyến ngược là phương pháp tạo URL dựa trên ký hiệu hoặc tên. Nó làm cho ứng dụng Laravel trở nên linh hoạt hơn.
8. Contracts trong Laravel có gì đặc biệt?
Contracts là tập hợp các giao diện của khung Laravel. Những contracts này cung cấp các dịch vụ cốt lõi. Các contracts được xác định trong Laravel bao gồm việc triển khai framework tương ứng.
9. Bạn sẽ xác định Facades của Laravel ở đâu?
Tất cả các Facades của Laravel đều được định nghĩa trong namespace Illuminate\Support\Facades.
10. Phương thức get và post trong Larravel có gì khác nhau?
- Phương thức Get cho phép bạn gửi một lượng dữ liệu giới hạn trong tiêu đề (header)
- Post cho phép bạn gửi một lượng lớn dữ liệu trong phần body.
11. Bạn hãy cho biết cách để truyền nhiều biến từ controller sang blade?
Trong file view bạn có thể hiển thị bằng cú pháp {{ $variable }} hoặc {{ $variable }} hoặc {{ $variable }}
Ví dụ:
$variable = 'TOP';
$variable2 = 'Câu hỏi phỏng vấn Laravel';
$variable3 = 'mới nhất';
return view('frontend.index', compact('variable', 'variable2', 'variable3'));
12. Bạn truyền một tên bảng custom trong model bằng cách nào?
Ta truyền một tên bảng custom bằng cách truyền vào một biến protected $table = 'TÊN BẢNG'; trong Model.
Nếu không truyền biến $table thì Laravel sẽ mặc định theo quy tắc đặt tên là: Tên model + 's'
Ví dụ: Model là login thì tên bảng là logins.
13. Service container Laravel là gì?
Bộ chứa dịch vụ là một công cụ sử dụng mô hình dependency injection Laravel để cung cấp dịch vụ cho các thành phần của ứng dụng.
14. Bạn kích hoạt nhật ký truy vấn trong Laravel bằng cách nào?
Có thể sử dụng phương thức EnableQueryLog để kích hoạt nhật ký truy vấn trong Laravel.
15. Events (sự kiện) trong Laravel là gì?
Đây là câu hỏi phỏng vấn Laravel chắc chắn bạn sẽ gặp bởi vì khái niệm của nó rất khó để diễn đạt. Bạn có thể lấy ví dụ để dễ hình dung.
Events là một hành động giúp bạn đăng ký và lắng nghe các sự kiện xảy ra trong ứng dụng Laravel. Một số sự kiện được Laravel tự động kích hoạt khi có bất kỳ hoạt động nào xảy ra.
Ví dụ: “Hôm nay là thứ 6, trời thì đang mưa tầm tã đúng lúc bạn đi làm. Bạn quyết định viết mail xin nghỉ phép. Nhưng ngẫm lại một lúc vì tiếc phép nghỉ nên bạn lại đi làm.”
=> Vậy event ở đây chính là bạn đang buồn vì trời mưa to đúng lúc đi làm. Listener chính là việc bạn lắng nghe cái event buồn vì mưa lúc đi làm đó thế nào.
16. Liệt kê các loại relationships trong Laravel Eloquent
Các loại mối quan hệ trong Laravel Eloquent là:
- 1 - 1
- Một nhiều (1 - n)
- Nhiều nhiều (n - n)
- Có nhiều mối quan hệ
- Quan hệ đa hình
17. Cơ sở dữ liệu được hỗ trợ bởi Laravel có những loại nào?
Laravel hỗ trợ các cơ sở dữ liệu sau:
- PostgreSQL
- Máy chủ SQL
- SQLite
- MySQL
18. Lumen Laravel là gì?
Lumen là một micro-framework. Đây là phiên bản nhỏ hơn và nhanh hơn của Laravel, được thiết kế để phát triển các API REST và microservices.
19. PHP artisan là gì?
Một artisan PHP là một công cụ command-line của Laravel. Nó cung cấp các lệnh giúp bạn xây dựng ứng dụng Laravel mà không gặp rắc rối nào, phổ biến là các lệnh migrate, seed, make:model, make:controller, make:view, test, server,...
20. Để xử lý các exceptions thì cần dùng class nào?
Các ngoại lệ của Laravel được xử lý bởi lớp App\Exceptions\Handler.
Câu hỏi phỏng vấn Laravel nâng cao level middle, senior
Nhóm câu hỏi phỏng vấn Laravel phù hợp với trình độ middle, senior có trên 3 năm kinh nghiệm làm việc thực chiến trong các dự án PHP, sử dụng thường xuyên Laravel. Ngoài các kiến thức chuyên môn, nhà tuyển dụng sẽ hỏi sâu và có thể mở rộng thêm các câu hỏi về PHP hoặc một số framework liên quan.
1. Công dụng của hàm dd() là gì?
Hàm này được sử dụng để kết xuất (render) nội dung của một biến vào trình duyệt. Dạng đầy đủ của dd là Dump and Die.
2. Bạn hãy liệt kê các lệnh thủ công (artisan commands) phổ biến được sử dụng trong Laravel
Laravel hỗ trợ các lệnh thủ công (artisan commands) sau:
- PHP artisan down;
- PHP artisan up;
- PHP artisan make:controller;
- PHP artisan make:model;
- PHP artisan make:migration;
- PHP artisan make:middleware;
3. Phân biệt delete() và softDeletes().
- delete(): xóa tất cả bản ghi khỏi bảng cơ sở dữ liệu.
- softDeletes(): Được dùng để gắn cờ bất kỳ bản ghi nào đã bị xóa. Nó không xóa dữ liệu khỏi bảng
4. Bạn tạo tệp sitemap.xml real time trong Laravel bằng cách nào?
Có 2 phương pháp để tạo tệp sitemap.xml real time đó là dùng Artisan command với lệnh sitemap:generate cài thêm tham số --update. Hoặc dùng class Sitemap và thêm vòng lặp để tạo tệp sitemap.xml real time.
Có thể tạo tất cả các trang của website để cho công cụ tìm kiếm biết về cách tổ chức site content. Trình thu thập thông tin của công cụ tìm kiếm đọc tệp này để thu thập thông tin trang web.
5. Faker trong Laravel là gì?
Nó là một loại module hoặc gói được sử dụng để tạo fake data. Dữ liệu này có thể được sử dụng cho mục đích kiểm thử.
Faker cũng có thể được dùng để tạo:
- Numbers
- Addresses
- DateTime
- Payments
- Lorem text
6. Phân biệt hàm Insert() và InsertGetId() trong Laravel là gì?
- Insert(): Hàm này được sử dụng đơn giản để chèn một bản ghi (record) vào cơ sở dữ liệu. Không nhất thiết ID phải được tự động tăng.
- InsertGetId(): Hàm này cũng chèn một bản ghi vào bảng, nhưng nó được sử dụng khi trường ID tự động tăng.
7. @include trong Laravel là gì?
@include là một cách để nhúng một phần hoặc toàn bộ nội dung của view khác vào view hiện tại với nhiều tùy chọn. Người dùng cũng có thể tải nhiều tập tin trong một chế độ xem.
8. Cookie Laravel là gì?
Cookie là tệp nhỏ được gửi từ một trang web cụ thể và được trình duyệt của người dùng lưu trữ trên PC trong khi người dùng đang hoạt động trên trình duyệt.
9. Tệp nào được sử dụng để tạo kết nối với cơ sở dữ liệu?
Dùng tệp .env để tạo connection với database.
10. Giới hạn tốc độ API của Laravel là gì?
Đó là một tính năng của Laravel, cung cấp khả năng điều chỉnh số lượng yêu cầu API mà một người dùng có thể thực hiện trong một khoảng thời gian nhất định. Giới hạn tỷ lệ giúp các nhà phát triển Laravel phát triển một ứng dụng an toàn và ngăn chặn các cuộc tấn công DOS (từ chối dịch vụ).
11. Ajax trong Laravel là gì?
Ajax (Asynchronous JavaScript and XML) là một kỹ thuật phát triển web được sử dụng để tạo các ứng dụng Web không đồng bộ, cho phép chúng ta tương tác với máy chủ mà không cần tải lại trang. Trong Laravel, các hàm reply() và json() được sử dụng để tạo các ứng dụng web không đồng bộ (asynchronous web applications).
12. Response trong Laravel là gì?
Response Laravel là đối tượng đại diện cho phản hồi HTTP mà ứng dụng gửi đến trình duyệt của người dùng. Response được định nghĩa trong class Illuminate\Http\Response. Chúng ta có thể dùng đối tượng response để trả về phản hồi ở các định dạng như JSON, HTML, và file.
13. Thư mục bootstrap có tác dụng gì?
Nó được sử dụng để khởi tạo một dự án Laravel. Thư mục bootstrap này chứa tệp app.php chịu trách nhiệm khởi tạo framework.
14. Timeout mặc định của phiên là bao lâu?
Thời lượng timeout của session Laravel mặc định là 2 tiếng.
15. Robot.txt được đặt trong thư mục nào?
Tệp Robot.txt được đặt trong thư mục Public.
Câu hỏi tình huống phỏng vấn Laravel
Nhóm câu hỏi phỏng vấn Laravel thiên về các tình huống xảy ra khi làm việc với Laravel, PHP và các tình huống công sở khác. Nhà tuyển dụng sử dụng nhóm câu hỏi này đánh giá và thử thách ứng viên để chọn lọc những ứng viên ưu tú, phù hợp và có tiềm năng nhất.
1. Làm thế nào để khôi phục migration cuối cùng?
Sử dụng cần sử dụng lệnh thủ công (artisan command) để khôi phục migration cuối cùng.
2. Làm cách nào để chia sẻ data với views?
Để truyền dữ liệu tới tất cả các view trong Laravel, hãy dùng phương thức có tên share(). Phương thức này có hai đối số, key và value.
Nói chung, phương thức share() được gọi từ phương thức khởi động của nhà cung cấp dịch vụ ứng dụng Laravel. Nhà phát triển có thể sử dụng bất kỳ nhà cung cấp dịch vụ nào, AppServiceProvider hoặc nhà cung cấp dịch vụ của riêng.
3. Làm cách nào để tạo yêu cầu (request) trong Laravel?
Sử dụng lệnh thủ công sau trong Laravel để tạo yêu cầu:
php artisan make:request UploadFileRequest
Mở rộng câu hỏi phỏng vấn về framework PHP
Với framework PHP, ITNavi có tổng hợp chi tiết tại bài viết các câu hỏi phỏng vấn PHP. Hoặc có thể tìm hiểu theo các câu hỏi dưới đây:
- PHP có mấy cách khai báo?
- Những cách khai báo nào được xem là chính thống và ít ảnh hưởng tới các phiên bản update sau này?
- Mảng tuần tự là gì?
- Mảng tuần tự và bất tuần tự khác nhau thế nào?
- Để duyệt array chúng ta nên dùng vòng lặp nào?
- Bạn hãy giải thích tại sao vòng lặp for, while, do….while lại không ưu tiên sử dụng trong duyệt mảng?
- Có ý kiến cho rằng bản thân của session là cookie, điều đó đúng hay sai?
- Giả sử bạn là chủ của server, bạn làm thế nào để biết được các file session lưu ở đâu? Bạn có thể can thiệp hay chỉnh sửa file session này không ?
- …
Có thể tìm việc IT PHP ở đâu?
Laravel là một trong các framework PHP phổ biến, chính vì thế, bên cạnh các câu hỏi phỏng vấn Laravel, tuyển dụng lập trình PHP cũng được tìm kiếm rất nhiều.
ITNavi chính là nền tảng kết nối việc làm lập trình viên PHP với network nhà tuyển dụng lớn từ 100+ công ty công nghệ, sẽ giúp bạn tìm được công việc “hợp gu”, hợp ý từ thù lao cho đến chế độ đãi ngộ.
- Cập nhật liên tục việc làm PHP chất lượng từ các công ty công nghệ tại Việt Nam và toàn cầu.
- Tạo CV ấn tượng với MyCV.
- ~100% phản hồi nhanh chóng.
Truy cập itnavi.com.vn hoặc đăng kỳ form nhận thông báo việc làm IT mới nhất từ ITNavi.
Để chuẩn bị tốt cho các công việc lập trình PHP, Laravel, hãy đảm bảo bạn nắm vững các kiến thức nền tảng PHP, luyện tập tư duy giải thuật và tham gia các dự án website thương mại trên nền tảng PHP và Laravel framework.
Trên đây, ITNavi đã chia sẻ kinh nghiệm và các câu hỏi phỏng vấn Laravel được nhà tuyển dụng lựa chọn nhiều để đánh giá và sàng lọc ứng viên. Chúng tôi sẽ cập nhật liên tục các câu hỏi phỏng vấn mới và chi tiết hơn để hỗ trợ bạn tốt nhất trong quá trình phát triển sự nghiệp lập trình.
ITNavi - Nền tảng kết nối việc làm IT
Nguồn: TOP 39+ Câu hỏi phỏng vấn Laravel và trả lời chi tiết