From 2e84bea6babd276d583690f5d3d0a1f3e543d773 Mon Sep 17 00:00:00 2001 From: Yangshun Tay Date: Sun, 14 Jul 2019 16:49:09 -0700 Subject: [PATCH] website: add front matter --- algorithms/array.md | 5 ++++- algorithms/{bit-manipulation.md => binary.md} | 5 ++++- algorithms/dynamic-programming.md | 5 ++++- algorithms/geometry.md | 5 ++++- algorithms/graph.md | 5 ++++- algorithms/hash-table.md | 7 ++++++- algorithms/heap.md | 5 ++++- algorithms/interval.md | 5 ++++- algorithms/linked-list.md | 5 ++++- algorithms/math.md | 5 ++++- algorithms/matrix.md | 5 ++++- algorithms/oop.md | 5 ++++- algorithms/permutation.md | 5 ++++- algorithms/queue.md | 5 ++++- algorithms/sorting-searching.md | 5 ++++- algorithms/stack.md | 5 ++++- algorithms/string.md | 5 ++++- algorithms/topics.md | 5 ++++- algorithms/tree.md | 5 ++++- non-technical/behavioral.md | 5 +++++ non-technical/cover-letter.md | 5 +++++ non-technical/interview-formats.md | 5 ++++- non-technical/negotiation.md | 5 ++++- non-technical/psychological-tricks.md | 5 ++++- non-technical/questions-to-ask.md | 5 ++++- non-technical/resume.md | 5 ++++- non-technical/self-introduction.md | 5 ++++- preparing/cheatsheet.md | 6 ++++-- 28 files changed, 116 insertions(+), 27 deletions(-) rename algorithms/{bit-manipulation.md => binary.md} (90%) diff --git a/algorithms/array.md b/algorithms/array.md index 4da89ef7..788cc15e 100644 --- a/algorithms/array.md +++ b/algorithms/array.md @@ -1,4 +1,7 @@ -# Arrays +--- +id: array +title: Array +--- #### Hard diff --git a/algorithms/bit-manipulation.md b/algorithms/binary.md similarity index 90% rename from algorithms/bit-manipulation.md rename to algorithms/binary.md index 91fcaa69..472e6bb6 100644 --- a/algorithms/bit-manipulation.md +++ b/algorithms/binary.md @@ -1,4 +1,7 @@ -# Bit Manipulation +--- +id: binary +title: Binary +--- - How do you verify if an interger is a power of 2? - Write a program to print the binary representation of an integer. diff --git a/algorithms/dynamic-programming.md b/algorithms/dynamic-programming.md index 15dc4649..0542c2e2 100644 --- a/algorithms/dynamic-programming.md +++ b/algorithms/dynamic-programming.md @@ -1,4 +1,7 @@ -# Dynamic Programming +--- +id: dynamic-programming +title: Dynamic Programming +--- - Given a flight itinerary consisting of starting city, destination city, and ticket price (2D list) - find the optimal price flight path to get from start to destination. (A variation of Dynamic Programming Shortest Path) - Given some coin denominations and a target value `M`, return the coins combination with the minimum number of coins. diff --git a/algorithms/geometry.md b/algorithms/geometry.md index 90be3b8a..48d81836 100644 --- a/algorithms/geometry.md +++ b/algorithms/geometry.md @@ -1,4 +1,7 @@ -# Geometry +--- +id: geometry +title: Geometry +--- - You have a plane with lots of rectangles on it, find out how many of them intersect. - Which data structure would you use to query the k-nearest points of a set on a 2D plane? diff --git a/algorithms/graph.md b/algorithms/graph.md index 2bca4ee2..d17ea57c 100644 --- a/algorithms/graph.md +++ b/algorithms/graph.md @@ -1,4 +1,7 @@ -# Graph +--- +id: graph +title: Graph +--- - Given a list of sorted words from an alien dictionary, find the order of the alphabet. - Alien Dictionary Topological Sort question. diff --git a/algorithms/hash-table.md b/algorithms/hash-table.md index fe896662..be7b91e4 100644 --- a/algorithms/hash-table.md +++ b/algorithms/hash-table.md @@ -1,4 +1,9 @@ -# Hash Table +--- +id: hash-table +title: Hash Table +--- + +Hash Table - Describe an implementation of a least-used cache, and big-O notation of it. - A question involving an API's integration with hash map where the buckets of hash map are made up of linked lists. diff --git a/algorithms/heap.md b/algorithms/heap.md index a181b520..54a803ac 100644 --- a/algorithms/heap.md +++ b/algorithms/heap.md @@ -1,4 +1,7 @@ -# Heap +--- +id: heap +title: Heap +--- - Merge `K` sorted lists together into a single list. - Given a stream of integers, write an efficient function that returns the median value of the integers. diff --git a/algorithms/interval.md b/algorithms/interval.md index e01d7e4f..ca479fa9 100644 --- a/algorithms/interval.md +++ b/algorithms/interval.md @@ -1,4 +1,7 @@ -# Interval +--- +id: interval +title: Interval +--- - Given a list of schedules, provide a list of times that are available for a meeting. diff --git a/algorithms/linked-list.md b/algorithms/linked-list.md index 6e72102d..935a1fdc 100644 --- a/algorithms/linked-list.md +++ b/algorithms/linked-list.md @@ -1,4 +1,7 @@ -# Linked List +--- +id: linked-list +title: Linked List +--- - Given a linked list, in addition to the next pointer, each node has a child pointer that can point to a separate list. With the head node, flatten the list to a single-level linked list. - [Source](http://blog.gainlo.co/index.php/2016/06/12/flatten-a-linked-list/) diff --git a/algorithms/math.md b/algorithms/math.md index da13084b..e3d6a030 100644 --- a/algorithms/math.md +++ b/algorithms/math.md @@ -1,4 +1,7 @@ -# Math +--- +id: math +title: Math +--- - Create a square root function. - Given a string such as "123" or "67", write a function to output the number represented by the string without using casting. diff --git a/algorithms/matrix.md b/algorithms/matrix.md index 815f22d0..46f0d1c9 100644 --- a/algorithms/matrix.md +++ b/algorithms/matrix.md @@ -1,4 +1,7 @@ -# Matrix +--- +id: matrix +title: Matrix +--- - You're given a 3 x 3 board of a tile puzzle, with 8 tiles numbered 1 to 8, and an empty spot. You can move any tile adjacent to the empty spot, to the empty spot, creating an empty spot where the tile originally was. The goal is to find a series of moves that will solve the board, i.e. get `[[1, 2, 3], [4, 5, 6], [7, 8, - ]]` where - is the empty tile. - Boggle implementation. Given a dictionary, and a matrix of letters, find all the words in the matrix that are in the dictionary. You can go across, down or diagonally. diff --git a/algorithms/oop.md b/algorithms/oop.md index 4554570a..e7023859 100644 --- a/algorithms/oop.md +++ b/algorithms/oop.md @@ -1,4 +1,7 @@ -# Object-Oriented Programming +--- +id: oop +title: Object-Oriented Programming +--- - How would you design a chess game? What classes and objects would you use? What methods would they have? - How would you design the data structures for a book keeping system for a library? diff --git a/algorithms/permutation.md b/algorithms/permutation.md index af9c3148..c1abc851 100644 --- a/algorithms/permutation.md +++ b/algorithms/permutation.md @@ -1,4 +1,7 @@ -# Permutation +--- +id: permutation +title: Permutation +--- - You are given a 7 digit phone number, and you should find all possible letter combinations based on the digit-to-letter mapping on numeric pad and return only the ones that have valid match against a given dictionary of words. - Give all possible letter combinations from a phone number. diff --git a/algorithms/queue.md b/algorithms/queue.md index fcec6148..2b7d4eef 100644 --- a/algorithms/queue.md +++ b/algorithms/queue.md @@ -1,4 +1,7 @@ -# Queue +--- +id: queue +title: Queue +--- - Implement a Queue class from scratch with an existing bug, the bug is that it cannot take more than 5 elements. - Implement a Queue using two stacks. You may only use the standard `push()`, `pop()`, and `peek()` operations traditionally available to stacks. You do not need to implement the stack yourself (i.e. an array can be used to simulate a stack). diff --git a/algorithms/sorting-searching.md b/algorithms/sorting-searching.md index 1ce6e879..a090d78e 100644 --- a/algorithms/sorting-searching.md +++ b/algorithms/sorting-searching.md @@ -1,4 +1,7 @@ -# Sorting and Searching +--- +id: sorting-searching +title: Sorting and Searching +--- - Sorting search results on a page given a certain set of criteria. - Sort a list of numbers in which each number is at a distance `K` from its actual position. diff --git a/algorithms/stack.md b/algorithms/stack.md index 740d7f56..4fa4a882 100644 --- a/algorithms/stack.md +++ b/algorithms/stack.md @@ -1,4 +1,7 @@ -# Stack +--- +id: stack +title: Stack +--- - Implementation of an interpreter for a small language that does multiplication/addition/etc. - Design a `MinStack` data structure that supports a `min()` operation that returns the minimum value in the stack in O(1) time. diff --git a/algorithms/string.md b/algorithms/string.md index 24208d1c..02d9ba3d 100644 --- a/algorithms/string.md +++ b/algorithms/string.md @@ -1,4 +1,7 @@ -# String +--- +id: string +title: String +--- - Output list of strings representing a page of hostings given a list of CSV strings. - Given a list of words, find the word pairs that when concatenated form a palindrome. diff --git a/algorithms/topics.md b/algorithms/topics.md index 02064ff3..e8e4753f 100644 --- a/algorithms/topics.md +++ b/algorithms/topics.md @@ -1,4 +1,7 @@ -# Topics +--- +id: topics +title: Topics +--- ## Arrays diff --git a/algorithms/tree.md b/algorithms/tree.md index 9e7f9969..df232716 100644 --- a/algorithms/tree.md +++ b/algorithms/tree.md @@ -1,4 +1,7 @@ -# Tree +--- +id: tree +title: Tree +--- - Find the height of a tree. - Find the longest path from the root to leaf in a tree. diff --git a/non-technical/behavioral.md b/non-technical/behavioral.md index c96f6834..72eae873 100644 --- a/non-technical/behavioral.md +++ b/non-technical/behavioral.md @@ -1,3 +1,8 @@ +--- +id: behavioral +title: Behavioral +--- + # Behavioral Learn the [STAR](https://en.wikipedia.org/wiki/Situation,_task,_action,_result) format. From Wikipedia: diff --git a/non-technical/cover-letter.md b/non-technical/cover-letter.md index 3229620d..339b8fbc 100644 --- a/non-technical/cover-letter.md +++ b/non-technical/cover-letter.md @@ -1,3 +1,8 @@ +--- +id: cover-letter +title: Cover Letter +--- + # Cover Letter - A short introduction describing who you are and what you're looking for. diff --git a/non-technical/interview-formats.md b/non-technical/interview-formats.md index 17448070..3d0d6ffd 100644 --- a/non-technical/interview-formats.md +++ b/non-technical/interview-formats.md @@ -1,4 +1,7 @@ -# Interview Formats +--- +id: interview-formats +title: Interview Formats +--- The following interview formats are based on my experience interviewing with Bay Area companies. Formats would differ slightly depending on the roles you are applying to. Many companies like to use [CoderPad](https://coderpad.io/) for collaborative code editing. CoderPad supports running of the program, so you might be asked to fix your code such that it can be run. For front end interviews, many companies like to use [CodePen](https://codepen.io/), and it will be worth your time to familiarize yourself with the user interfaces of such web-based coding environments. diff --git a/non-technical/negotiation.md b/non-technical/negotiation.md index e63d339f..c85f624c 100644 --- a/non-technical/negotiation.md +++ b/non-technical/negotiation.md @@ -1,4 +1,7 @@ -# Negotiation +--- +id: negotiation +title: Negotiation +--- ### Ten Rules of Negotiation diff --git a/non-technical/psychological-tricks.md b/non-technical/psychological-tricks.md index 80e60e25..8a18bb80 100644 --- a/non-technical/psychological-tricks.md +++ b/non-technical/psychological-tricks.md @@ -1,4 +1,7 @@ -# Psychological Tricks +--- +id: psychological-tricks +title: Psychological Tricks +--- Here are some psychological tricks that will help you ace a job interview. diff --git a/non-technical/questions-to-ask.md b/non-technical/questions-to-ask.md index 9682f91e..fc356aa5 100644 --- a/non-technical/questions-to-ask.md +++ b/non-technical/questions-to-ask.md @@ -1,4 +1,7 @@ -# Questions to Ask +--- +id: questions-to-task +title: Questions To Ask +--- Here are some good questions to ask at the end of the interview, extracted from various sources. The ones in **bold** are the ones that tend to make the interviewer go "That's a good question" and pause and think for a bit. diff --git a/non-technical/resume.md b/non-technical/resume.md index 24208c7f..78594068 100644 --- a/non-technical/resume.md +++ b/non-technical/resume.md @@ -1,4 +1,7 @@ -# Resume +--- +id: resume +title: Resume +--- The following content is by Christina Ng and rephrased for the purpose of this handbook. You can follow her on [Medium](https://medium.com/@christinang89) or [Quora](https://www.quora.com/profile/Christina-Ng). diff --git a/non-technical/self-introduction.md b/non-technical/self-introduction.md index 182283ae..ae2e9d2f 100644 --- a/non-technical/self-introduction.md +++ b/non-technical/self-introduction.md @@ -1,4 +1,7 @@ -# Self Introduction +--- +id: self-introduction +title: Self Introduction +--- You can rephrase the question like this: diff --git a/preparing/cheatsheet.md b/preparing/cheatsheet.md index 5d2f8ff6..96f4b210 100644 --- a/preparing/cheatsheet.md +++ b/preparing/cheatsheet.md @@ -1,5 +1,7 @@ -Interview Cheatsheet -== +--- +id: interview-cheatsheet +title: Interview Cheatsheet +--- This is a straight-to-the-point, distilled list of technical interview Do's and Don'ts, mainly for algorithmic interviews. Some of these may apply to only phone screens or whiteboard interviews, but most will apply to both. I revise this list before each of my interviews to remind myself of them and eventually internalized all of them to the point I do not have to rely on it anymore.