Pair Programming Interview I
Under the Hood
A few days back I shared the first round of interviews in coinbase with the promise to keep sharing the journey irrespective of the outcome. Here we go with the next round of information, feedback and tips.
Yesterday, I gave 2 rounds of interviews, pair programming one followed by system designs. Let’s commence with the first pair programming round.
The first round is testing the existing react application. They provide me with an existing react application with some test case templates already written. All I’ve to do is to write the basic test cases using my programming skills and make sure those test cases are passed successfully.
Don’t worry if you don’t know anything about test cases or have zero experience while working with test cases. The existing application has already contained the sample code or templates with inbuilt syntax for working with the testing library in react.
There was a total of 6 testing questions, meaning, you have to write 6 test cases or logic. I would say for the beginner it might be too difficult but the level is okay, not too hard not too difficult. Initially, it seems lit tricky to me but the interviewer explained and helped me in guiding how to proceed.
I believe if you are not able to proceed in answering the question in any direction then take a bit of help by asking questions back to your interviewer. It’s okay not to understand the question or get the answer on the first glimpse.
Although it's not important to prepare but understand how to react to testing library works. They are not looking for you to know everything about the framework or the valid and correct answer they believe in helping you in the journey and understanding how many capabilities you have in writing and working with new stacks.
There is no right or wrong way the only thing matters is to do the question anyhow in whatever way you can. Also in the end I was asked to simply my codebase for production-based. Every time in every interview I was asked this single question how will you simplify your codebase and make it eligible for production.
I will give you tips for that, always look and answer that question with the following suggestions in mind -
- For production-based code, I will first check if repeated codebase can be avoided and follow the concept of reuse.
- For production-based code, I will look for performance and try to reduce re-rendering in the existing codebase.
- For production-based code, I will improve the naming convention and add proper names and architecture to the entire repository.
- For production-based code, I will try to reduce the no number of lines of code, for example using the inline if-else syntax of ES6. Trust me paying attention to these factors will anyway make your codebase ready for production-based. Executing these patterns is not easy and most companies are not following them rigidly.
It does not matter will you be able to do these at the time of the interview what matter is that you have things in your mind and if given the required time you will do it. They just want to see that I believe.
- Keep talking to the interviewer
- If you don’t know start by telling the approach and what can be the bottleneck for you, don’t just stop in the middle.
- Make things light and smooth it's not an investigation, forget about the result, and take this opportunity as a way to understand the companies employed and their culture.
- Talk and make the bidirectional conversation, I mean understand that whether the company is good for you or not, don’t just be foolish by the name of the brand, most of the brands are not good as they might look from the outside.
- Be calm and think in the interview even if you don’t know the answer. It’s difficult but this will happen in most of the interviews so if you keep calm and try to think and tell the approach, trust me it will work.
- Just read the basics before the interview no need to worry about not knowing in detail.
- It's okay not to be correct in the interview, honestly, most of the time it's not about being right or wrong it's just about being thoughtful in your execution.
Until next time, have a good day, here is the github repository of the questions asked inside. I’ve added the questions in the readme file. Don’t forget to follow and stay tuned, have a good day, people.