KUNGFU TECH
7007 câu hỏi phỏng vấn Full-Stack, Coding & System Design Interview
Bộ lọc:
GraphQL là gì?
Khác biệt giữa Mutation và Query trong GraphQL là gì?
Mutation
Query
GraphQL có phải là một cơ sở dữ liệu không?
Schema GraphQL là gì?
Schema
Trong GraphQL, dấu chấm than (!) có ý nghĩa gì?
(!)
GraphQL có hỗ trợ sử dụng offline không? Nếu không, cần xử lý như thế nào?
offline
Bạn có nghĩ rằng GraphQL phù hợp để thiết kế kiến trúc microservice không?
microservice
Các khái niệm chính của GraphQL là gì? Mô tả về nó
Làm thế nào để thực hiện Server-Side Caching trong GraphQL?
Schema của GraphQL có thể chứa những hành động nào?
Làm thế nào để xử lý lỗi trong GraphQL?
Làm thế nào để thực hiện Authentication và Authorization trong GraphQL?
Authentication
Authorization
GraphQL chỉ dành cho những developer sử dụng React/JavaScript phải không?
Giải thích sự khác biệt chính giữa REST và GraphQL là gì?
Bạn triển khai federation trong GraphQL chưa? Ưu và nhược điểm của Apollo Federation?
Làm sao để đảm bảo backward compatibility khi phát triển schema GraphQL theo thời gian?
Bạn có từng dùng công cụ auto-generate schema từ database (như Hasura, PostGraphile) chưa? Ưu nhược?
Bạn xây dựng GraphQL DataLoader như thế nào để giảm số lần truy cập DB?
Bạn dùng directive tùy chỉnh trong GraphQL để làm gì? Cho ví dụ thực tế ở quy mô lớn?
Khi một GraphQL query kéo quá nhiều depth, bạn bảo vệ hệ thống như thế nào?
Khi dữ liệu backend dùng PostgreSQL, bạn dùng ORM hay raw SQL cho resolver?
Làm sao để chia nhỏ schema thành các module độc lập trong một hệ thống GraphQL lớn?
Khi dữ liệu backend là SQL, NoSQL, hoặc external API, bạn định nghĩa schema GraphQL thế nào để che giấu sự phức tạp?
Bạn dùng công cụ gì để cache response trong GraphQL tại scale lớn?
Làm sao để support GraphQL transaction-safe mutation mapping với cơ sở dữ liệu quan hệ?
Trong hệ thống GraphQL + NoSQL (như MongoDB), bạn xử lý schema evolution như thế nào?
Làm sao để phân tầng truy vấn GraphQL dựa vào loại dữ liệu (hot path vs cold path)?
Khi dữ liệu nằm trên nhiều DB/Redis/3rd-party API, bạn tổ chức layer resolver như thế nào?
Bạn có từng dùng persisted queries? Khi nào nên dùng?
Làm sao để chống spam query (DoS) qua introspection hoặc batching abuse?
Trong kiến trúc GraphQL cho hệ thống lớn, bạn thiết kế schema như thế nào để tránh quá phức tạp?
Bạn từng xử lý union và interface trong schema chưa? Khi nào nên dùng union thay vì interface?
GraphQL bị gắn mác là “over-fetching” hay “under-fetching” – bạn xử lý vấn đề này ra sao?
Khi có nhiều microservices nguồn dữ liệu, bạn xử lý federation hoặc stitching như thế nào?
Bạn xử lý optimistic UI update như thế nào với mutation GraphQL?
GraphQL không phân biệt public/private route – bạn xử lý security theo kiểu nào?
Bạn giải thích cách hoạt động của query execution plan trong GraphQL resolver tree như thế nào?
Apollo Client hỗ trợ caching như thế nào? Làm sao để invalidate chính xác?
Khi mutation có side-effect phức tạp, bạn tổ chức logic và rollback thế nào trong hệ thống GraphQL?
Khi có user A query data của user B bằng ID, bạn hạn chế thông tin như thế nào trong resolver?
Làm sao để mô hình hóa các mối quan hệ phức tạp trong GraphQL (1-n, n-n) mà không gây truy vấn dư thừa?
Khi xử lý GraphQL query phức tạp, bạn tối ưu batch request bằng kỹ thuật gì?
Làm sao để ánh xạ các truy vấn GraphQL vào SQL hiệu quả trong hệ thống nhiều bảng liên kết?
Khi hệ thống cần scale schema trên nhiều team, bạn tổ chức schema registry và ownership thế nào?
Làm sao để tránh vấn đề N+1 query trong hệ thống GraphQL?
Làm sao để rate limit hoặc block query lặp lại với payload quá lớn
Làm sao để kiểm soát access theo field-level trong schema GraphQL?
Bạn có triển khai auth ở resolver level không? Dùng pattern hoặc directive nào?
Làm thế nào để triển khai một tập hợp các `mutations...
Trong GraphQL, một kiểu (type) có thể vừa là kiể...
Có nhược điểm nà...
Làm sao để scale hệ thống GraphQL Subscr...
Khi deploy schema GraphQL mới, bạn l...
Làm sao để log và phân tích query...
Bạn triển khai GraphQL Subscription qua W...
Bạn có version hóa schema không? Là...
Khi dùng Kafka hoặc Redis Pub/Sub cho backend...
Làm sao để validate schem...
Làm sao để gắn logic authorizat...
Làm sao để test integration cho một Gr...
Bạn có dùng schema registry chưa? Làm sao để...
Làm sao để expose GraphQL Playgr...
Bạn có dùng graphql-ws, graphql-transport-...
Bạn dùng công cụ nào để monitor GraphQL query per...
Bạn tạo CI/CD pipeline để depl...
Trong môi trường cloud-native (Kubernete...
Trong GraphQL...
Làm thế nào để xử lý với các `stat...
Có thể sử dụng kế thừa với các loạ...
Làm thế nào để ngăn chặn tấn công lồng v...
Khi nào thì nên sử dụng GraphQL v...