What are the coding questions asked in the Amazon interview?
Every aspirant dreams to be a part of the infamous Amazon!
Though, it's not easy to get inside the tech giant as you will be fighting with multiple applicants for a single job profile. To crack Amazon interviews, you need to have the solid technical knowledge and be able to demonstrate your communication skills at the same time.
Here are some common Amazon coding interview questions are:

Find pairs in an integer array whose sum is equal to 10 (bonus: find pairs whose sum is equal to k).
You can write a function that prints all the pairs in an array and another function that prints all the pairs whose sum adds up to k. The goal here is to find all possible solutions using only addition and multiplication operations.

Given two strings, find if the first string is a subsequence of a second.
This is one of the most common Amazon coding interview questions. Say you want to find the longest subsequence in your input text. For example, if you have “Hello World!” as input and want to find out how many words come after "World!", then you should use this function:
def longest_subsequence(text):
length = len(text)  1 #returns the length of each word from leftmost position

I have an integer array and a number 'k.' I need to write a program to print all pairs from the array that has sum equal to k.
When you are asked to implement a program that finds all the pairs from an array whose sum is equal to k, a hash table can be used. This question is one of the most frequently asked apple coding interview questions. The idea behind this approach is that we need to perform some calculations on each element and then store these results in another array. Once we have done this for all elements in the input array, we can simply access each pair's value from its corresponding position in this new array (index value).
The easiest way of implementing such an algorithm would be using a hashing function, which maps each element of your input array with its corresponding index within its own hash table. Your output would contain only those values whose hash values match those present inside your initialized hash table (or NULL if no matching pair exists).

Suppose you want to get from point A to point B. You know that you can get from A to B by taking some path, but you don't know if that path is the shortest possible path. How would you calculate the shortest path between A and B?
As per the records, this was one of the most asked Amazon coding interview questions in 2017. The first step is to use Dijkstra's algorithm, which finds all possible paths between two nodes in a graph. This can be done using a priority queue (or heap), where each node has a value associated with it: "best" means the shortest distance; "worst" means the furthest distance; and null means not relevant for this particular question (e.g., there are no roads leading directly from one place).
Then we'll use breadthfirst search algorithms like A* or Dijkstra's algorithm on these lists instead of visiting each node individually like in our previous example with roads going straight down highways rather than following winding country roads around townships, etcetera...

Write a program for binary search.
This basic DSA concept has found its way into many of the recurrently asked Apple coding interview questions. Binary search is an example of a divide and conquers algorithm, which means it breaks up a problem into pieces until the solution is found. In this case, you'll be dividing your problem into two halves: an array of numbers and their corresponding indexes (the position where they should be placed). To perform a binary search on an array, you need to know how many entries there are in each section and where those entries are located within that section. Once these values are known, then your job as a programmer becomes simply finding them by ordering them by increasing the distance from index 0 (the beginning). This can be done using recursion or iterative algorithms depending on what type(s) of data structures your program needs access to at different points throughout its execution cycle, time constraints surrounding performance requirements for speed vs. accuracy, etc...

Implement merge sort.
Implement merge sort. Describe the steps of the algorithm and how to implement it in Python.
For each step, describe what you did, what was happening at each stage, and how long it took for your solution to complete.
Describe how you would improve upon your solution by changing one or more variables (such as adding more memory or processing power).

A target number k and a list of numbers are provided to you. Return true or false if the list contains two numbers that add up to k.
In this question, you are given a list of numbers and asked to return whether or not there are two numbers in the list that add up to k. The first thing you'll have to do is check if there are any pairs of numbers in your list that add up to k. If there aren't any, then we can simply return false since no pair exists for us!
To do this check, we need an algorithm called a "doubly linked list." This algorithm will loop through each number in our list and see if it can be paired up with another number (in order) until it finds one that does. Once found, however, we know exactly how many pairs exist within our original set due to how doubly linked lists work  so let's use them!

Apply strStr (). Return the first instance of the needle in the haystack's index, or 1 if the needle is not present.
You can use strstr() to find the first occurrence of a needle in a haystack. The index returned will be in the range [0, n – 1]. If you don't know how big your haystack is (for example, if you have a large string), then you should use this function instead of doing it yourself.
Conclusion
We hope that this article has helped you prepare for Amazon coding interview questions.
If you are still nervous about your coding skills, remember that it is a common mistake to focus too much on what you don't know instead of getting started with your project