- How to Succeed in a System Design Interview
- System Design Cheatsheet
- How to choose a database in 2018
- https://github.com/dwyl/how-to-choose-a-database
- Video: System Design Introduction For Interview
- Video: Intro to Architecture and Systems Design Interviews
- Video playlist: System Design
- Book Cracking the Coding Interview (has an excellent section that will get you well-prepared for these types interviews, as well as many others)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class BucketNode { | |
| _previous = null; | |
| _next = null; | |
| constructor (key, value) { | |
| this.key = key; | |
| this.value = value; | |
| } | |
| } |
- What are your biggest goals/initiatives right now?
- What are some of your biggest risks for the next year?
- What is your approach to managing technical debt?
- How is service availability managed and monitored? Is there overnight on-call?
- How do you manage sustainable pacing for the team during high-stress periods?
- How are engineering-focused initiatives balanced against business-focused initiatives?
- What is a competency you’re particularly keen on building here?
- What's your favorite thing about working at this company? What's something you hope to help improve?
- What is something that is really exciting you now, either in the industry or at this company?
- What process or compliance initiatives are you working towards or operating in?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const points = ["v1x", "v1y", "v1z", "v2x", "v2y", "v2z", "v3x", "v3y", "v3z"]; | |
| class Trie { | |
| children = {}; | |
| insert(triangle, order = 0) { | |
| if (order === points.length) { | |
| return; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [{"v1":{"x":0.360463,"y":0,"z":2.525},"v2":{"x":0,"y":0,"z":2.98309},"v3":{"x":0.360463,"y":0.2,"z":2.525}},{"v1":{"x":0,"y":0,"z":2.98309},"v2":{"x":0,"y":0.2,"z":2.98309},"v3":{"x":0.360463,"y":0.2,"z":2.525}},{"v1":{"x":0,"y":0,"z":2.98309},"v2":{"x":0.128412,"y":0,"z":3},"v3":{"x":0,"y":0.2,"z":2.98309}},{"v1":{"x":0.128412,"y":0,"z":3},"v2":{"x":0.128412,"y":0.2,"z":3},"v3":{"x":0,"y":0.2,"z":2.98309}},{"v1":{"x":0.516641,"y":0,"z":2.94889},"v2":{"x":0.516641,"y":0.2,"z":2.94889},"v3":{"x":0.128412,"y":0,"z":3}},{"v1":{"x":0.128412,"y":0,"z":3},"v2":{"x":0.516641,"y":0.2,"z":2.94889},"v3":{"x":0.128412,"y":0.2,"z":3}},{"v1":{"x":0.878412,"y":0,"z":2.79904},"v2":{"x":0.878412,"y":0.2,"z":2.79904},"v3":{"x":0.516641,"y":0,"z":2.94889}},{"v1":{"x":0.516641,"y":0,"z":2.94889},"v2":{"x":0.878412,"y":0.2,"z":2.79904},"v3":{"x":0.516641,"y":0.2,"z":2.94889}},{"v1":{"x":1.18907,"y":0,"z":2.56066},"v2":{"x":1.18907,"y":0.2,"z":2.56066},"v3":{"x":0.878412,"y":0,"z":2.79904}},{"v1":{"x":0.878412,"y":0,"z":2.79904}, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Class representing a Trie data structure */ | |
| export default class Trie { | |
| /** | |
| * Creates a Trie | |
| * @return {Object} Trie | |
| */ | |
| constructor() { | |
| this.words = 0; | |
| this.prefixes = 0; |
- Demo: https://jeremyckahn.github.io/farmhand/
- Source code: https://github.com/jeremyckahn/farmhand
For as long as I can remember, I've always hide a hobby side project. For a long time I focused on open source animation tools, but more recently I've shifted my focus back to my true passion: Game development.
I've taken what I've learned as an open source web developer and applied it to an idea that I've been interested in for years.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function Parent () { console.log('parent') } | |
| Parent.prototype.parentMethod = function () { | |
| console.log('this is a method on the parent object') | |
| } | |
| function Child () { console.log('child') } | |
| Child.prototype = new Parent() | |
| var child = new Child() | |
| child.parentMethod() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function Parent () { console.log('parent') } | |
| Parent.prototype.parentMethod = function () { console.log('this is a method on the parent object') } | |
| function Child () { console.log('child') } | |
| Child.prototype = new Parent() | |
| var child = new Child() | |
| child.parentMethod() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * @param {Object} oldData | |
| * @param {Object} newData | |
| * @returns {Array.<string>} A list of key names that are different between | |
| * oldData and newData. | |
| */ | |
| export const getChangedProperties = (oldData, newData) => | |
| Object.keys(oldData).reduce( | |
| (acc, key) => (oldData[key] !== newData[key] ? [...acc, key] : acc), | |
| [] |