seo: add social image

pull/272/head
Yangshun Tay 3 years ago
parent 5e137e236d
commit 75c75293b1

@ -15,6 +15,10 @@ sidebar_label: Array
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-array.png" />
</head>
## Introduction
Arrays hold values of the same type at contiguous memory locations. In an array, we're usually concerned about two things - the position/index of an element and the element itself. Different programming languages implement arrays under the hood differently and can affect the time complexity of operations you make to the array. In some languages like Python, JavaScript, Ruby, PHP, the array (or list in Python) size is dynamic and you do not need to have a size defined beforehand when creating the array. As a result, people usually have an easier time using these languages for interviews.

@ -15,6 +15,10 @@ sidebar_label: Binary
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-binary.png" />
</head>
## Introduction
Knowledge of binary number system and bit manipulation is less important in coding interviews as most Software Engineers do not have to deal with bits, which is more commonly used when dealing with lower level systems and programming languages. They are still asked sometimes, so you should at least still know how to convert a number from decimal form into binary form, and vice versa, in your chosen programming language.

@ -15,6 +15,10 @@ sidebar_label: Dynamic programming
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-dynamic-programming.png" />
</head>
## Introduction
Dynamic Programming (DP) is usually used to solve optimization problems. The only way to get better at DP is to practice. It takes some amount of practice to be able to recognize that a problem can be solved by DP.

@ -15,6 +15,10 @@ sidebar_label: Geometry
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-geometry.png" />
</head>
## Introduction
Geometry is a branch of mathematics that is concerned with properties of space that are related with distance, shape, size, and relative position of figures. Advanced geometry (e.g. 3D geometry) is not taught in most Computer Science courses, so you can expect that you will only be asked on 2D geometry.

@ -15,6 +15,10 @@ sidebar_label: Graph
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-graph.png" />
</head>
## Introduction
A graph is a structure containing a set of objects (nodes or vertices) where there can be edges between these nodes/vertices. Edges can be directed or undirected and can optionally have values (a weighted graph). Trees are undirected graphs in which any two vertices are connected by exactly one edge and there can be no cycles in the graph.

@ -15,6 +15,10 @@ sidebar_label: Hash table
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-hash-table.png" />
</head>
## Introduction
A hash table (commonly referred to as hash map) a data structure that implements an associative array abstract data type, a structure that can map keys to values. A hash table uses a hash function on an element to compute an index, also called a hash code, into an array of buckets or slots, from which the desired value can be found. During lookup, the key is hashed and the resulting hash indicates where the corresponding value is stored.

@ -15,6 +15,10 @@ sidebar_label: Heap
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-heap.png" />
</head>
## Introduction
A heap is a specialized tree-based data structure which is a complete tree that satisfies the heap property.

@ -15,6 +15,10 @@ sidebar_label: Interval
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-interval.png" />
</head>
## Introduction
Interval questions are a subset of [array](./array.md) questions where you are given an array of two-element arrays (an interval) and the two values represent a start and an end value. Interval questions are considered part of the array family but they involve some common techniques hence they are extracted out to this special section of their own.

@ -15,6 +15,10 @@ sidebar_label: Linked list
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-linked-list.png" />
</head>
## Introduction
Like arrays, a linked list is used to represent sequential data. It is a linear collection of data elements whose order is not given by their physical placement in memory, as opposed to arrays, where data is stored in sequential blocks of memory. Instead, each element contains an address of the next element. It is a data structure consisting of a collection of nodes which together represent a sequence.

@ -15,6 +15,10 @@ sidebar_label: Math
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-math.png" />
</head>
## Introduction
Math is a foundational aspect of Computer Science and every programmer and computer scientist needs to have basic mathematical knowledge. Thankfully, for the purpose of coding interviews, there usually won't be that much math involved, but some basic math techniques is helpful to know as you may be asked to implement mathematical operations.

@ -15,6 +15,10 @@ sidebar_label: Matrix
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-matrix.png" />
</head>
## Introduction
A matrix is a 2-dimensional array. Questions involving matrices are usually related to [dynamic programming](./dynamic-programming.md) or [graph](./graph.md) traversal.

@ -15,6 +15,10 @@ sidebar_label: Queue
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-queue.png" />
</head>
## Introduction
A queue is a linear collection of elements that are maintained in a sequence and can be modified by the addition of elements at one end of the sequence (**enqueue** operation) and the removal of elements from the other end (**dequeue** operation). Usually, the end of the sequence at which elements are added is called the back, tail, or rear of the queue, and the end at which elements are removed is called the head or front of the queue. As an abstract data type, queues can be implemented using arrays or singly linked lists.

@ -15,6 +15,10 @@ sidebar_label: Recursion
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-recursion.png" />
</head>
## Introduction
Recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances of the same problem.

@ -15,6 +15,10 @@ sidebar_label: Sorting and searching
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-sorting-searching.png" />
</head>
## Introduction
Sorting is the act of rearranging elements in a sequence in order, either in numerical or lexicographical order, and either ascending or descending.

@ -15,6 +15,10 @@ sidebar_label: Stack
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-stack.png" />
</head>
## Introduction
A a stack is an abstract data type that supports the operations **push** (insert a new element on the top of the stack) and **pop** (remove and return the most recently added element, the element at the top of the stack). As an abstract data type, stacks can be implemented using arrays or singly linked lists.

@ -15,6 +15,10 @@ sidebar_label: String
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-string.png" />
</head>
## Introduction
A string is a sequence of characters. Many tips that apply to arrays also apply to strings. You're recommended to read the page on [Arrays](./array.md) before reading this page.

@ -6,6 +6,10 @@ keywords: [coding interview algorithms, coding interview data structures]
sidebar_label: Introduction
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms-study-cheatsheet.png" />
</head>
import InDocAd from '../\_components/InDocAd';
## What is this

@ -15,6 +15,10 @@ sidebar_label: Tree
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-tree.png" />
</head>
## Introduction
A tree is a widely used abstract data type that represents a hierarchical structure with a set of connected nodes. Each node in the tree can be connected to many children, but must be connected to exactly one parent, except for the root node, which has no parent.

@ -15,6 +15,10 @@ sidebar_label: Trie
toc_max_heading_level: 2
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/algorithms/algorithms/algorithms-trie.png" />
</head>
## Introduction
Tries are special trees (prefix trees) that make searching and storing strings more efficient. Tries have many practical applications, such as conducting searches and providing autocomplete. It is helpful to know these common applications so that you can easily identify when a problem can be efficiently solved using a trie.

@ -15,6 +15,10 @@ keywords:
sidebar_label: Common behavioral questions to practice
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/behavioral-interview-questions.png" />
</head>
import InDocAd from './\_components/InDocAd';
In the software engineer interview process, behavioral interviews may seem so much more varied and unstructured as compared to technical interviews. However, in most cases, the interviewer is actually just trying to get to know you better and there's always a set of common questions that need to be asked to achieve that.

@ -16,6 +16,10 @@ keywords:
sidebar_label: Step-by-step how to prepare
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/behavioral-interview.png" />
</head>
import InDocAd from './\_components/InDocAd';
## What are behavioral interviews

@ -8,6 +8,7 @@ displayed_sidebar: docs
pagination_next: coding-interview-cheatsheet
---
import AlgorithmCourses from './\_courses/AlgorithmCourses.md'
import InDocAd from './\_components/InDocAd';

@ -15,6 +15,10 @@ keywords:
sidebar_label: Best practices before, during, and after
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/coding-interview-cheatsheet.png" />
</head>
import InDocAd from './\_components/InDocAd';
As coding interviews mature over the years, there are now firmer expectations on how candidates should behave during a coding interview. Some of these practices also help you to exhibit "hire" signals to the interviewer by displaying your ability to communicate well and deal with roadblocks.

@ -18,6 +18,10 @@ keywords:
sidebar_label: Step-by-step how to prepare
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/coding-interview-prep.png" />
</head>
_The ultimate guide on how to efficiently prepare for your software engineering technical interview - coding test round._
If you have decided to embark on the arduous process of preparing for your coding interviews and you don't know how to maximize your time, this is the only guide you need to go from zero to hero on your coding test.

@ -13,6 +13,10 @@ keywords:
sidebar_label: Coding interview rubrics
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/coding-interview-rubrics.png" />
</head>
import InDocAd from './\_components/InDocAd';
Ever wondered how coding interviews are evaluated at top tech companies like Google, Amazon, Apple and Netflix?

@ -13,6 +13,10 @@ keywords:
sidebar_label: Study and practice plan
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/coding-interview-study-plan.png" />
</head>
import InDocAd from './\_components/InDocAd';
import QuestionList from './\_components/QuestionList';

@ -15,6 +15,10 @@ keywords:
sidebar_label: Techniques to solve questions
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/coding-interview-techniques.png" />
</head>
import InDocAd from './\_components/InDocAd';
The biggest fear most candidates will have during a coding interview is: what if I get stuck on the question and don't know how to do it? Fortunately, there are structured ways to approach coding interview questions that will increase your chances of solving them. From how to find a solution or approach, to optimizing time and space complexity, here are some of the top tips and best practices that will help you solve coding interview questions.

@ -12,6 +12,10 @@ keywords:
sidebar_label: Preparing final questions to ask
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/final-questions.png" />
</head>
import InDocAd from './\_components/InDocAd';
Something you can always count on to happen at the end of your Software Engineer interview - both technical and non-technical rounds - is for the interviewer to ask you if you "have any final questions?".

@ -16,6 +16,10 @@ keywords:
sidebar_label: Mock coding interviews
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/mock-interviews.png" />
</head>
Interviewing is a skill that you can get better at. The steps mentioned above can be rehearsed over and over again until you have fully internalized them and following those steps become second nature to you. A good way to practice is to find a friend to partner with and the both of you can take turns to interview each other.
## [interviewing.io](https://iio.sh/r/DMCa)

@ -16,6 +16,10 @@ keywords:
]
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/negotiation.png" />
</head>
import InDocAd from './\_components/InDocAd';
Key points extracted from "Ten Rules for Negotiating a Job Offer" [Part 1](http://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/) and [Part 2](https://haseebq.com/how-not-to-bomb-your-offer-negotiation/) by Haseeb Qureshi.

@ -19,6 +19,7 @@ sidebar_label: Complete salary negotiation guide
<head>
<title>What you need to know about negotiation | Tech Interview Handbook</title>
<meta property="og:title" content="What you need to know about negotiation | Tech Interview Handbook"/>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/negotiation.png" />
</head>
## Always negotiate

@ -14,6 +14,10 @@ keywords:
sidebar_label: Picking a programming language
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/programming-languages-for-coding-interviews.png" />
</head>
import InDocAd from './\_components/InDocAd';
Does the programming language you use for coding interviews matter? The answer is yes.

@ -15,6 +15,10 @@ keywords:
sidebar_label: Writing your software engineer resume
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/resume.png" />
</head>
import InDocAd from './\_components/InDocAd';
Not sure why you're still not getting shortlisted at some or all of the top tech companies? Your software engineer resume could be the issue.

@ -13,6 +13,10 @@ keywords:
sidebar_label: Preparing a self introduction
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/self-introduction.png" />
</head>
import InDocAd from './\_components/InDocAd';
"Tell me about yourself" or "give me a quick introduction of your profile" is almost always the first question encountered in your software engineer interviews. This guide teaches you how to maximize this chance to impress the interviewer by crafting the perfect self introduction.

@ -16,6 +16,10 @@ keywords:
sidebar_label: 'SWE interviews: What are they and how to prepare'
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/software-engineering-interview-guide.png" />
</head>
Nobody has time to grind hundreds of LeetCode questions, and the good news is that you don't need to do that many to actually get the job at FAANG!
I was frustrated at my job at Grab, a ridesharing company in South-east Asia and wanted to break into FAANG but I wasn't sure how to. After a few months of research, studying and practicing, I interviewed at 11 companies and managed to get 9 offers from top tech companies in the Bay Area - Facebook, Google, Airbnb, Palantir, Dropbox, Lyft, and some startups. It was a tedious process which I don't ever want to go through again. **I went through that process but with this guide, you don't have to.**

@ -11,6 +11,10 @@ keywords:
sidebar_label: System design preparation guide
---
<head>
<meta property="og:image" content="https://www.techinterviewhandbook.org/social/system-design.png" />
</head>
The objective of system design interviews is to evaluate a candidate's skill at designing real-world software systems involving multiple components. System design questions are typically given to more senior candidates (with a few years of experience). Interns aren't typically given system design questions as it is hard to expect interns to have sufficient and relevant industry experience to answer this type of questions well.
Some common questions include:

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Loading…
Cancel
Save