× logo Home HTML CSS Javascript React-App Angular logo
logo

Virtual Tech Interview [ Metta ]

Skill 1: Communication


Ask clarifying questions.
* Explore the question and make sure you fully understand what has been asked. Ask about possible inputs and edge cases.

* Example:
If asked to sort list, could the list be empty NIl? Too big to fit in memory?
Verbally explain your approach/thought process.

* Consider the 'why' and 'how' before jumping into coding.
* Out loud, explain why you've decided on a certain data structure?
* How are you planning on testing for correctness?

Listen for questions or tips from your interviewer.
* Your interviewer wants you to succeed.
* Help them as they help you to succeed by continuously talking out loud and letting them know your thought process.
* Listening for to them may guide to towards revealing flows in your assumptions or approach.

Skill 2: Problem Solving


* Think of the most optimal solution you can come up with, then iterate.
* Think about worst case time and space complexities (Big notation).
* It is important to try to come up with a semi-optimal solution rather than a brute force solution due to time constraints.
* This is especially important as you proceed beyond the technical screen interview into the 2nd/final round!
* It is okay to iterate as you go!
* If stuck, ask yourself: "What is the easiest way to solve the problem?"

Skill 3: Coding


* Practice translating thoughts into code quickly.
* Be familiar with the language you are using.
* Focus on clean and executable code.
* Is it organized and does it capture the right logical structure?
* Is it optimized?
* Be proactive in discussing time and space complexity.
* If you forget the language syntax, ask your interviewer.
* Use your interviewer as a human compiler.

Skill 4: Verification


* Proactively walk through your code with sample data.
* Propose test cases that cover the full functionality and classes of inputs.
* Proactively reason about edge cases as boundaries between different classes of inputs.
Example:
* Negative numbers, zero, positive numbers
* Bugs are inevitable.
* The goal is to flush them out with your tests.
* Don't aim for perfection, aim for finding the bugs.

logo