--- id: coding-signals title: Coding interview signals keywords: [algorithm, coding, interview, signals, behavior] toc_max_heading_level: 2 --- Signals interviewers look out for during coding interviews | Tech Interview Handbook The point of interviews is for interviewers to extract signals from certain candidate behaviors. In coding interviews, the signals can be broadly classified into the following categories: Problem Solving, Technical Competency, Testing, and Communication. When interviewers take down interview feedback, these are likely what is on their feedback sheet. Refer to the [Meta/Facebook's Onsite Interview Guide](https://www.metacareers.com/swe-prep-onsite/) for more information. ## Communication ### Clarify problem - 👍 Appropriately asked good, clarifying questions about the problem - 👎 Failed to confirm understanding/ask appropriate questions ### Communicating approach - 👍 Able to explain overall approach, technical terms, and acronyms (where applicable) - 👎 Failed to effectively explain overall approach, technical terms, and acronyms (where applicable) ### Explains while coding - 👍 Explains what the code is doing while coding, especially for parts that aren't obvious - 👎 Keeps silent during coding, or just reading out the code without much explanation ## Problem solving ### Understanding the problem - 👍 Understood the key aspects of the problem quickly - 👎 Had difficulty in understanding the key aspects of the problem ### Solution/approach - 👍 Approached the problem in a systematic and logical manner - 👎 Did not demonstrate a logical thought process for approaching the problem ### Trade-offs analysis - 👍 Came up with multiple solutions and explained the trade-offs of each clearly and correctly - 👎 Failed to describe trade-offs of different solutions ### Improving the solution - 👍 Suggested a more efficient solution when prompted, or proactively coming up with a better solution - 👎 Had difficulty in coming up with a more efficient solution even after being prompted ### Complexity analysis - 👍 Able to determine the algorithmic time and space complexity - 👎 Was not able to determine the algorithmic time and space complexity (explain why TC came up with such an answer) ### Hinting - 👍 Did not require any major hints - 👎 Needed plenty of hints ## Technical competency ### Speed - 👍 Quickly implemented a working solution - 👎 Was not able to complete the solution ### Correctness/Accuracy - 👍 Implemented the solution correctly (e.g., working solution, minimal bugs) - 👎 Unable to correctly implement a solution (e.g., non-working solution, incorrect logic, and/or serious bugs) ### Mastery of chosen programming language - 👍 Demonstrated mastery of the chosen programming language - 👎 Does not seem to be familiar with the chosen programming language ### Implementation - 👍 Implementation was clean and straightforward - 👎 Implementation was unnecessarily complex and/or messy ### Coding style - 👍 Coding style was neat (proper indentation, spacing, and no bad practices) - 👎 Coding style was messy (inconsistent indentation, weird spacings, etc.) ## Testing ### Common cases - 👍 Tested their code against various typical cases - 👎 Failed to test the code against typical cases ### Corner cases - 👍 Found and handled corner/edge cases - 👎 Failed to consider corner/edge cases ### Self-correction - 👍 Identified and corrected bugs in the code (where applicable) - 👎 Not able to discover and fix bugs even after being hinted/prompted