Technical Interviews are a key part of the hiring process. They’re designed to assess our problem-solving ability, technical knowledge, and coding skills. It involves two-way communication. It's important that the interviewer is able to understand us.

  1. Read the problem carefully. Highlight the keywords in the problem. Look at the examples carefully. It might be a special case or might not be big enough.
  2. To communicate understanding, repeat the question back in your own words and get clarification on any misunderstandings. Ask for as much information as the interviewer is willing to give you (e.g. input/output constraints) because it shows your problem-solving abilities to independently think of every possible detail. Ask if you can use a pen and paper to draw out your approach.
  3. Come up with a very basic brute-force approach. Explain how it will work and what could be its runtime. Ask the interviewer what they think about your approach. Don't code until you are asked to.
  4. If they ask you to go for a more optimized approach. Take a moment to think and explain your thought process. (Don't forget to communicate with the interviewer that you need a moment to process.)
  5. Once the interviewer and you are on the same page and they ask you to code, write a beautiful code. Keep explaining what you are writing and for what purpose.
  6. Focus on keeping your code intuitive and understandable. Demonstrate familiarity of clean coding best practices.
  7. Run test cases when you are asked to. The interviewer might suggest some changes in your code before running the test cases.

It's always good to communicate with yourself for more practice while leet coding.