ThoughtWorks
10+ McKinsey & Company Interview Questions and Answers
Q1. Advice clean coding practices on the shared project. Implement a new feature on the shared joyo of energy project, which was to calculate total cost of energy consumption.
Implement clean coding practices for calculating total cost of energy consumption on shared project.
Follow naming conventions for variables and functions to make the code more readable (e.g. use descriptive names like 'calculateTotalCost' instead of 'calc')
Break down the feature into smaller functions to improve code reusability and maintainability
Use comments to explain complex logic or algorithms for better understanding by other team members
Write unit tests to ensure the a...read more
Q2. BookMyShow system design and project
BookMyShow is an online platform for booking movie tickets and event tickets.
BookMyShow allows users to browse and book tickets for movies, plays, concerts, and other events.
The system should have a user-friendly interface for easy navigation and booking.
It should also have a secure payment gateway for online transactions.
The system should be scalable to handle a large number of users and transactions.
It should also have features like seat selection, cancellation, and refund....read more
Q3. what is TDD and writing of testcases
TDD stands for Test-Driven Development, which involves writing test cases before writing the actual code.
TDD is a software development process where tests are written before the code implementation.
Test cases are written based on the expected behavior of the code.
Developers write just enough code to pass the tests, ensuring code quality and functionality.
TDD helps in identifying bugs early in the development process.
Examples: JUnit, NUnit, and pytest are popular testing frame...read more
Q4. Current project overview & it's architecture
Current project involves developing a cloud-based CRM system for a multinational corporation.
Utilizing microservices architecture for scalability and flexibility
Implementing RESTful APIs for seamless integration with other systems
Leveraging cloud services like AWS for hosting and data storage
Using Docker containers for easy deployment and management
Q5. performance improvement techniques in reactjs
Performance improvement techniques in ReactJS involve code splitting, lazy loading, optimizing render methods, and using memoization.
Implement code splitting to load only necessary code for each route or component
Utilize lazy loading to defer loading of non-essential components until they are needed
Optimize render methods by avoiding unnecessary re-renders and using PureComponent or shouldComponentUpdate
Use memoization techniques like useMemo or useCallback to prevent unneces...read more
Q6. Why certain design
Certain designs are chosen for their functionality, aesthetics, and user experience.
Certain designs are chosen based on the specific needs and requirements of the project or product.
Designs are often selected for their ability to enhance usability and user experience.
Aesthetics play a key role in design choices, as visually appealing designs can attract and engage users.
Some designs are preferred for their efficiency and effectiveness in achieving the desired goals.
Considerat...read more
Q7. LLD system.design for restaurant
LLD system design for a restaurant involves designing the software architecture for managing orders, inventory, reservations, and customer data.
Consider designing separate modules for order management, inventory tracking, reservation system, and customer database.
Implement features like menu management, table allocation, payment processing, and reporting functionalities.
Ensure scalability and performance by optimizing database queries, using caching mechanisms, and implementi...read more
Q8. Virtual Dom in reactjs
Virtual DOM is a lightweight copy of the actual DOM in React, used for efficient updates.
Virtual DOM is a concept where a lightweight copy of the actual DOM is created in memory.
React uses Virtual DOM to improve performance by minimizing actual DOM updates.
When state or props change, React compares the Virtual DOM with the actual DOM and only updates the necessary parts.
This helps in reducing the number of DOM manipulations and improves overall performance.
Q9. promises and closures in JS
Promises and closures are important concepts in JavaScript for handling asynchronous operations and maintaining scope.
Promises are objects representing the eventual completion or failure of an asynchronous operation.
Closures are functions that have access to variables from their containing scope even after the parent function has finished executing.
Promises can be used to handle asynchronous operations like fetching data from a server.
Closures are commonly used in event handl...read more
Q10. Best coding practises
Best coding practices involve writing clean, efficient, and maintainable code.
Use meaningful variable and function names
Follow consistent coding style and formatting
Write comments to explain complex logic
Avoid duplicate code by using functions and classes
Test code thoroughly before deployment
Q11. Design test plan for problem
Designing a test plan for a problem
Identify the problem statement and objectives
Define test scope and criteria
Create test cases based on requirements
Assign resources and timelines for testing
Execute test cases and document results
Q12. Current working model
Currently using agile methodology with daily stand-ups, bi-weekly sprints, and regular client check-ins.
Agile methodology
Daily stand-ups
Bi-weekly sprints
Regular client check-ins
More about working at ThoughtWorks
Top HR Questions asked in McKinsey & Company
Interview Process at McKinsey & Company
Top Senior Consultant Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month