Most of the companies are now going away from the traditional interview process where the candidates are being judged only through CP or through their project work.
Companies like Flipkart, Upstox, Udaan, Uber, Ola, etc are starting their interview with machine coding round itself.
I've personally appeared for Flipkart, Upstox, Udaan machine coding rounds and successfully cleared those.
In future, most of the companies will start coducting their interviews with machine coding.
In machine coding round, you are given a problem statement where you have to write the code in front of the interview panel. You are provided with the detailed requirements and example input and output as well. A simple example could be design sudoku.
This is particularly for Flipkart but the pattern is similar for each company.
1. OOP -
Get familiar and expertise in OOP concepts. This is the core thing which is expected in any machine coding round as we are expected to do the same in company as well while working.
2. SOLID Principles -
Learn and properly understand all the SOLID principles
3. Proper Packaging -
Entities should be placed under bean/model folder, service classes unders services folder, DB classes(dao/repositories) under dao/repository folder, likewise exceptions under exception folder, etc. You might be doing this in your current organization already and same can be applied for the machine coding round as well.
4. Clean and readable code -
Code should be clean and readable. Proper indentation, naming coventions, etc should be followed.
5. Practice -
Practice some basic machine coding questions, get that reviewed from somebody, improve on the suggestions.
6. Design Patterns -
Get familiar with some common design patterns which are widely used. Learn and understand where you can use them. Some examples could be singleton pattern, factory method design pattern, etc.
PRO Tip: If you are working professional, just consider you are coding for a production requirement ! Nothing else needed.
1. Do we need to write unit tests? - The focus should be on completing the functionality first, but if the time permits, you can also write unit tests. It'll have it's own impact.
2. Do we need to develop UI? - No. You can have simple terminal application which can take i/p from terminal. In some cases, interviewer just asks to have I/O from main method itself. For the interviewer, your backend logic & working code is more important than UI.
Upvode if you found this helpful and want to share more such articles.
Thanks for reading !