Cracking the CRED Frontend Engineer Interview
CRED is famous for having one of the most beautifully designed and fluid applications in the world. The Frontend Engineer role (often heavily focused on React Native for mobile) is highly prestigious. The interview process is brutal, evaluating your mastery of JavaScript, React/React Native, state management, and your ability to build pixel-perfect, highly animated UIs.
Phase 1: The Machine Coding Round (UI)
This is the defining round for frontend engineers at CRED.
- The Challenge: You will be asked to build a functional, highly polished UI component from scratch in 90-120 minutes. Examples include building an interactive credit card carousel, a complex charting component for credit scores, or a polished payment keypad.
- The Evaluation: CRED does not just want functional code; they want perfection. You will be judged on:
- Pixel Perfection: Does it match the design exactly?
- Animations: Did you use CSS transitions or React Native Reanimated to make it fluid?
- Component Architecture: Is your code modular, reusable, and easy to read?
Phase 2: Core JavaScript & Framework Internals
You must understand what React is doing under the hood.
- JS Fundamentals: Expect deep questions on Closures, the Event Loop, Prototypes, and Promises. "Implement a custom
Promise.all()function." - React / React Native Internals: "How does the Virtual DOM reconciliation algorithm work?" "Explain the architecture of React Native and how the JS thread communicates with the Native UI thread."
- Performance Optimization: "How do you identify and fix a memory leak in a React Native application?" "When would you use
useMemooruseCallback?"
Phase 3: System Design (Frontend) and Product Thinking
CRED engineers must understand the whole product.
- Frontend System Design: "Design the frontend architecture for the CRED 'Store' checkout flow." How do you handle network failures, manage API retries, structure your routing, and manage complex global state?
- Security: Being a fintech, "How do you securely store sensitive data on the client side?" "Explain how you would sanitize user input."
Top 3 Technical Questions to Prepare
- Explain how you would implement a complex, gesture-driven 60fps animation in React Native without blocking the JavaScript thread.
- Implement a "Debounce" and "Throttle" function in JavaScript. Explain the difference and give a real-world use case for each in the CRED app.
- How would you design a scalable frontend architecture to handle real-time UI updates during a highly concurrent "Flash Reward" drop?



