Intel | SDE-New Grad | San Jose | Jan 2020 [Reject]
Summary
I interviewed for an SDE-New Grad role at Intel in San Jose, CA, involving two technical phone screens and a full onsite with three rounds. Despite feeling confident about most of my performance, especially in the coding challenges, I ultimately received a rejection.
Full Experience
Intel SDE-New Grad Interview Experience
I recently interviewed for a New Grad SDE position at Intel in San Jose, CA, back in January 2020. I hold an MS in CS from a Top 50 US School, so I was eager for this opportunity.
First Technical Phone Screen (1 hour)
This round focused entirely on Data Structures and Algorithms. I was asked two questions:
- Maximum Depth of Binary Tree
- Find First and Last Position of Element in Sorted Array
The interview went well, and I was soon invited for a second technical phone screen.
Second Technical Phone Screen (1 hour)
Again, this round featured two Data Structures and Algorithms questions:
- Linked List Cycle
- Binary Tree Level Order Traversal II
Beyond the coding, I also had to explain a couple of projects from my Master's degree and briefly elaborate on the Object-Oriented Design of a Tic-Tac-Toe game. A week later, I received an invitation for an onsite interview.
Onsite Interview (3 Rounds)
Round 1 (45 mins)
This round began with me explaining one of my Master's projects in detail, including writing class diagrams and thoroughly walking through its flow. Following this, two more Data Structures and Algorithms questions were posed:
- Pow(x, n)
- A problem involving simulating movement in a typical theater room to pass the minimum number of people.
Round 2 (45 mins)
The first 20 minutes of this round were dedicated to technical discussions: differences between C and C++, C++ and Java, and features I liked in C++11. The remaining time was for a coding question:
- I was given a string representing a student's daily attendance (A - absent, L - Late, P - Present) and conditions for getting into trouble (not absent for 2 consecutive days, not late for more than 3 days). The problem was then improvised for N days, asking for a solution to determine attendance validity. I provided a recursive backtracking solution, but the interviewer was looking for a dynamic programming approach, and he wasn't satisfied with my solution.
Round 3 (45 mins) - Hiring Manager Round
This was with the hiring manager and focused on behavioral questions:
- Give me an example of a time you faced a conflict while working on a team. How did you handle that?
- Tell me about a time you were under a lot of pressure. What was going on, and how did you get through it?
There was also one coding question:
- Reverse nodes in k-group
We also discussed visa sponsorship, my potential joining date, and any other offer deadlines or pending interviews I had.
Result: I received a rejection. No specific feedback was provided regarding the reason for the rejection.
Interview Questions (11)
I was asked to briefly explain the Object-Oriented Design of the Tic-Tac-Toe game, discussing classes, relationships, and core game logic.
I was shown a diagram of a typical theater room with chairs, some occupied. The task was to simulate moving from one location to another within the theater, ensuring that the path chosen passes the minimum number of people on the way.
Given a string representing a student's daily attendance (A - absent, L - Late, P - Present), and certain conditions (student shouldn't be absent for 2 consecutive days and shouldn't be late for more than 3 days), determine if the student gets into trouble. The question was then improvised for N days, where N is the length of each string. I was expected to provide a dynamic programming solution, but I gave a recursive backtracking solution which was not satisfactory.
Give me an example of a time you faced a conflict while working on a team. How did you handle that?
Tell me about a time you were under a lot of pressure. What was going on, and how did you get through it?
Given the head of a linked list, reverse the nodes of the list k at a time, and return the modified list. k is a positive integer and is less than or equal to the number of nodes in the linked list. If the number of nodes is not a multiple of k then left-out nodes, in the end, should remain as it is.
Preparation Tips
My Thoughts and Preparation Advice
Looking back at my interview experience, I strongly feel that perhaps not discussing the dynamic programming approach for the attendance problem in the second round was a primary reason for my rejection. This was my first onsite interview, and while it wasn't as difficult as FAANG interviews, it provided valuable experience to start with.
I have upcoming interviews with Amazon and Oracle, and I hope to perform better in those. From this experience, I've learned that the sheer number of questions solved on LeetCode doesn't matter as much as truly understanding the underlying concepts and how you approach problems in the moment during the interview. While it might not matter, I've personally solved 447 LeetCode questions (140 Easy, 262 Medium, 45 Hard problems).
Crucially, communicating your thought process to the interviewer matters a lot. I highly recommend practicing this through mock interviews. Platforms like Pramp, or even practicing with friends or colleagues, can be incredibly beneficial.
As Samuel Beckett famously quoted, "Ever tried. Ever failed. No matter. Try again. Fail again. Fail better." This resilience is key in the interview process.