DEV Community

Farhana
Farhana

Posted on • Edited on

What I learned from failing my technical interviews

undraw_interview_rmcf

Technical interviews are a nerve wracking experience that can demoralize a developer. In the past, these consisted of weird brain churning questions where you had to calculate how many golf balls can fit in a school bus. Thankfully, we don't have to answer these anymore. But to this day, the interview process has candidates solve unrealistic problems, with at least one other pair of eyes judging your every move, in at least 15 minutes.

A little about me, I graduated with a bachelor's degree in computer science. It was the hardest experience ever and I even grew some gray hairs. However, I was fortunate enough to have found an amazing group of friends where we regularly studied together in the computer lab until dawn, with our minds blank, our eyes dry and our bellies full of fast food.

Some of the companies I interviewed with that made a long, lasting impact on me

IBM

  • Year: 2017
  • Position: Front-end Developer

My first blunder. I haven't done a coding assessment before. I attempted my first one through an online platform that recorded you through your webcam. I received two questions, one was similar to FizzBuzz. FIZZBUZZ! I didn't know how to solve it. I swear. I was a mess on that keyboard. I had no idea how to solve that question fully. I gave up, submitted whatever I had and went to my next class.

What I learned:
Although I was humiliated to fail FizzBuzz, I realized this was only my first coding assessment and definitely not my last. I was going to take Leetcode more seriously and keep applying to more companies in order to gain more exposure to the interview process.

ESPN

  • Year: 2017
  • Position: Front-end Engineer

I was asked some front end questions like: Explain AJAX and what does Asynchronous mean. There were also a couple of Leetcode easy questions. I didn't have any prior front end experience so I didn't know how to answer the specific front end questions, nor did I expect them.

What I learned:
In addition to Leetcode, I needed to study for the specific role I wanted to go for. I started searching up typical front-end interview questions as well as practicing my skills by creating side projects.

Google

The first round included two technical phone interviews. The interviewer called me on my phone and sent me a google doc link. He also pastes the coding question on the doc and I dove right into trying to solve the problem. Then I became confused. I asked him questions about what's a valid input and what isn't. Then I got more confused and he spent a lot of time trying to explain. Then I told him, I didn't want to continue the interview further. There was sympathy in his voice as he tried one more time to get me to understand the problem but I was firm and we hung up.

I cried.

I cried until it was time for the next interview. The person was calling my phone and I refused to answer. They left a couple of missed calls and then my recruiter immediately tries to contact me and asked if I was still joining. I didn't answer her either.

I ghosted Google.

Google, if you're reading this I'm sorry. I've grown since then.

What I learned:

  • I had a friend pick a random problem off Leetcode and I had to solve it on a video call while sharing my screen.
  • I had recruited classmates to join me in white boarding the coding problems we encountered during our interviews in the library.
  • I had organized a study group every weekend where we tackled data structures and algorithms together and solved Leetcode problems together.

I put in the effort to practice more and more, no matter how grueling it was. I forced myself to be put on the spot more, to get used to this uncomfortable feeling and become more confident.

Microsoft

  • Year: 2019
  • Position: Software development engineer

I passed the first round interview, which was a mix of behavioral and technical, and then proceeded to the final round. This was at a conference where I had two in-person interviews. The first one, I believe I did great for the behavioral questions where I talked about my past projects that were listed on my resume. Then he hit me with a system design question. W H A T. I didn't know how to solve it but I tried anyway. Didn't solve it correctly and the interviewer showed me the correct flow at the end. When it was time for me to ask questions, I asked him for something that stuck out to him that I should improve on. He said that I need to learn how to say I don't know if I didn't know how to solve a question... Point taken.

What I learned:
I accepted the fact that I needed to say "I don't know" in the interview. But I couldn't just leave it like that. I honed my answer to be something like "Honestly, I don't know, but if I were to guess, I think ..." I like to believe this answer instead has a better impact.

Facebook

  • Year: 2020
  • Position: Full stack engineer

I was getting ghosted a lot this year, it was tough to get any company interested due to the pandemic. I was pretty happy to get someone to invite me for a first round coding interview.

This was conducted over BlueJeans and I was sent a Coderpad link. I've done a good amount of studying at this point but was still nervous because of the competitive reputation of this company. I was asked a question regarding calculating taxes. The majority of the time, the interviewer had to explain to me the MATH behind taxes. I DON'T KNOW WHY I COULDN'T MATH. It just wasn't sticking. Because I couldn't math, I couldn't come up with a working solution and then time ran out.

What I learned

  • Taxes.
  • The UMPIRE Interview strategy. I needed to know exactly how to approach a technical interview. After learning and practicing this strategy, I felt more confident on understanding the problem and solving it and pretty sure this impressed my future interviewers as well.

Wrap up

When I received the email that started out saying "Congratulations! We're pleased to offer you the position of Software engineer", I felt this burden drop from my shoulders. The constant Leetcoding, the burnouts, the vast amount of time on submitting applications, networking and still contributing to my side projects were finally done. (Maybe more like put on pause)

I promise it gets better. Utilize your community, uplift one another, and remember the reason(s) why you're striving for success.

Tips

  • Interview constantly. Interview with companies you don't care about.
  • Immediately after the interview, write down everything you've been asked. Redo the coding problems given to you. Go over what you've done and figure out what you could have done better.
  • Practice solving the questions under pressure e.g. timed, having someone watch you, think of ways to optimize the algorithm right then and there, etc.
  • Utilize the Pomodoro technique. Learning this technique helped me take my Data structure and algorithm studying seriously. I stayed alert and focused and was able to increase my completed questions on Leetcode from 50 to 100.
  • If you're financially able to, invest in Leetcode Premium. It helped to see the solution when I was stuck on a problem.
  • Depending on what software engineering role you're going for, you'd need to study for the position as well. For example, front end roles will ask you about AJAX, the DOM tree, etc and iOS roles would ask you questions about Swift and Objective C.

Resources

For more content like this, be sure to follow me on Twitter!

Latest comments (38)

Collapse
 
supermari0s profile image
Μάριος

Thanks for sharing your experiences

Collapse
 
vetonmuhaxhiri profile image
Veton Muhaxhiri

How were you able to get so many interviews in huge companies like facebook, google ? How did you apply or what made them to invite you for interview ?

Collapse
 
farhanaxmustafa profile image
Farhana

Hey Veton, I kept my Linkedin up to date and I attended many conferences where companies were actively recruiting. A majority of my interviews were through recruiters who reached out to me through either LinkedIn or these conferences (Grace Hopper, Tapia)

I made sure my GitHub was also up to date with projects that had screenshots and/or a live demo link in the readme file.

Collapse
 
yosolita1978 profile image
Cristina Rodriguez

I can relate so much to everything that you wrote here.

Collapse
 
phantas0s profile image
Matthieu Cneude

Quizz: what's the most important for a company?

  1. The knowledge of a developer at time T.
  2. A developer interested by his (or her) work, who wants to improve and who has the will and capacity to adapt.

I didn't see many interviews testing the second point. Instead we have interviewers throwing a subset of all possible questions one can ask a developer. How many questions is that? Way too many for us to keep our sanity.

This is ridiculous.

Collapse
 
raddevus profile image
raddevus

This is a great article. Very interesting to see what goes on during interviews at various places. Do you also create a portfolio of projects that you supply to the Interviewers? I try to build complete small apps that display my abilities. I recently did that with my entry in the #DOhackathon here at dev.to. Have you submitted an entry? Let me know I'd like to check it out. If you get a moment check out my entry and let me know what you think. Thanks.

Collapse
 
galdamez profile image
Jose Galdamez

I've considered sharing my coding interview failures as well since I've had the luxury of not passing three of the four FANG company final stages. This post provides lots of great inspiration and pointers, so thanks for that! My tech career over twenty years has primarily been a mix of learning on the job and getting new roles by referrals. Since I didn't complete the traditional computer science path, I have less of an advantage when it comes to the LeetCode questions. I'm not saying I couldn't catch up, but there is less motivation to do so when work remains stable. I do like the approach of coding homework assignments over brain teaser quizzes that put the candidate on the spot.

Collapse
 
sanchezpepe profile image
José Sánchez

Great article Farhana! Helps a lot to keep up practicing and learning from failed interviews. I struggle a lot with rejections.

Collapse
 
whobeu profile image
Robert G. Schaffrath

I am 58 and, after reading this, I have to say I am thankful that I am no longer looked at as a technical job candidate by employers. Some of these interview processes are just mind boggling and nothing like I had to go through decades ago. Good luck to the current and up and coming generation.

Collapse
 
automationhacks profile image
Gaurav Singh • Edited

Thanks for sharing your experience Farhana. In a world where every engineer is stuck creating the perfect persona, It is quite easy to forget that our failures are what keep us real and i believe every engineer has a backstory like this. Forming atomic habits of spending more time on leetcode and improving your skills inline with what the interview process expects (however flawed it might be) is one way to come out of this though. Also, don't lose motivation. Rejections are natural and can happen in surprising ways. There is something to be learned from every rejection.

Collapse
 
farhanaxmustafa profile image
Farhana

Nicely said Gaurav! Agree with everything said.

Collapse
 
cristobalsoto profile image
Cristóbal Soto Vásquez

interview with companies you dont care? that is so selfish....

Collapse
 
farhanaxmustafa profile image
Farhana

Thanks for the read Cristóbal! Continually practicing and getting better, no matter the company, helps all of us in the long run. Practice makes perfect :)

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more