From 30e5d8bccb337c7b73dbd3c23a5029775de6d84e Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 1 Oct 2017 12:20:36 -0500 Subject: [PATCH 1/3] Grammar fixes for tense, punctuation and wording. (#17) * Grammar fixes for tense, punctuation and wording. * requested PR changes --- preparing/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/preparing/README.md b/preparing/README.md index 544dd690..73a47e03 100644 --- a/preparing/README.md +++ b/preparing/README.md @@ -13,9 +13,9 @@ Java is a decent choice too but having to constantly declare types in your code One exception to the convention of allowing you to "pick any programming language you want" is when you are interviewing for a domain-specific position, such as Front End/iOS/Android Engineer roles, in which you would need to be familiar with coding algorithms in JavaScript, Objective-C/Swift and Java respectively. If you need to use a data structure that the language does not support, such as a Queue or Heap in JavaScript, perhaps try asking the interviewer whether you can assume that you have a data structure that implements certain methods with specified time complexities. If the implementation of that data structure is not crucial to solving the problem, the interviewer will usually allow it. In reality, being aware of existing data structures and selecting the appropriate ones to tackle the problem at hand is more important than knowing the intricate implementation details. -### Revise your CS101 +### Review your CS101 -If you have been out of college for a while, it will be highly advisable to revise the CS fundamentals — Algorithms and Data Structures. Personally I prefer to revise as I practiced so I scanned through my college notes and revised the various algorithms as I worked on the algorithm problems from LeetCode and Cracking the Coding Interview. +If you have been out of college for a while, it is highly advisable to review CS fundamentals — Algorithms and Data Structures. Personally, I prefer to review as I practice, so I scan through my college notes and review the various algorithms as I work on algorithm problems from LeetCode and Cracking the Coding Interview. This [interviews repository](https://github.com/kdn251/interviews) by Kevin Naughton Jr. served as a quick refresher for me. From 36769c6d4dc6dc804b6d99489686d5ae39afc3de Mon Sep 17 00:00:00 2001 From: Yangshun Tay Date: Mon, 2 Oct 2017 13:23:59 +0800 Subject: [PATCH 2/3] Add more marketing content to README (#18) --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 459ffea6..b6057b73 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +

Tech Interview Handbook

+
Tech Interview Handbook @@ -9,7 +11,7 @@

-# Tech Interview Handbook +## What is this? Carefully curated content to help you ace your next technical interview, with a focus on algorithms and the front end domain. System design questions are in-progress. Besides the usual algorithm questions, other **awesome** stuff includes: @@ -22,6 +24,14 @@ Carefully curated content to help you ace your next technical interview, with a This handbook is pretty new and help from you in contributing content would be very much appreciated! +## Why do I want this? + +This repository has content that covers all phases of a technical interview; from applying for a job to passing the interviews to offer negotiation. Technically competent candidates might still find the non-technical content helpful as well. + +## Who is this for? + +Anybody who wants to land a job at a tech company but is new to technical interviews, or seasoned engineers who have not been on the other side of the interviewing table in a while and wants to get back into the game. + ## How is this repository different? There are so many awesome books like [Cracking the Coding Interview](http://www.crackingthecodinginterview.com/) and interview-related repositories out there on GitHub, what makes this repository different? The difference is that many existing interview repositories contain mainly links to external resources whereas this repository contains top quality curated content directly for your consumption. From f7fb1ed366c20fa22d020513ce08a0228de3fbf7 Mon Sep 17 00:00:00 2001 From: Olivier Perbellini Date: Mon, 2 Oct 2017 14:03:45 +0100 Subject: [PATCH 3/3] Fix typo issue (#20) Fix the issue: https://github.com/yangshun/tech-interview-handbook/issues/19 The given example was not correct: 'E.g. "abba" and "redblueredblue" should return true' It has ben fixed by changing the input "redblueredblue" to "redbluebluered" --- algorithms/string.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/algorithms/string.md b/algorithms/string.md index e21f4cd6..a6dc8e7d 100644 --- a/algorithms/string.md +++ b/algorithms/string.md @@ -10,7 +10,7 @@ String - Write a function called `eval`, which takes a string and returns a boolean. This string is allowed 6 different characters: `0`, `1`, `&`, `|`, `(`, and `)`. `eval` should evaluate the string as a boolean expression, where `0` is `false`, `1` is `true`, `&` is an `and`, and `|` is an `or`. - E.g `"(0 | (1 | 0)) & (1 & ((1 | 0) & 0))"` - Given a pattern string like `"abba"` and an input string like `"redbluebluered"`, return `true` if and only if there's a one to one mapping of letters in the pattern to substrings of the input. - - E.g. `"abba"` and `"redblueredblue"` should return `true`. + - E.g. `"abba"` and `"redbluebluered"` should return `true`. - E.g. `"aaaa"` and `"asdasdasdasd"` should return `true`. - E.g. `"aabb"` and `"xyzabcxzyabc"` should return `false`. - If you received a file in chunks, calculate when you have the full file. Quite an open-ended question. Can assume chunks come with start and end, or size, etc.