Arrise Solutions | SDE 2 | Frontend
Summary
I recently interviewed with Arrise Solutions for an SDE 2 Frontend role, which involved two rounds focusing on React, JavaScript fundamentals, and various coding challenges. Unfortunately, I was rejected primarily because I couldn't solve a LeetCode problem during the second round.
Full Experience
I recently shared my interview experience with Arrise Solutions for an SDE 2 Frontend position. I have 4.5 years of experience.
Round 1:
This round lasted for 1 hour and was divided into theory and coding sections.
Theory:
- Discussed React Fiber.
- Explained Reconciliation in React.
- Covered Data Structures like trees and graphs (general concepts).
- Deep dive into Closures in JavaScript, including their concept with real-world examples.
- Compared
useEffectvs.useLayoutEffect.
Coding:
- Solved a currying sum problem.
- Created a function to delete an element in a linked list at a given position starting from the end. The inputs were the head of the list and an index, and the function needed to return the head of the updated list.
- Implemented a progress bar in React where
total_timeandintervalwere given as props to the component. The progress needed to happen after a fixed time (given interval) to reach 100% within the specifiedtotal_time.
Round 2:
This round also lasted 1 hour and focused on theory and coding.
Theory:
- Further discussion on closures with examples.
- Explained what a prototype is and how inheritance works in JavaScript.
Coding:
- Tackled a LeetCode medium problem, which I was supposed to solve in 30 minutes.
- Implemented a polyfill for the JavaScript
reducemethod.
Final Result:
I was rejected. I couldn't solve the LeetCode problem in the second round.
Personal Feedback:
My personal takeaway is not to focus only on the topics mentioned by HR for a particular round; instead, it's crucial to be ready with any topic within the scope of the role. I hope this helps anyone preparing for similar roles.
Interview Questions (10)
Explain the concept of React Fiber and its significance.
Describe the reconciliation process in React and how it works.
Explain the concept of closures in JavaScript and provide real-world examples of their application.
Explain the differences between useEffect and useLayoutEffect hooks in React, including when to use each.
Implement a JavaScript function that can perform curried sums (e.g., sum(1)(2)(3) or sum(1,2)(3)).
Create a function which will delete the element in a linked list at a given position starting from the end. The function takes the head of the list and the index (from the end) as input, and returns the head of the updated list.
Implement a progress bar in React. The component receives total_time and interval as props. The progress should update after a fixed time (given interval) such that it reaches 100% exactly within the total_time.
Explain what closures are in JavaScript and provide an example of their use.
Explain the concept of prototypes in JavaScript and describe how inheritance works using the prototype chain.
Implement a polyfill for the native JavaScript Array.prototype.reduce method.
Preparation Tips
My personal feedback is not to focus only on topics mentioned by HR for a particular round, but to be ready with any topic within the scope of the role.