1. Algorithms & Data Structures Solve an array rotation problem - rotate an array to the right by k steps in O(n) time and O(1) space 2. Object-Oriented Programming (OOP) - Explain OOP concepts - abstraction, encapsulation, inheritance, and polymorphism - How do you implement inheritance in JavaScript/TypeScript? - What is dependency injection and how does it help in decoupling code? - How do you achieve decoupling between two classes? 3. Design Patterns - Do you know design patterns? Explain a few common ones - Explain the Factory design pattern in detail - Implement a Factory pattern for an ETL system that handles multiple data sources (SQL, CSV, API). Show the code 4. Software Design Principles - What coding principles do you follow while developing ? 5. Databases - Have you worked with NoSQL databases? Which ones? - How do you choose between SQL and NoSQL when designing an application? - What database would you choose for the dashcode service - SQL or NoSQL? Why? 6. APIs (REST/GraphQL) - Have you worked with GraphQL? When do you prefer GraphQL vs REST APIs? - What best practices do you follow when developing REST APIs? 7. Authentication & Security - What authentication methods have you implemented in your applications? 8. DevOps & CI/CD Do you have experience with DevOps and building CI/CD pipelines? 9. Frontend Development (React) - How do you implement virtualization for rendering large datasets efficiently? - How do you avoid prop drilling and unnecessary re-renders in React? - How do you maintain cache state on the client side to avoid making too many backend calls? 10. System Design - Frontend (Dashboard) - Design a real-time dashboard that displays millions of order records with filters (date, status, city). How do you handle the data on the frontend? 11. System Design - Backend (Dashcode Service) - Design a "Dashcode Service" - a secure code generation and validation system for package delivery. Explain the high-level architecture, components, tech stack, and API design - How do you ensure unique code generation with no collisions when handling millions of concurrent requests? 12. Performance & Scalability - The dashcode service receives 500K-1M requests per day. How do you improve performance and handle high traffic? - How do you scale the dashcode application at the cluster level? - Explain your approach to horizontal scaling, load balancing, and multi-AZ deployment
Check out your Company Bowl for anonymous work chats.