Django

Django & GraphQL

GraphQL dengan Django, Strawberry/Graphene, schema, queries, mutations, subscriptions, autentikasi, DataLoader, masalah N+1

24 pertanyaan wawancara·
Senior
1

Apa itu GraphQL dan apa perbedaan utamanya dengan REST?

Jawaban

GraphQL adalah bahasa query untuk API yang dikembangkan oleh Facebook. Berbeda dengan REST yang mengekspos banyak endpoint yang mengembalikan struktur data tetap, GraphQL menggunakan satu endpoint yang memungkinkan klien menentukan secara tepat data yang dibutuhkannya. Ini mengatasi masalah over-fetching (menerima terlalu banyak data) dan under-fetching (harus membuat beberapa permintaan) yang umum pada REST.

2

Apa dua library GraphQL utama yang tersedia untuk Django?

Jawaban

Strawberry dan Graphene-Django adalah dua library GraphQL utama untuk Django. Graphene-Django lebih matang dan banyak diadopsi, menggunakan sintaks berbasis kelas. Strawberry lebih modern, menggunakan type hints Python native dan menawarkan integrasi yang lebih baik dengan alat typing. Strawberry direkomendasikan untuk proyek baru karena sintaksnya yang lebih pythonic dan dukungan async native.

3

Bagaimana cara mendefinisikan tipe GraphQL sederhana dengan Strawberry untuk merepresentasikan model User Django?

Jawaban

Dengan Strawberry, dekorator @strawberry.type digunakan pada kelas dataclass untuk mendefinisikan tipe GraphQL. Field dideklarasikan dengan type hints Python standar (str, int, dll.). Pendekatan ini memanfaatkan sistem typing native Python, membuat kode lebih mudah dibaca dan memungkinkan integrasi yang lebih baik dengan IDE dan alat pemeriksaan tipe seperti mypy.

4

Apa itu resolver dalam GraphQL dan apa perannya?

5

Apa perbedaan antara Query dan Mutation dalam GraphQL?

+21 pertanyaan wawancara

Kuasai Django untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis