About the Role
We are seeking a skilled and proactive Frontend Developer with strong hands-on
experience in ReactJS and Redux. The ideal candidate will be
passionate about building scalable web applications and delivering seamless user experiences.
💼 Key Responsibilities
- Develop and maintain responsive web applications using ReactJS and Redux
- Collaborate with backend teams to integrate RESTful APIs
- Ensure cross-browser compatibility and pixel-perfect UI using HTML5/CSS3
- (Optional) Contribute to projects involving Adobe Experience Manager (AEM)
✅ Required Skills
- Strong proficiency in ReactJS and Redux
- Solid understanding of HTML5 and CSS3
- Experience working with REST APIs
- Familiarity with version control tools like Git
- Good communication and problem-solving skills
🌟 Good to Have
- Working knowledge of Adobe Experience Manager (AEM)
- Exposure to Agile development methodologies
📑 Topics for Interview Preparation (4–6 Years)
🔹 Core React.js
React basics: components (functional vs class), JSX
State & Props (differences, data flow)
React Hooks (useState, useEffect, useContext, useReducer, useMemo, useCallback, useRef)
Controlled vs Uncontrolled components
Higher Order Components (HOCs)
React.memo and performance optimizations
Error boundaries
Code splitting, lazy loading, and Suspense
React Router (protected routes, nested routes, dynamic routing)
Forms handling & validation (Formik, React Hook Form optional)
🔹 Redux (State Management)
Redux architecture (actions, reducers, store, dispatch, selectors)
Middleware (redux-thunk, redux-saga basics)
Redux Toolkit (modern best practices)
State normalization & debugging with Redux DevTools
When to use Redux vs Context API
🔹 JavaScript (Advanced)
ES6+ features (let/const, arrow functions, template literals, destructuring, spread/rest, modules)
Closures, lexical scope, hoisting
Event loop, async/await, promises, microtasks vs macrotasks
DOM manipulation (querySelector, addEventListener)
Array & Object methods (map, filter, reduce, forEach, find, some, every)
Shallow vs Deep copy
Prototype, this, bind/call/apply
Error handling (try/catch, custom errors)
Performance optimization in JS
🔹 HTML5 & CSS3
Semantic HTML (header, nav, section, article, footer)
Forms & input types
Media elements (audio, video, canvas, SVG)
Accessibility (ARIA attributes, alt text, tab index)
CSS Flexbox & Grid
Positioning (absolute, relative, sticky, fixed)
CSS animations & transitions
Responsive design (media queries, mobile-first approach)
Preprocessors (Sass basics)
CSS variables & custom properties
Cross-browser compatibility issues
🔹 REST APIs
Fetch API & Axios
Handling async requests (loading, success, error states)
REST principles (GET, POST, PUT, DELETE)
Authentication & Authorization (JWT basics, tokens in headers)
Error handling & retries
API versioning & pagination
🔹 Git & Version Control
Git workflow (clone, branch, commit, push, pull, merge)
Resolving merge conflicts
Pull request / code review process
Git branching strategies (Gitflow, trunk-based)
Tags, releases, and rollbacks
🔹 Agile & Team Practices
Agile principles & Scrum framework
Daily standups, sprint planning, retrospectives
JIRA or similar project management tools
CI/CD basics (GitHub Actions, Jenkins, GitLab CI/CD – just concepts)
🔹 Optional / Good to Have
Adobe Experience Manager (AEM) basics
Components, templates, client libraries
AEM + React integration
Performance Optimization
Lazy loading images, code splitting
Lighthouse / Core Web Vitals
Testing
Unit testing with Jest & React Testing Library
Snapshot testing
End-to-end testing basics (Cypress/Playwright)
✅ With 4–6 years of experience, interviewers expect:
Strong hands-on coding ability in React & Redux
Clean, scalable, reusable code
Understanding of architecture decisions (when to use Redux, how to structure components)
Debugging & performance optimization skills
Experience collaborating in Agile teams with Git
Ability to explain design decisions clearly