# The Three Number Sum Problem

Most programmers are familiar with the Two Number Sum problem, which is a popular question one may encounter in a technical interview. It was the first problem I studied during my own interview preparation process and one that I consider to be a great starting point for getting comfortable with algorithms in general.

In case you haven’t heard of the Two Sum, here is a blog post I wrote a while back that covers this problem in greater detail. …

# Move Zeroes: Algorithm Problem

Move Zeroes, or Move Zeroes To End, is a fairly common entry-level problem that one may come across in a technical interview. Your ability to provide an optimal solution to this problem is a great way to show your interviewer how comfortable you are with array manipulations, as well as with in-place algorithms.

The problem statement usually goes like this:

“Given a static-sized array of `arr`, move all zeroes in the array to the end of the array. You should preserve the relative order of items in the array.”

Example:

Input: [0,1,0,3,12]

Output: [1,3,12,0,0]

Sometimes the problem statement may also…

# Software Developer Interview Question: Array Permutations

You may already be familiar with a popular technical interview problem that deals with input permutations. In case you aren’t, this problem is most commonly presented in the following manner:

“Given a string made up of unique characters, create a function that finds and returns all possible permutations of the string as a single array.”

In this article I will focus on a slightly different (around medium-level difficulty) version of the problem, in which the given input is an array of distinct integers, and the required output is a single array of sub-arrays (one for each possible permutation) in any…

# Two Sum Problem: Hash Map Solution

Together we can look at one of the most common, “easy” level job interview problem: the two sum. There are many variations of this problem, so make sure to always clarify the exact wording/details of the given scenario with your interviewer and consider any potential edge cases (such as an empty array, duplicate elements, negative numbers or 0, etc…). Your interviewer will appreciate your thinking and may significantly help you by giving you more information. I will focus on the standard problem scenario, which is pretty charitable in its wording and goes something like this:

“Given a non-empty array of…

# Build a Local API with JSON Server

While working on a small React project that I made for the sole purpose of testing out my newly acquired knowledge of Hooks, I considered using Rails for my project’s backend. I also had the desire to try something new and after searching around for a database that would best suit my project’s purposes, I came across JSON Server. It was an ideal fit.

## What is JSON Server and why would I use it?

JSON Server is a Node Module that creates a full mock REST API for you in the form of a JavaScript Object. It is extremely convenient when you are working on a demo, don’t have a…

# Iteration vs. Recursion

If you have spent any time working on algorithms and/or problems that call for multiple solutions, you are probably familiar with the eponymous concepts. While they are often used interchangeably due to the fact that they both engage in repeated execution of a given set of instructions, there are differences between iteration and recursion that are helpful to know when deciding on how to approach a problem.

First, let’s quickly go over the definitions. Iteration is the process of repeating an action (or any kind of instruction) until a certain condition (or value) is met. It is commonly implemented using…

# History in React

One of the key elements in React is its Router. The cool thing about React Router is that it allows for dynamic routing, making almost everything in your app its component. While making my final project at Flatiron, I wanted to explore full capabilities of React Router, which prompted me to read through the entire documentation and subsequently discover a few handy features that I then successfully implemented in my application. One of such features is history.

History, or history object, refers to a major dependency of React Router and is extremely convenient when you want your app to manage…

## Dasha Lary

Software engineer based in NYC.

Get the Medium app