My Javascript interview experiences & lessons


Dear reader,


My name is Manoj Satishkumar.

I am a web developer who loves coding in Javascript. I get amazed by what technology has enabled us to do today. We are living in a world where our biological capabilities are no longer a limitation. We can talk to our friends living across the globe and listen to our favorite music right from our wireless headphones. We often take these things for granted but trust me, if you were living in the year 1950, you would call me crazy for saying these things.

I believe that in the years to come, software engineers are going to create even more amazing experiences and capabilities to push humanity to the next level. We are on this journey together. Whether you work on frontend or backend, whether you are into building websites or mobile apps, You and I are walking towards the same destination - A better planet.

I have had some great learning opportunities in my 7 years of experience in the landscape of computer software. I have worked in 3 different types of industries including semiconductor, healthcare, and eCommerce where I loved the way I can apply my learnings and knowledge to build meaningful applications and programs.

I realize that my life has no meaning if I walk alone on this journey. So I want to help you by sharing my interview experiences and meaningful lessons that I have learned all along. I believe learning makes us better humans.

I am presenting my personal experience not just with work but with how I have been fundamentally looking at life during this journey and what changed inside me. Because I think it is important for all of us to understand why we are doing all this to find a role that suits us, pays us well, and keep us satisfied in this ultimate journey of software development.

All right,

Before starting to look at my experience, let us first answer some of the fundamental questions regarding WHY I chose to move to Javascript. After that, we will learn about HOW I succeeded in getting a high profile role where I work only on javascript day in and day out.

Let's start with WHY Javascript?

Until 2019, I was working with various programming languages - C#, Java, and Ruby.

Over a period of time, I started thinking why should I learn different programming languages? In my limited lifetime, if I try to learn everything, I will become a Jack of everything and a master of nothing. Which I obviously didn't want to happen. So I realized that with Node.js, I can create back-end servers with JS, and with libraries like React, I can create fully-fledged front-end web apps. So it made all the sense in the world to master Javascript.

I was working as a Team lead in Cerner corporation when I made this decision. But unfortunately, I was working in a team where the core languages were Ruby & Java. So every day I had to spend an hour extra at home to learn javascript completely. I know it's not easy to make time for something else when it doesn't match your office work. But somethings in life need to be reconsidered to move on in the pursuit of a better future. This is what makes us human, We always want to expand more than what we are today. And it enables us to surpass ourselves.

I took training from Frontend Masters. This was the best training from which I obtained the much-needed motivation to move to JS. It was the final nail in the coffin.

Mr. Kyle Simpson was the trainer and he showed that when we spend enough time and pay enough attention to how Javascript really works, we will uncover many things. I started thinking - "Why should I learn JS just for the sake of finding another job? What purpose will this serve? I want to go beyond the interview mode and try to understand deeply how things are working in the web world. It was probably this decision that enabled me to think beyond my capability and attain much more than what I wanted as a Team lead in Cerner.

I also read his books - YDKJS. I suggest you also read them.

Now let's talk about HOW I cleared many Javascript interviews.

Truth is, I did not clear most of the interviews initially. I was constantly applying to many great companies and failed in most of the interviews due to various factors. I want you to carefully understand why I am telling you this. You need to know the truth about why your interviews may be getting a negative result in spite of your hard work, efforts, and preparation. Keep reading, you will discover many things and to-do items for yourself by looking at my journey.

Here are the 5 lessons I learned on the way.


Lesson #1: Startups are not an easy target.

Big companies have this policy that if you fail the interview, you will not be allowed to give another interview within 6 months. So I started attending interviews with many startups. Frankly, I was not sure how interviews will be as I was in Cerner for more than 4 years and I knew the world had changed. My initial experience was very stressful and demotivating. But I knew that this is expected as I was just getting started.

My javascript job search began with small to medium startups. I attended an interview in a "Yet to start" company by the name Rizort. They were into online travel and holidays. They set up a quick zoom call with me to know about what I was doing and then followed by an online round where I was asked to implement a Todo app with React & Redux.

I was quite uncomfortable as I wasn't still a Pro in Redux. So guess what? I failed 😅

Then I attended an interview in MakeMyTrip. To my amusement, they also asked me to build the same app. I felt "I got this". Haha. I implemented the Todo app and submitted the code in a .zip file. The interviewer verified the code and decided to call me for 2nd round.

In the 2nd round, he asked me what is "async rendering" ?

All my "Godly" feeling quickly started shutting down. I did not want to answer something I did not know about. So I said the most dangerous sentence in an interview - "I don't know".

Boom!... Rejected.

After a week, I attended an interview in MoEngage. Quite frankly I had no clue what this company was. I just came to know they are into marketing and stuff. Nonetheless, it was a javascript role. So I went there and I was presented with an online Q&A test. I was like .... "why do online when I am physically here?" 🤔 Things happened and I left the interview.

After this, I attended interviews in a few companies which didn't have an office also and few of them were in "Stealth mode". I wasn't sure what Stealth mode was but it sounded cool. 😎

I failed in those as well.


Lesson #2: Domain doesn't matter. Skills do.

Since Cerner was a healthcare company, I thought if I attend interviews in another healthcare company, I might be given preference. WRONG! It actually didn't matter at all. They wanted skills and not experience during the interview. So even when I said I had a patent on my name regarding a healthcare app, it didn't matter much if I did not answer the JS interview questions properly.

In Jan 2019, I gave an interview at GE Healthcare.

The interviewer asked me questions on javascript prototypes and event bubbling. I explained what I had prepared. To be honest I wasn't that well prepared. So obviously I got rejected. And I expected it. I knew that I wasn't going to "magically" get selected just like that. So it was ok.


Lesson #3: Don't be in wait mode forever.

In Feb 2019, I attended an interview at Oracle, Bangalore.

The interview was on a Sunday. When I went there, they made me wait in a room for 3 hours. I wasn't really surprised by this because I was just "one in the crowd". Nobody knew who I was and what I brought to the table. After a 3.5 hour long wait in a room with no water, I was called into another room where there was a DS & Algo coding round.

The DS & Algo round consisted of a single question to implement a Queue with Enqueue & Dequeue functions. I was shocked to see such a simple question for such a big company. They gave me an hour to write it but I wrote the code in 10 mins and said I was done. I kind of felt cool 😎 that I was the first one to finish. But, then they asked me to wait in another room until everyone else finishes writing the code 😅. I felt disgusted, to be honest, that my speed wasn't recognized.

So after another 1 hour of waiting, I was called into 2nd round in a cubicle with a Team lead. He asked me to write a Jest unit tests for a function given and to cover all the edge cases. I wrote it. Then he asked me to solve the problem of "finding triplets in an array". I solved it too. He was satisfied and asked me to wait outside and the Director will call me for a discussion.

At this point, I knew I was selected. The director called me and he agreed to hire me. In the same room, my CTC discussion also happened and that was also finalized. I was told that I will receive the offer letter after a week or so. I went home.

I waited .... a week passed followed by a month.

No signs of any email in my inbox. I wrote a few emails to HR but there was no response. One fine day the HR called me and said that they found another candidate with "lesser CTC". At this point, I said - " All the best " and kept the phone.

The lesson for me was not to wait for 1 opportunity to come back with fruitful results even if I cleared all rounds. I have to keep the options at hand.



Lesson #4: Don't be over-confident.

In April 2019, I gave an interview with a company called IQVIA.

Confidence had boosted in me as I had actually cleared the interview at Oracle. So I went to IQVIA office in Eco space with the worst weapon possible - "over-confidence"

I actually took a quick ride at 7 AM to react to the office as it was quite far from my home. In the ride, I made friends with a guy working at Cisco. He was there for 8 years and told me how the experience is working at Cisco. He was expecting a pay raise and a promotion. He was a very nice guy and we exchanged phone numbers.

He dropped me in the Cisco gate. IQVIA office was just beside Cisco. He said "All the best". I went inside the office and it took me 30 mins to find the reception desk with nobody sitting there. My "Wait game" began again 😅.

After an hour, somebody came and asked me to go to the 4th floor. I went to the 4th floor and asked where is the interview. They said I have to go back to the floor I came from. I was pissed off, to be honest. But I was helpless. I needed a better job. So I decided to shut up and listen.

So in the 1st round, I did not encounter an interviewer. I encountered a "beast". He asked me the kind of questions that made me feel like I knew nothing about React.js. He then started asking me unthinkable questions with Javascript. I couldn't answer any of them. In fact, I started packing my bags to go back home and start learning again. This time much deeper and with care.

So "over-confidence" won that day. And I lost.


Lesson #5: Don't lose hope.

After encountering the beast, I took a month's time to learn Javascript like never before. I started digging deep and reach a place where only a few have gone. I started understanding how the Javascript compiler passes happen and how the prototype chain is connected in the entire landscape. I started understanding the event loop and how it actually works.

In April last week, I gave an interview at JP Morgan Chase & Co.

I have to admit, the interview was well organized and they provided good treatment to candidates. I drove in my car this time. They even provided a guest parking facility. I felt good and fresh.

There was no waiting time ( Good Lord 😅 ). I went to the 1st round and the interviewer asked me to implement a "Brace detector". I wrote the entire code and he was satisfied. He then asked me to draw a block diagram of a project that I worked in Cerner. I did it immediately.

In the 2nd round, the interviewer was from my hometown. We had a good chat and he asked me questions on the event loop, call stack, and promises. I answered them all with confidence. He selected me in that round.

In the final round, 2 VPs took my interview where they asked me about the patent that I had filed in Cerner. I explained how the hackathon project turned into a patent and what problem it tried to solve in healthcare IT. They wanted me and so they offered me the position.

Days passed...

One fine day, something strange happened. I started thinking - "Is this it?" - Is this all I got?

Trust me, when such thought comes to your mind, you become a different person. You will start thinking about what is the "End game"?

In May 2nd week 2019, I gave an interview at TESCO, Bangalore.

I have to admit, TESCO office in Bangalore is a work of art. Loved the way they have maintained the office premises and when I went there, I felt relaxed. I sat in the reception for about 20 mins. They treated me very well and asked me to go inside. Kudos to the HR team!

In the 1st round, I was asked about various non-technical aspects to check if I culturally fit in the organization. Which I did. The interviewer was a manager and he asked me what would I do in a situation where I have to deliver a product but my team has low velocity. How will I tackle and overcome odds? - These questions were to check my patience.

In the 2nd round, I was asked about Javascript basics. I absolutely killed this round. The interviewer asked me what is the difference between Implicit binding and Explicit binding and gave me a quick question on the whiteboard. I explained it completely. He then asked me how compiler passes happen when JS is loaded in the browser. I immediately remembered what Kyle Simpson taught me. So they were pretty impressed that I am not just trying to crack the interview but really trying to understand how things are working in javascript. I passed the round.

In the 3rd round, I was asked to draw the system design of a social media site. I drew what all I knew and the interviewer was satisfied. So I passed this too.

They offered me the job.

At this point, I had a couple of offers and was "kind of" satisfied. But again this thought kept coming in my mind - "Is this it?' - Is this all I got?



Now I will tell you how much professional relationships are important. I called my old teammate who already cracked an interview in a giant company. [ I will reveal who this is in my next blog post 😉. ] I told this is my current situation. And he said, let's try for 1 more - Walmart labs. [ a.k.a Walmart Global Tech ]

I did some research and found out that Walmart topped the World's Fortune 500 companies ranking. Then I checked Wikipedia to discover that they are running the business with a whopping $514 Billion revenue. These were big numbers because the last company I worked operated with $5 Billion. I thought this would mean I will get to see how a company would operate at scale with millions of customers shopping in Retail stores and Online.

I was convinced enough that this is a great opportunity. So I said to him - "Let's give it a shot". You might call it greed but I was constantly questioning myself - "What is the End game?"

Now I work there.

If you found this article helpful, share it with your friends.

Warm regards,
Manoj Satishkumar