It was a regular day of my boring work when I got an email. It was from a startup and they were interested in my profile. I had already thought of quiting like four times the same day and felt this might be my way out .
I looked in to the company and I was very impressed with what they make.
I decided to write back. They had two positions available and I had opted for Big-Data Engineer. The response came:
I am connecting with you on context to your application here: Full-Stack Engineer.
Before we proceed with the interview process (and to save time), I have a couple of questions for you.
It was a small mistake on their end to have typed Full-Stack instead of Big-Data. After reading the job description I felt that this position was also equally interesting. So I answered the question anyways. We scheduled an interview but now I am confused to which position I am being interviewed.?!
I wrote to clarify that and the response came.
No special preparation required. Whatever language you are comfortable with should do.
During recruitment test we do not try to assess you in Full Stack or either in Big Data. We just look for ‘good engineering’.
We will hand you a generic coding assignment. You would be free to make use of internet shall you want so that you can refer to technical documentation or even refer to stackoverflow for solutions.
I was very happy with their response. The company and the people just seems perfect. But the `No special preparation` part got in to my subconscious mind. I was totally not preparing for the interview.
Since my work requires me to be in front of computer all day. I limit the use of internet and computer after work. I also have a limited internet connection in my room.
I had changed the OS from Debian to Manjaro the previous day (because Debian sucks on laptops) and have’t installed any softwares. It was my day off from work and I had listened to Bansuri Flute all afternoon and exhausted my data.
The interview was sheduled for 5PM and when I did’nt get a call after 5.30, I emailed them. They send me a link to a video call and apologized for the delay.
First 30 minutes looking at my resume they asked a few questions on the projects that I have done and then we talked about their company and the work they do. Later we moved for the coding assignment and now they need to see my screen. This is where everything turns upside down.
Firefox or the OS is not supporting the share screen option on the video call service website. I tried to install Chrome and Chromium but the internet is very slow since I have exhausted the data. We tried Hangout, Skype and later they called me on phone. They understood the internet was slow and droped the plan of screen sharing.
The task was to parse a JSON file based on some conditions and loop infinitely — until we reach the deepest key and print the output in some format. And I have 50 minutes. Piece of cake right?
Wait. Where is sublime? I haven’t installed it? Please don’t say you have’t installed ipython!
They shared a link to a JSON file on google drive to an email that I have on my domain. Bottom line, I can view the file but cannot download it. I coppied content and it did not parse. I asked them to sent the file through email.
All these took about thirty minutes and the task was also explained in a 17 minutes video which I couldn’t watch because you know — the slow internet. Now I knew things were getting out of hand and tried to complete the task by reading the requirements.
Just when the time was about to exceeded I sent the the partial output in a different format with the code. After some time I again sent the output with the code. (now the time has exceeded)
Next day morning I evaluated the seen, it turns out I had totally forgotten about the formating and the output was not even close both the times.
After understanding the problem, it took me about 5 minutes to get to the correct output. During the interview I took one and half hours and sent the wrong output twice. Just for my peace of mind, I sent the third output as well :P
Recap: To fail in a coding interview which you can easily crack.
- Do not prepare for the interview even if they say it is required.
- Make sure you know nothing about how they are conducting the interview or have these things not functioning: Skype, Hangout, Screen Sharing.
- Make sure you do not have any of your favorite tools ready. Best case: re install the Operating System. Even the best violinist cannot perform without a tuned violin.
- Have a slow internet. Watch youtube and exhaust your limited data.
- Do not read the requirements. Best case: Assume that you unnderstood the task and start coding.
- Panic! Panic! and Panic!
Have fun failing :)