Hello

Hello,
My name is Nikkole Hardy. I am mother of 5, with a passion for French bulldogs, video games, and all things to do with the ocean. I'm a seasoned client and customer experience professional with two years of professional experience in software development. I continuously expose myself to new technologies and learning opportunities in effort to become an invaluable developer and aid in changing lives of the formerly incarcerated or that battle with addiction.


Below are posts on a few topics that I found to be of interest. Please feel free to explore my site to learn more about me!

AlgoDaily

Do you need help in regards to technical interviews?

Algo Daily is a technical interview resource that keeps you consistently growing viaa new lesson in your inbox daily, ensuring you learn even on the run.

It's not enough to just prepare for whiteboard-style interviews anymore. Companies are hearing the pushback, and many are now switching to other styles– hence why we provide Systems Design Daily, OOP Design Daily, Machine Learning Fundamentals, and many more. AlgoDaily is the only all-in-one solution, with a slew of newsletter and course offerings to cover anything you need to know to get that offer.

To learn more, please visit this link.

ENFJ-A

According to the 16Personalities test, I am an Assertive Protagonist. These are the traits commonly found amongst those with this personality type.

16Personalities

Have you ever taken a Personality test?

Since the dawn of time, humans have drawn up schematics to describe and categorize our personalities. From the four temperaments of the ancient civilizations to the latest advances in psychology, we have been driven to fit the variables and complexities of human personality into well-defined models. Although we are still some time away from being able to do that, the current models account for our most important personality traits and can predict our behavior with a high degree of accuracy.

Personality is just one of many factors that guide our behavior, however. Our actions are also influenced by our environment, our experiences, and our individual goals. On our website, we describe how people belonging to a specific personality type are likely to behave. We outline indicators and tendencies, however, not definitive guidelines or answers. Significant differences can exist even among people who share a personality type. The information on this website is meant to inspire personal growth and an improved understanding of yourself and your relationships – not to be taken as gospel.

Try taking your own test here:
https://www.16personalities.com/free-personality-test

Two-Pointer

What is a two-pointer algorithm?

Two pointer algorithm is one of the most commonly asked questions in any programming interview. This approach optimizes the runtime by utilizing some order (not necessarily orting) of the data.

When is it useful?

It is generally applied on lists (arrays) and linked lists. This is generally used to search pairs in a sorted array.

To learn more, click here!

Queue

What is a queue?

In computer science, a queue is a collection of entities that are maintained in a sequence and can be modified by the addition of entities at one end of the sequence and the removal of entities from the other end of the sequence. By convention, 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, analogously to the words used when people line up to wait for goods or services.

The operation of adding an element to the rear of the queue is known as enqueue, and the operation of removing an element from the front is known as dequeue. Other operations may also be allowed, often including a peek or front operation that returns the value of the next element to be dequeued without dequeuing it.

The operations of a queue make it a first-in-first-out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This is equivalent to the requirement that once a new element is added, all elements that were added before have to be removed before the new element can be removed. A queue is an example of a linear data structure, or more abstractly a sequential collection. Queues are common in computer programs, where they are implemented as data structures coupled with access routines, as an abstract data structure or in object-oriented languages as classes. Common implementations are circular buffers and linked lists.

When is it useful?

Queues provide services in computer science, transport, and operations research where various entities such as data, objects, persons, or events are stored and held to be processed later. In these contexts, the queue performs the function of a buffer. Another usage of queues is in the implementation of breadth-first search.

To learn more, please visit this link.

BigO

What is Big O of N notation?

Big O of N notation or O(n) is the size of the input to your function. Simply put, how long it takes for your computer to run your function and the memory required for your computer to do so.

When is it useful?

Big-O notation helps programmers to measure the scalability of an algorithm. It indicates the maximum number of operations taken by an algorithm for giving output based on how much data the program has to work on. In simple words, Big-O notation describes the relationship between steps required to execute the algorithm and input to the algorithm. This relationship shows the time efficiency or time complexity.

To learn more, please visit this link.

Recursion

What is recursion?

In general, recursion is when a function calls itself.

When our code runs a loop (for loop, while loop, etc), doing the same process over and over again until the loop ends, that’s called ‘iterating’ through inputs. Alternatively, when our code calls itself, doing the same process over and over again until some base level condition is met, that’s called ‘recursing’ through them. Much of what can be done via iterating can be done recursively, and vice versa.

There are many trade offs between iteration and recursion (see video below for more info). Recursion can be difficult to wrap your head around, because you need to keep track of what your data looks like in different calls to the function, but often it used in situations when the iterative alternative, usually a while loop, would be so visually confusing that recursion actually simplifies the code you must write significantly.

It is hugely important to be familiar with both methodologies (iterative and recursive), particularly for a) interviews, and b) data structures called ‘trees’ and ‘graphs’. Graphs are beyond the scope of this course, but we will look at trees in the coming weeks.

To learn more, please visit this link.

Stacks

What is a python stack?

A stack is a linear data structure that stores items in a Last-In/First-Out (LIFO) or First-In/Last-Out (FILO) manner. In stack, a new element is added at one end and an element is removed from that end only. The insert and delete operations are often called push and pop.

When is it useful?

To understand Stack at the ground level, think about a pile of books. You add a book at the top of the stack, so the first one to be picked up will be the last one that was added to the stack. Or imagine the undo feature - allowing users to backtrack their actions until the beginning of the session by recording every action of the user.

To learn more, please visit this link.