Tips for coding interview
Tips of this post were written in books the Cracking the Coding Interview: 189 Programming Questions and Solutions and the Elements of Programming Interviews in Java: The Insiders’ Guide
Tips for resolution of the coding problem
- clarify the question;
- work on concrete examples;
- spell out the brute-force solutions;
- think out loud;
- assume valid inputs;
- memory management;
- write small solutions ( your interviewer is not Alan Turing);
Practice is the principal tip. You need to know underlying concepts, but the theory is no substitute for practice. And the base knowledge of Computer Science is the algorithm and inside of algorithm exist a data structure.
A data structure is a particular way of storing and organizing related data items so that they can be manipulated efficiently. Usually, the correct selection of data structures is key to designing a good algorithm.
Some important data structures are Primitive types, Arrays, Strings, Lists, Stacks and queues, Binary trees, Heaps, Hash tables, Binary search trees.
For analyzing your performance a coding interview try to answer the follows questions
Analytical skills: Did you need much help solving the problem? How optimal was your solution? How long did it take you to arrive at a solution? If you had to design/architect the problem well and think through the trade-offs of different decisions?
Coding skills: Were you able to successfully translate your algorithm to reasonable code? Was it clean and well-organized? Did you think about potential errors? Did you use good style?
Culture fit/Communication skills: Do your personality and values fit with the company and team? Did you communicate well with your interviewer? Can you communicate a complex idea? Do you show passion for your work?