Cara Bersedia Untuk Temuduga Laravel
Temuduga Laravel tahap Senior bukan sekadar menguji pengetahuan sintaks anda. Ia menguji keupayaan anda untuk mereka bentuk sistem yang boleh diskalakan (scalable) dan mengendalikan pertukaran (trade-offs) dalam dunia nyata.
Anda mesti melangkaui operasi CRUD asas. Anda perlu membuktikan bahawa anda boleh menghasilkan perisian pada skala besar.
Gunakan pelan pembelajaran ini berdasarkan masa yang anda ada.
- 1 hingga 2 hari: Fokus pada Request Lifecycle, masalah Eloquent N+1, Queues, Validation, dan Authorization.
- 3 hingga 5 hari: Tambah Caching, Database Transactions, Testing, dan API Design.
- 6 hingga 10 hari: Pelajari segalanya. Bina projek kecil menggunakan queues, events, jobs, dan policies.
Bidang Teknikal Utama Untuk Dikuasai:
The Service Container
Ketahui perbezaan antara ketiga-tiga ini:
• bind(): Mengembalikan instans baharu setiap kali.
• singleton(): Mengembalikan instans yang sama untuk keseluruhan proses.
• scoped(): Mengembalikan satu instans bagi setiap permintaan (request). Ini sangat penting untuk alatan seperti Laravel Octane.
Eloquent dan Databases
Berhenti menggunakan all() pada jadual yang besar. Gunakan chunk() atau lazyById() untuk menguruskan memori.
Fahami masalah N+1. Gunakan eager loading (with) untuk menyelesaikannya.
Ketahui bila perlu menggunakan Eloquent berbanding Query Builder. Gunakan Query Builder untuk pelaporan yang berat bagi mengelakkan beban (overhead) model.
Queues dan Background Processing Apa-apa sahaja yang perlahan atau tidak boleh dipercayai harus diletakkan dalam queue. Gunakan Redis untuk queue dalam persekitaran produksi. Gunakan Laravel Horizon untuk memantau worker dan job yang gagal. Apabila menghantar data ke dalam job, hantar ID dan bukannya objek model penuh untuk mengelakkan data lapuk (stale data).
Security dan Architecture
Jangan gunakan $request->all() untuk mass assignment. Gunakan $request->validated().
Fahami perbezaan antara Sanctum (untuk SPA dan token ringkas) dan Passport (untuk OAuth2 penuh).
Pastikan controller anda 'thin'. Pindahkan logik perniagaan ke dalam Services atau Actions.
The Senior Signal Seorang pembangun junior tahu cara menggunakan sesuatu alatan. Seorang pembangun senior tahu mengapa mereka memilih alatan tersebut berbanding yang lain.
Dalam temuduga anda, jangan sekadar memberi jawapan. Terangkan pertukaran (trade-offs) yang terlibat. Bandingkan kelebihan dan kekurangan pendekatan yang berbeza. Ini menunjukkan anda memahami kesan keputusan teknikal anda terhadap perniagaan.
Sumber: https://dev.to/nazar_boyko/how-to-prepare-for-a-laravel-interview-8dn
