
Django & GraphQL
Djangoを使ったGraphQL、Strawberry/Graphene、schema、queries、mutations、subscriptions、認証、DataLoader、N+1問題
24 面接問題·
Senior
1GraphQLとは何ですか、そしてRESTとの主な違いは何ですか?
1
GraphQLとは何ですか、そしてRESTとの主な違いは何ですか?
回答
GraphQLはFacebookが開発したAPI向けのクエリ言語です。固定されたデータ構造を返す複数のendpointを公開するRESTとは異なり、GraphQLは単一のendpointを使用し、クライアントが必要なデータを正確に指定できるようにします。これにより、RESTでよく見られるover-fetching(過剰なデータの受信)やunder-fetching(複数のリクエストを行う必要があること)の問題が解決されます。
2Django向けに利用できる2つの主要なGraphQLライブラリは何ですか?
2
Django向けに利用できる2つの主要なGraphQLライブラリは何ですか?
回答
StrawberryとGraphene-DjangoがDjango向けの2つの主要なGraphQLライブラリです。Graphene-Djangoはより成熟しており広く採用されていて、クラスベースの構文を使用します。Strawberryはより現代的で、ネイティブのPython type hintsを使用し、型付けツールとの統合に優れています。Strawberryはよりpythonicな構文とネイティブのasyncサポートにより、新規プロジェクトに推奨されます。
3DjangoのUserモデルを表現するために、Strawberryで単純なGraphQL型を定義するにはどうすればよいですか?
3
DjangoのUserモデルを表現するために、Strawberryで単純なGraphQL型を定義するにはどうすればよいですか?
回答
Strawberryでは、@strawberry.typeデコレータをdataclassのクラスに使用してGraphQL型を定義します。フィールドは標準的なPythonのtype hints(str、intなど)で宣言されます。このアプローチはPythonのネイティブな型システムを活用し、コードをより読みやすくし、IDEやmypyのような型チェックツールとの統合を向上させます。
4
GraphQLにおけるresolverとは何ですか、そしてその役割は何ですか?
5
GraphQLにおけるQueryとMutationの違いは何ですか?
+21 面接問題
その他のDjango面接トピック
Pythonの基礎
Junior
25問Python オブジェクト指向
Junior
20問Django の基礎
Junior
20問Django Models - 基礎
Junior
22問Django ビュー
Junior
20問Django テンプレート
Junior
18問Django フォーム
Mid-Level
22問高度なQuerySet
Mid-Level
25問Django 認証
Mid-Level
22問Django ミドルウェア
Mid-Level
18問Django Admin
Mid-Level
20問Django REST Framework
Mid-Level
30問Django シグナル
Mid-Level
18問ファイルアップロード
Mid-Level
20問Django キャッシュ
Mid-Level
20問Django セッション
Mid-Level
18問Django のメール
Mid-Level
18問Django のテスト
Mid-Level
22問Django のセキュリティ
Mid-Level
22問Django のデプロイ
Mid-Level
24問Django ORM 上級
Senior
28問Django のパフォーマンス
Senior
24問Django & Celery
Senior
22問Django Channels
Senior
24問Django & Docker
Senior
20問マイクロサービスエコシステムにおけるDjango
Senior
24問カスタムDjangoコマンド
Senior
18問Django の国際化
Senior
20問Django デザインパターン
Senior
24問Django Async と ASGI
Senior
26問Settings と本番環境の設定
Senior
22問オブザーバビリティとモニタリング
Senior
24問