πŸ“˜ Study Material for ReactJS/Ember Developer (Jaipur Role)

1. Core JavaScript (Must-Have)

Since both React & Ember are built on top of JavaScript, strong JS fundamentals are critical.

Topics to Cover:

Quick Practice:

2. ReactJS

Since React is explicitly required, prepare deeply.

Topics to Cover:

Quick Practice:

3. Ember.js (if required by project)

Many companies mention Ember but focus is mostly on React. Still, know basics.

Topics to Cover:

Quick Practice:

4. APIs & Integration

5. Version Control (Git)

6. UI/UX Collaboration

7. System & Best Practices

8. Interview Prep (Likely Questions)

React: JavaScript: Ember:

9. Mini Projects for Practice

Tip: Since your experience is mostly React, focus 70% on React + JavaScript, 20% APIs & UI/UX, 10% Ember basics (just in case).

πŸ—“οΈ 7-Day Crash Study Plan

Day 1 – Core JavaScript Refresher
Tasks:
Day 2 – React Basics
Tasks:
Day 3 – React Hooks Deep Dive
Tasks:
Day 4 – Advanced React & State Management
Tasks:
Day 5 – APIs, Git & Collaboration
Tasks:
Day 6 – Ember.js Fundamentals
Tasks:
Day 7 – Mock Interview & Mini Project

🎯 20 Mock Interview Questions & Answers

JavaScript (6 Qs)
  1. Q1. What is the difference between == and === in JavaScript?
    == checks value equality after type coercion, while === checks strict equality (value + type).
  2. Q2. Explain closure with an example.
    A closure is when an inner function remembers variables from its outer scope even after the outer function has finished.
    function outer() {
      let count = 0;
      return function inner() {
        count++;
        return count;
      };
    }
    const counter = outer();
    console.log(counter()); // 1
    console.log(counter()); // 2
    
  3. Q3. What is the event loop in JavaScript?
    The event loop manages async tasks. It picks tasks from the callback queue (macrotasks) and microtask queue (Promises, MutationObservers) and pushes them to the call stack when empty.
  4. Q4. Difference between var, let, and const?
    • var: function-scoped, hoisted, can be redeclared.
    • let: block-scoped, not hoisted the same way, reassignable.
    • const: block-scoped, cannot be reassigned.
  5. Q5. What is the difference between shallow copy and deep copy?
    • Shallow copy β†’ copies only references for nested objects (e.g., Object.assign, spread).
    • Deep copy β†’ copies everything (e.g., structuredClone, lodash.cloneDeep).
  6. Q6. Explain this keyword in JavaScript. this refers to the execution context:
    In global scope β†’ window (or undefined in strict mode).
    In object β†’ the object itself.
    In arrow functions β†’ lexical scope (does not bind its own this).
React (10 Qs)
  1. Q7. What is the Virtual DOM?
    A lightweight representation of the real DOM in memory. React updates the Virtual DOM first, then efficiently updates only the changed parts in the real DOM (reconciliation).
  2. Q8. Difference between functional components and class components?
    • Class β†’ lifecycle methods (componentDidMount, etc.), this.state.
    • Function β†’ use hooks (useState, useEffect) for state and lifecycle.
    Functional components are simpler, cleaner, and preferred in modern React.
  3. Q9. Explain useEffect hook with dependency array.
    useEffect(() => { ... }, [deps])
    // [] β†’ runs once after mount.
    // [x] β†’ runs when x changes.
    // No deps β†’ runs after every render.
    
  4. Q10. Difference between useMemo and useCallback?
    • useMemo(fn, deps) β†’ memoizes computed value.
    • useCallback(fn, deps) β†’ memoizes function reference.
  5. Q11. How do you handle state management in React? Local state (useState), Context API (for prop drilling), or external libraries (Redux, Zustand, MobX) depending on complexity.
  6. Q12. What is the difference between controlled and uncontrolled components?
    • Controlled β†’ React manages the state of input (value comes from state).
    • Uncontrolled β†’ DOM manages state (ref to access value).
  7. Q13. What are Error Boundaries in React? Special class components with componentDidCatch to catch errors in child components and prevent app crash.
  8. Q14. How does React Router v6 differ from v5? Uses <Routes> instead of <Switch>, nested routing is simplified, hooks like useNavigate, useParams.
  9. Q15. How do you optimize React performance?
    • React.memo to prevent unnecessary re-renders
    • useMemo & useCallback for expensive computations/functions
    • Code splitting & lazy loading
    • Avoiding inline functions in JSX unnecessarily
  10. Q16. Explain Redux flow. UI dispatches an action β†’ reducer updates store β†’ store notifies components β†’ UI updates.
Ember.js (3 Qs)
  1. Q17. What is Ember CLI? A command-line tool for creating, building, testing, and serving Ember applications. Provides project structure and conventions.
  2. Q18. What is Ember Data? Ember’s data persistence library. It provides a store that manages records via models, adapters, and serializers.
  3. Q19. Explain Ember’s routing system. Ember has a powerful router where each route maps to a URL, a model hook, and a template. Nested routes allow complex UIs.
General / Best Practices (1 Q)
  1. Q20. How do you ensure code quality in front-end projects?
    • Writing clean, modular, and reusable components
    • Using ESLint/Prettier for consistency
    • Writing unit tests (Jest/RTL)
    • Code reviews & pair programming
    • Performance monitoring (Lighthouse, React DevTools)