๐จโ๐ป About Me
๐ Hey guys! I am Harsh Bharvada, your friendly neighbourhood web developer working at PayPal ๐ณ as Software Engineer II. I am passionate about JavaScript, Node.js & Problem Solving.
๐จโ๐ซ Why this blog?
I have always appreciated interview experience-based blog posts because it helps one prepare in a systematic, organized, and strategic manner. This blog post is to help all aspirants who want to work at an awesome product based company like PayPal ๐ณ
๐ Background
It was more than a year ago when I was looking for a better opportunity. I had attempted a HackerEarth Hiring Challenge for ๐ณ PayPal and I could solve only one of the OA questions.
Frankly speaking, I wasn't great at problem-solving at that moment. I later joined ๐ต Reliance Jio in Aug 2020 as a Software Development Engineer I.
๐ฃ First Contact
It all started when I received a call from an ๐ awesome Talent Acquisition specialist from ๐ณ PayPal in June 2021. He had viewed my profile from InstaHyre and like it for a FullStack/FrontEnd open position. He expressed the same in the call and asked if I was open to a change.
I was sceptical at first because I wasn't completely prepared. I didn't want to lose a chance to interview in future so I expressed my concern. He said that they are holding a weekend hiring event with no cooling down period in case of rejections, so I decided to give it a shot.
"You miss 100% of the shots you don't take" - Wayne Gretzky
๐ฅ The Rounds
- Online Assessment - HackerEarth ( 1.5 Hrs )
- Data Structure & Algorithms based Interview ( 1 Hr )
- JavaScript & Frameworks based Interview ( 1 Hr )
- Hiring Manager Interview ( 1 Hr )
โ Online Assessment
This round had 3 questions to be completed within 1.5 Hrs. 2 of them were Data Structure & Algorithm based LeetCode Medium - Hard level questions on Greedy technique & Bit Manipulation. The 3rd one was a small front end challenge. One can find the pattern of questions from the LeetCode Discussion section - LC Discussion
๐ก What worked out for me?
Solving the frontend question first in ~ 25 mins helped me focus more on the DSA questions knowing that I had solidified one part of the assessment.
๐ฆ Learnings
- Always read all the questions first before jumping to solve the first one.
- Always read and analyse the constraints first as it gives a very clear idea of which approach to take as one has very limited time in deciding the approach to go with. You wouldn't want a TLE at the last minute if you have chosen to nail just one question.
๐ป Data Structure & Algorithms based Interview
I received positive feedback regarding the OA the next day and was told that all the subsequent rounds will happen on the same day. This was a pretty new experience but in one sense this takes away your anxiety of waiting for the result of the previous round.
This round was a pretty standard DS, Algo based interview.
- The interviewer was cool and as an ๐ง ice breaker asked a very easy string-based question to code.
- He kept on increasing the difficulty of the question. The second variation of the question was an ๐ Easy-Medium Leetcode level question based on hashing. I had figured out the most optimum approach and he was okay with it and I was asked to code it out and run it.
- The third variation of the question was the ๐คฏ Hard level LeetCode question based on strings & DP ( Dynamic Programming ). I gave a Brute force solution and I was asked to optimise the approach. After drawing the recursion tree I realised that the nodes are occurring multiple times which can be memoized to prune the tree. The interviewer got the approach and didn't ask me to code further as we had little time left.
- The last segment of this round dealt with basic OOPs based questions.
๐ก What worked out for me?
Focussing on the brute force approach at the start and trying to optimise from that position helped my intuition to kick in.
๐ฆ Learnings
- Always ask the constraints of the problems
- Always dry run the testcase before confirming your code. Creating the dry run tree structure helped me visualise the nodes and understand that the problem had subproblems and thus it can be solved with DP ( Dynamic Programming ).
๐ฅ JavaScript & Frameworks based Interview
This round was based on the JavaScript fundamentals, ES6+, V8 Engine, Outputs on Promises, Chaining of Promises, Creating polyfills for various ES6+ methods, Event Bubbling & Propagation, Node.js, Angular, CSS properties, Style a given layout on text editor
๐ก What worked out for me?
Strong knowledge of core JavaScript fundamentals helped me.
๐ฆ Learnings
- Always have a small handy notes copy/document summarising important fundamental concepts as one can have only minutes between rounds to revise (especially when one is unprepared ๐ฃ).
๐ผ Hiring Manager Interview
This round was completely based on behavioural & cultural values along with past projects, challenges, roles & responsibilities. This was an awesome open discussion and gave me numerous intuitive perspectives on tech culture and growth.
๐ฅณ Final Feedback & Summary
I received positive feedback within two days. I was pretty new to this rapid-fire interview process and it really helped me focus and not get ahead of myself mentally. All the interviewers were awesome and helpful.
โก๏ธ What's next for you?
I am planning to write another blog detailing my preparation strategy and planning. It will help a lot of folks have in-depth knowledge about the process of preparing for companies like PayPal.
I know you might have some questions after going through this. I am happy to help in any way possible. One can DM me on Twitter at Twitter & LinkedIn for any doubts or comment down below.
Hope this helps! Thanks for reading till the end. All the best!