contents: add coding signals

pull/141/head
Yangshun Tay 5 years ago
parent 70377821e5
commit 1cb81bc9b3

@ -9,5 +9,6 @@ Coding interviews are tough. But fortunately, there's a tried and prove method t
1. Study CS fundamentals
1. Practice solving algorithm questions
1. Internalize the [Do's and Don'ts of interviews](./cheatsheet.md)
1. Know what [signals and behaviors](./coding-signals.md) interviewers are looking out for
1. Practice doing mock interviews
1. Interview successfully to get the job

@ -0,0 +1,96 @@
---
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.
## 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
#### 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
#### Trade-offs analysis
- 👍 Explained the trade-offs of different approaches clearly and correctly
- 👎 Failed to describe trade-offs of different approaches
#### 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)
#### 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)
#### 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)
- 👎 Was not able to discover and fix bugs even after being prompted
## 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)

@ -19,6 +19,7 @@ module.exports = {
'best-practice-questions',
'during-coding-interview',
'cheatsheet',
'coding-signals',
'mock-interviews',
],
},

Loading…
Cancel
Save