You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
3.7 KiB
111 lines
3.7 KiB
---
|
|
id: coding-signals
|
|
title: Coding interview signals
|
|
keywords: [algorithm, coding, interview, signals, behavior]
|
|
toc_max_heading_level: 2
|
|
---
|
|
|
|
<head>
|
|
<title>Signals interviewers look out for during coding interviews | Tech Interview Handbook</title>
|
|
<meta property="og:title" content="Signals interviewers look out for during coding interviews | Tech Interview Handbook"/>
|
|
</head>
|
|
|
|
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
|