DEV Community

Cover image for React Native Interview Deep Dive: 9 Questions That Reveal What Resumes Don’t
Mrinal Maheshwari
Mrinal Maheshwari

Posted on • Originally published at blog.mrinalmaheshwari.com

React Native Interview Deep Dive: 9 Questions That Reveal What Resumes Don’t

Q1. Have you used Class based components or functional components ?

is designed to gauge a candidate’s familiarity with different generations of React development. It helps me understand how long the candidate has been working with React & React Native, whether they’ve adapted to modern best practices (like hooks), and if they can maintain legacy codebases. Class-based components were standard before React 16.8, while functional components with hooks represent the modern approach. A well-rounded candidate typically has experience with both and can articulate the differences in lifecycle management, state handling, and code structure.

If developer goes as:

  • “Only class components” → Experience with legacy React, may need to learn hooks and functional patterns.

  • “Only functional components” → Likely newer to React, started after hooks were introduced.

  • “Both, but prefer functional” → Versatile and up-to-date with modern React practices.

Q2. How can you secure your mobile application data, be the data is in transit or rest ?

assesses a candidate’s understanding of mobile app security fundamentals. It evaluates their knowledge of securing sensitive information both while it’s being transmitted over networks (in transit) and when stored locally on the device (at rest). A strong answer would cover the use of HTTPS (TLS) for secure communication, SSL pinning to prevent man-in-the-middle attacks, and secure storage solutions like Keychain (iOS), Keystore (Android), or libraries like react-native-mmkv or react-native-keychain for encrypting data on the device. It also hints at the candidate’s awareness of compliance, data protection best practices, and their ability to build trustworthy, enterprise-grade applications.

If developer

  • Mentions HTTPS only → Basic awareness; needs more depth in securing data.

  • Includes SSL pinning and secure storage → Good understanding of both in-transit and at-rest protection.

  • Mentions encryption, platform APIs (Keychain/Keystore) → Strong grasp of mobile security and platform-specific practices.

  • Includes token handling, data minimization → Advanced level, with security-by-design mindset.

Q3. Have you worked with Typescript or JavaScript ?

helps assess a candidate’s proficiency with the core languages used in React Native development. It distinguishes whether the candidate has experience with JavaScript, the foundational scripting language, or TypeScript, the typed superset that adds static typing and better tooling. TypeScript is widely adopted in modern codebases for its scalability, maintainability, and early error detection. A candidate who has worked with both shows adaptability and a deeper understanding of development quality and tooling. The answer also indicates how comfortable the candidate is with types, interfaces, and advanced language features used in large-scale or enterprise-level applications.

Evaluation goes where he answers:

  • “Only JavaScript” → Basic familiarity, suitable for simpler apps or junior roles.

  • “Only TypeScript” → Likely has experience in more modern or enterprise projects.

  • “Both, prefer TypeScript” → Ideal candidate; adaptable with best practice knowledge.

  • “Both, but still learning TypeScript” → In transition, shows willingness to adopt modern tools.

Q4. Can’t perform a React state update on an unmounted component, what does this error/warning state ?

occurs when your code tries to update the state of a component after it has already been removed from the UI tree (unmounted). This typically happens when an asynchronous operation like a fetch, setTimeout, or subscription completes after the component has unmounted, leading to a memory leak or unnecessary state update. React throws this warning to help developers avoid side effects or crashes from manipulating non-existent components. Proper cleanup using useEffect’s return function or tracking component mount status can prevent this issue.

My interpretation goes:

  • “Not sure what it means” → Lacks experience with async operations or lifecycle management.

  • “It’s about updating state after unmount” → Has encountered and understood the issue.

  • “Mentions cleanup with useEffect” → Good grasp of React lifecycle and hook usage.

  • “Implements abort controllers or refs to check mounted status” → Advanced handling and prevention skills.

Q5. Have you worked with RestAPIs or graphAPIs as well, and which library or method you’ve used to call APIs ?

is designed to evaluate a candidate’s experience with backend communication, data fetching strategies, and tooling preferences. It helps assess whether the candidate has worked with traditional RESTful APIs or GraphQL, which is more flexible but requires schema understanding. Additionally, asking about the method or library (like fetch, axios, Apollo Client, etc.) reveals their hands-on familiarity and ability to manage networking, error handling, and data flows within React Native apps. It also indirectly touches on their understanding of performance, pagination, and security in API interactions.

Interpretation goes like:

  • “Only REST using fetch” → Basic experience, suitable for simpler use cases.

  • “REST with axios” → More practical; likely understands interceptors and async flows.

  • “Worked with GraphQL using Apollo Client” → Advanced usage with state & schema management.

  • “Mentioned caching, token handling, retries” → Strong grasp of real-world API concerns.

Q6. Have you worked on native side of react native, if yes which functionality developed and why ?

evaluates a candidate’s depth of experience beyond JavaScript, specifically their ability to bridge native Android (Java/Kotlin) or iOS (Swift/Obj-C) modules with React Native. It’s a strong indicator of whether the candidate can build or integrate custom native functionality that isn’t available via existing JS libraries — something often needed in performance-critical or platform-specific cases. This question also reveals their understanding of the React Native bridge, JSI, permissions, native module lifecycle, and communication between native and JS layers.

This helps me in getting in depth knowledge and experience of developer as:

  • “No native work yet” → Pure JS experience; good for UI or feature work but limited in low-level customization.

  • “Integrated native SDKs (e.g., camera, maps)” → Practical native linking experience.

  • “Built custom modules using bridge/JSI” → Advanced skill set; can solve platform-level gaps.

  • “Handled permissions or platform-specific UI” → Shows initiative in user experience and device integration.

Q7. Do you know the concept of jailbreak or rooting a device, if yes how can we prevent the same?

assesses a candidate’s awareness of mobile security threats and their ability to protect sensitive app data from compromised environments. Jailbreaking (iOS) or rooting (Android) gives users full control over their device’s OS, often bypassing security restrictions. While this can be useful for advanced users, it poses significant risks for apps handling sensitive data (e.g., fintech, health, enterprise apps). The question evaluates whether the candidate understands how to detect rooted/jailbroken devices and implement preventive or defensive measures to mitigate the risk.

Example Interpretation

  • “Not familiar with jailbreak/rooting” → Lacks security awareness; may be risky for sensitive app development.

  • “Knows what it is but not how to handle it” → Basic awareness; needs upskilling in mobile security.

  • “Mentions root detection libraries or platform checks” → Good understanding; can prevent app from running on compromised devices.

  • “Uses obfuscation, integrity checks, and secure storage” → Advanced security mindset with layered defense approach.

Q8. What is props drilling and how can we avoid that?

evaluates a candidate’s understanding of state and data flow management in React or React Native apps. Prop drilling refers to the process of passing data from a parent component to deeply nested child components via intermediate components that do not need the data themselves. This makes code harder to maintain and understand, especially in large applications. The question also tests whether the candidate knows alternative approaches to simplify or optimize state sharing across components.

Evaluation matrix goes with response:

  • “Not sure what it is” → Lacks understanding of component communication patterns.

  • “Explains passing props through multiple levels” → Basic understanding of prop drilling.

  • “Mentions useContext or Redux to avoid it” → Good grasp of global state and context-based solutions.

  • “Uses tools like Zustand, Jotai, or component composition” → Advanced; explores modern alternatives to manage shared state cleanly.

Q9. At the end goes the coding question which helps me understand

🧠 What This Question Evaluates

  • Practical Implementation Skills

  • It shows how well the candidate can translate concepts into working code under light pressure.

  • Problem-Solving Approach

  • You get insight into how they break down requirements, structure components, and debug.

  • Code Quality & Best Practices

  • You can assess naming conventions, component structure, state management, and how clean or readable their code is.

  • Tool Familiarity

  • You see what tools or libraries they naturally reach for (useState, FlatList, axios, redux, etc.)

  • Depth Beyond Theory

  • It filters out candidates who only have surface-level knowledge but can’t implement real-world tasks.

Interpretation:

  • “Struggles to start or needs constant guidance” → Lacks hands-on experience or confidence.

  • “Completes the task, but messily” → Knows the basics, needs refinement in structure or practices.

  • “Implements clean, functional solution with edge cases handled” → Strong coding skills and thought process.

  • “Adds extra features, optimizations, or error handling” → Excellent candidate with product mindset.

Comments are open, and so is the conversation 👇

Top comments (0)