Giving back to the leetcode community. How I got an on campus job offer!
Summary
I received a full-time offer from Publicis Sapient after an on-campus recruitment process, which involved an online coding round, a deep dive technical interview with the Head of Engineering, and a final technical/HR round with the Sr. Director.
Full Experience
I successfully secured a full-time offer from Publicis Sapient through an on-campus recruitment drive. The entire process was quite comprehensive, starting with an online coding round on the Hackerrank platform. We were given 90 minutes to solve two problems. The first was a dynamic programming problem, which was a variation of the 0/1 Knapsack problem. The second problem involved graphs, requiring me to find the shortest route between two points while ensuring two specific intermediate nodes were visited in a fixed order, solvable by multiple applications of Dijkstra's algorithm. Only candidates who solved both questions were shortlisted for subsequent rounds, though other factors like CGPA and tab switching might have also been considered.
My interview experience was unique as it was conducted by the Head of Engineering. Unlike many others, I wasn't asked any typical DS-Algo questions. The interviewer focused heavily on my thinking process, delving deep into my projects and CV. I was challenged to explain Time and Space complexity to a layman without using the classic dictionary/phonebook example. A system design question involved designing a Captcha feature to assess my problem-solving approach. We also discussed various theory questions on file systems, OS modules, and network fundamentals like 'What happens when you enter a URL'. He inquired about OOPs concepts, modularity, message passing, and detailed how files are stored, specifically within Windows. He was particularly interested in my knowledge of low-level and high-level system design concepts. I faced some questions, such as the specific MySQL version I used or the justification for a particular Pandas method, for which I had no immediate answer. In such instances, I politely admitted my lack of knowledge to save time, hoping to perform better on the next question. The interviewer maintained a friendly and helpful demeanor throughout this 1 hour and 20-minute discussion, and I somehow managed to impress him. I passed this round and was informed about my next interview within 30 minutes, scheduled to start in just 10 minutes.
The final round was with the Sr. Director of the company (COO) and lasted about 30 minutes, blending technical and HR aspects. Technically, I was asked to design an e-commerce website similar to Amazon for a client, elaborate on a unique feature I'd add, and discuss the front-end design. The HR questions covered how I incorporate feedback into projects, instances where I helped peers with technical work, and my reasons for wanting to join Publicis Sapient. The following morning, I received the good news – I was selected for the role.
Interview Questions (11)
A dynamic programming problem that could be broken down into a 0/1 Knapsack problem structure, though it was not a direct application of the classic Knapsack.
Find the shortest route from node A to node B in a graph, with the constraint that two specific intermediate nodes, X and Y, must be visited, and always in the order X then Y. This problem can be solved by applying Dijkstra's Algorithm multiple times.
Explain the concepts of Time and Space complexity to a non-technical person, specifically avoiding the common dictionary/phonebook analogy.
Design the architecture and functionality for a Captcha feature.
Explain how files are stored in a computer, focusing on the specifics of how the Windows operating system handles file storage.
Explain the entire process that occurs when a user enters a URL into a web browser until the page is displayed.
Justify the choice of a specific Pandas method for combining two tables, and discuss alternative approaches.
Design an e-commerce website similar to Amazon for a client. Include one unique feature to differentiate it from competitors and describe the front-end design approach.
Describe a situation where you received feedback on a project from someone else and how you went about incorporating their ideas.
Share an experience where you assisted your peers with a technical project they were working on.
Explain your motivation for wanting to work at Publicis Sapient.
Preparation Tips
My journey to this offer began without prior coding experience; I hadn't written a for loop until September, and I had zero lines of code in my first two years of college. However, I believe it's never too late to start. My preparation primarily revolved around two key principles: consistency and practice. I focused on solving as many LeetCode questions as possible and maintained a consistent study schedule. The LeetCode community and its discuss section were invaluable resources for me, helping me learn new concepts, techniques, and how to deconstruct problems into familiar patterns. This platform is truly amazing, and I am grateful to everyone whose solutions and insights helped me grow. I want to encourage everyone not to give up, even when faced with challenges or doubts about one's capabilities; consistent hard work will eventually yield great results.