Summary
I interviewed at Rupicard for a Software Engineer position, which included a machine coding round and a hiring manager round. Unfortunately, I was rejected in the final round due to a perceived lack of React.js experience and some JavaScript syntax errors.
Full Experience
I had an interview opportunity at Rupicard for an SE-1 position. I hold a B.Tech degree from a Tier 1 NIT and have 14 months of experience as an SDE1 at a startup.
Round 1: UI Design & Functionality Implementation
In this round, I was tasked with designing a calculator based on a given UI. My goal was to replicate the design as accurately as possible. After completing the design, I was then asked to implement its core functionality. The interviewer closely questioned me on specific behaviors, such as ensuring that when an operator (like +, -, *) is added, only the next value should be displayed, and the previous value should be hidden. I also had to make sure that only one value was visible during the input process.
Round 2: HM Round
This round was with the hiring manager and focused heavily on frontend concepts, particularly React and JavaScript. I was asked a series of questions:
- I had to explain different React hooks that I had used in my projects.
- The interviewer asked me to articulate the difference between
useEffectanduseLayoutEffect. - I was questioned on what debouncing and throttling are, and when one would typically use them.
- I needed to explain React's change detection mechanics.
- The concepts of shallow copy and deep copy were discussed.
- I had to explain the differences between
var,let, andconstin JavaScript. - I was asked to explain pass by value and pass by reference specifically in JavaScript.
- Finally, I was given several console log code snippets and asked to debug them and explain their outputs.
Feedback
I received a rejection after the final round. The feedback indicated that I lacked sufficient working experience in React.js. Additionally, I made some JavaScript syntax errors during the interview, which was likely due to not working with it consistently.
Interview Questions (9)
I was asked to design a calculator based on a provided UI design. After completing the design, I had to add functionality. The interviewer specifically questioned me on behavior such as displaying only the next value when an operator is added and hiding the previous value, ensuring only one value is visible during input.
The interviewer asked me to explain the different React hooks I had used in my projects.
I was asked to explain the difference between useEffect and useLayoutEffect in React.
I had to explain what debouncing and throttling are and provide use cases for when I would use them.
I was asked to explain how React's change detection mechanics work.
The interviewer asked me about the concepts of shallow copy and deep copy.
I was asked to explain the differences between var, let, and const in JavaScript.
I had to explain the concepts of pass by value and pass by reference specifically in JavaScript.
I was presented with several JavaScript code snippets containing console.log statements and asked to debug them and explain their output.