The Capital Hub interview experience Real time questions & tips from candidates to crack your interview

Fullstack Developer

The Capital Hub
upvote
share-icon
2 rounds | 1 Coding problems

Interview preparation journey

expand-icon
Application story
I began my coding journey in November 2022, three years after graduating in 2019. With the assistance of Coding Ninjas, I navigated the challenging path into the tech industry. They provided comprehensive support, from preparation to placement, equipping me with the necessary skills and knowledge. I applied to multiple companies, leveraging the guidance and resources from Coding Ninjas. The entire process, from submitting applications to securing interview opportunities, was structured and methodical. Their mock interviews and feedback sessions played a crucial role in my readiness for the actual interviews.
Preparation
Duration: 9 months
Topics: Top skills I acquired include HTML/CSS/JS, React, Node.js, and SQL. These skills are crucial for full-stack web development, enabling me to build responsive user interfaces, manage server-side operations, and efficiently handle data storage and retrieval in web applications.
Tip
Tip

Tip 1: Believe in Yourself
Tip 2: Learn and Practice
Tip 3: Try to Develop Useful Skills

Application process
Where: Campus
Eligibility: 60%
Resume Tip
Resume tip

Tip 1: Make It Clear
Tip 2: Mention Only the Stacks on Which You Have a Strong Grip

Interview rounds

01
Round
Medium
Online Coding Interview
Duration90 minutes
Interview date25 Jun 2024
Coding problem0
Web problem/projects1

1. Login API

Creating a robust login API that supports username/password authentication and mobile number authentication with OTP (One-Time Password) involves several essential steps. Firstly, you need to set up your environment using a modern web framework like Express.js for Node.js, which provides a solid foundation for building your API. For the database, MongoDB or PostgreSQL can be used to store user data securely. Libraries such as JSON web token for JWT authentication and Twilio for sending OTPs will be instrumental in the development process.

Begin by defining the user model. The user model should include fields for username, password, mobile number, and other relevant information. It is crucial to hash passwords using a library like bcrypt to ensure security. Next, implement the username/password authentication route. This route should validate the user's credentials against the stored hashed password and, if successful, generate and return a JWT token. This token will be used for subsequent authenticated requests.

For mobile number login, create a route that generates an OTP and sends it to the user's mobile number using a service like Twilio. Store the OTP temporarily in the database or in-memory store like Redis, associated with the user's mobile number. Then, create another route to verify the OTP. When the user submits the OTP, check it against the stored value. If it matches, generate and return a JWT token similar to the username/password authentication process.

Additionally, ensure your API is secure by implementing middleware to protect routes that require authentication, validating incoming data to prevent injection attacks, and using HTTPS to encrypt data in transit. Error handling is also crucial to provide meaningful feedback to the user and to log errors for debugging purposes. Finally, thorough testing of both authentication methods is essential to ensure reliability and security.

By following these steps, you can develop a comprehensive login API that accommodates both traditional username/password login and the increasingly popular mobile number login with OTP, providing a flexible and secure authentication system for your application.

02
Round
Medium
Face to Face
Duration60 minutes
Interview date27 Jun 2024
Coding problem1

1. DSA, Dynamic Programming, System Design, DBMS based questions

During my interview, I encountered a variety of coding problems that tested different aspects of my problem-solving and coding skills. The problems can be broadly categorized into the following types:

Data Structures and Algorithms: These problems focused on fundamental concepts such as arrays, linked lists, trees, graphs, stacks, and queues. I was asked to implement algorithms for searching, sorting, and traversing these data structures. For example, I had to solve problems like reversing a linked list, finding the shortest path in a graph using Dijkstra's algorithm, and implementing a binary search on a sorted array.

Dynamic Programming: These questions tested my ability to recognize problems that can be solved using dynamic programming techniques and to implement efficient solutions. Problems included finding the longest increasing subsequence in an array, solving the knapsack problem, and computing the minimum edit distance between two strings.

System Design: These questions evaluated my ability to design scalable and efficient systems. I was asked to design systems like a URL shortening service, a social media feed, or a distributed file storage system. The focus was on understanding requirements, defining APIs, choosing the right data storage solutions, and ensuring scalability and reliability.

Database Management: These problems required knowledge of SQL and database design. I faced questions on writing complex SQL queries to retrieve specific data, normalizing database schemas, and designing efficient indexing strategies to improve query performance.

Concurrency and Multithreading: These questions assessed my understanding of concurrent programming concepts. I was asked to write code to handle synchronization issues, prevent deadlocks, and ensure thread safety in multi-threaded applications.

Coding Challenges: These were practical coding problems that required writing complete programs to solve real-world scenarios. Examples included developing a command-line tool to parse log files, creating a basic web scraper, or building a simple RESTful API.

Overall, the interview process tested a wide range of skills, from basic algorithmic thinking to complex system design and practical coding abilities.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
4 rounds | 8 problems
Interviewed by Amazon
8518 views
0 comments
0 upvotes
Analytics Consultant
3 rounds | 10 problems
Interviewed by ZS
907 views
0 comments
0 upvotes
company logo
SDE - Intern
1 rounds | 3 problems
Interviewed by Amazon
3320 views
0 comments
0 upvotes
company logo
SDE - 2
4 rounds | 6 problems
Interviewed by Expedia Group
2580 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Fullstack Developer
6 rounds | 5 problems
Interviewed by Microsoft
2223 views
0 comments
0 upvotes
company logo
Fullstack Developer
2 rounds | 2 problems
Interviewed by Samsung
2163 views
0 comments
0 upvotes
company logo
Fullstack Developer
2 rounds | 2 problems
Interviewed by Amdocs
1813 views
0 comments
0 upvotes