Summary
After being laid off, I interviewed for a SWE-2 Backend role at Fourkites. Despite performing well in the initial DSA rounds, I was ultimately rejected due to concerns about communication skills and a perception of having used external help during the interview.
Full Experience
Hi all,
I'm sharing my third interview experience after being laid-off. I had about 1 year and 4 months of experience before the layoff and felt I had lost touch with DSA, especially given the market scenario at the time. After taking a day to cool down, I focused on creating accounts on job boards and using LinkedIn Premium.
This particular opportunity was with Fourkites for a SWE-2 Backend position, located remotely. I got a referral from LinkedIn, and HR contacted me after 2-3 weeks.
1st Round
This round covered:
- DBMS concepts
- Next Greater Element
- LCA of a Binary Tree
- Discussions on how a Hashmap works, and what happens when collisions occur
I was confident about clearing this round and received a call for Round 2 the very next day.
2nd Round
This round involved two DSA questions:
- DSA question: Check if we can split a given array into two equal sum (Subset sum variation). Discussions were around how we can reduce space complexity; I suggested using a hashmap instead of a 2D DP array, and the interviewer seemed satisfied.
- DSA question: K-largest numbers in a stream of billions of numbers. We discussed how the use of Max-heap and Min-heap affects space complexity.
Again, I felt confident enough to clear this round. From here, only the Hiring Manager (HM) round was left. I got a call on the same day from the TA, who scheduled Round 3 two days later.
Round 3
This round included:
- Questions about my Past experiences
- SQL query for Nth highest salary in a given table: I tried to use the same approach as for the 2nd highest salary, but couldn't quite figure it out, and the interviewer wasn't able to follow my thinking.
- Asked me to implement Redis: I felt I wasn't getting his requirement clear as I was unsure if he wanted me to implement a wrapper or the core Redis itself.
- Discussion on why ternary search is not efficient.
Feedback
My feedback came back negative. I was also told that the Hiring Manager felt I might have used some external help.
Self-Realization after Feedback
This experience made me realize I need to significantly increase my communication skills. As this was my only interview going on at the time, I felt lost again after receiving the feedback.
Interview Questions (9)
Find the next greater element for each element in a given array.
Find the lowest common ancestor (LCA) of two given nodes in a binary tree.
Explain how a HashMap works internally, and describe what happens when a collision occurs and how it's handled.
Given an array of numbers, determine if it can be partitioned into two subsets such that the sum of elements in both subsets is equal. Discussions were around how to reduce space complexity.
Given a stream of billions of numbers, find the K-largest numbers. Discussions focused on how the use of Max-heap and Min-heap affects space complexity.
Questions focused on my past work experiences and professional background.
Write an SQL query to find the Nth highest salary in a given table.
Tasked to implement Redis. I felt unsure if the requirement was to implement a wrapper or the core Redis functionality itself.
Discuss why ternary search is generally considered less efficient than binary search.
Preparation Tips
After being laid off, I took a day to cool down, then focused on creating accounts on popular job boards and utilizing a LinkedIn Premium trial for job searching. The experience highlighted a personal need to regain proficiency in DSA and improve my communication skills.