RTK QueryAdvanced
Interview Questions — ১৫টি
Redux Toolkit ও RTK Query-এর দরকারি interview প্রশ্ন ও উত্তর — বাংলায়।
4টি অংশবাংলা ভাষায়
Redux অংশtext
text
Q1: Redux-এ একমুখী data flow কী?
→ store → UI (selector) → dispatch(action) → reducer
→ new state → re-render। সব পরিবর্তন action-মাধ্যমে।
Q2: Reducer pure কেন?
→ predictable, testable, time-travel-যোগ্য। mutate
করলে tracking ভেঙে যায়।
Q3: createSlice-এর সুবিধা কী?
→ action creators + reducer + action types এক জায়গা;
Immer-driven — boilerplate অর্ধেক।
Q4: useSelector re-render নিয়ম?
→ selected মান reference-change হলে re-render।
object সরাসরি select করলে subject re-render — সতর্ক।RTK Query অংশtext
text
Q5: RTK Query-র কোন সমস্যা সমাধান?
→ data fetching, caching, deduplication,
loading/error state, invalidation, refetch।
Q6: providesTags vs invalidatesTags?
→ provides: query cache-এর যোগ্য tag;
invalidates: mutation-এ কী পুরনো হবে।
Q7: unwrap() কী?
→ mutation trigger-এর Promise — success-এ value,
failure-এ error throw (await করতে সুবিধা)।
Q8: isLoading vs isFetching?
→ isLoading: প্রথম ফেচ (কোনো data নেই)।
isFetching: সব ফেচ (যেমন background refetch)।
Q9: RTK Query-এ optimistic update?
→ onQueryStarted-এ updateQueryData dispatch →
queryFulfilled success-এ invalidate / error-এ undo।
Q10: createListenerMiddleware-এর কাজ?
→ store action-এর side-effect (toast, refetch,
logout reset) — component-হীন logic।Scenario অংশtext
text
Q11: Cart-এ RTK Query নাকি slice?
→ Cart client-session state → slice। Products/orders
server state → RTK Query।
Q12: কীভাবে ইনভালিড list+detail একসাথে?
→ tagTypes-এ "Product"; list provides "Product:LIST",
detail provides "Product:id" — update invalidates দুটোই।
Q13: query arg object memo কেন দরকার?
→ প্রতিটি render-এ নতুন object → RTK Query নতুন key
মনে করে → প্রতিবার refetch। useMemo/useRef।
Q14: কীভাবে user-logout-এ cache reset?
→ store.dispatch(api.util.resetApiState()) —
অথবা logout listener-এ।নিয়ে যাওয়া
এই প্রশ্নগুলোর উত্তর দিতে পারলে আপনার আত্মবিশ্বাস আসবে। কিছু হাত-কোড অনুশীলনও করুন — interview-এ createSlice+createApi টুকরা লেখা প্রায়ই ask করে। পড়ার জন্য ধন্যবাদ! 🎉
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।