---
id: coding-signals
title: Coding Signals
---

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 [Facebook's Onsite Interview Guide](https://scontent.xx.fbcdn.net/v/t39.2365-6/75448664_529293754518370_5563533277542744064_n.pdf?_nc_cat=108&ccb=1-5&_nc_sid=ad8a9d&_nc_ohc=wLjmSQfO3zQAX_fyaQ7&_nc_ht=scontent.xx&_nc_rmd=260&oh=577831ef9fb665716a3651b82f7041bc&oe=613A5FE8) 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