In software development, working with strings is a common problem. We often read, process, and write text files, perform logging on the activities of a system, or analyze user input. Learning how to perform string operations is essential in any […]

Using Strings in JavaScript

This is another episode of the JavaScript for Beginners series. In the first post, you have learned how to write basic JavaScript code. In this article, you will find out how to use JavaScript with HTML and CSS. The goal […]

Using JavaScript with HTML and CSS

Even though you have seen many tech interview exercises already, we have not covered algorithmic complexity yet. Therefore, I will just give you a straight to the point explanation of the big O notation. Big O is a performance metric […]

Big O Notation for Beginner Tech Interview Candidates

In this article, you will learn about higher order functions. An important cornerstone of functional programming is higher order functions. If you want to write programs in mostly functional style, it is inevitable that you master the basics of higher […]

Higher Order Functions in JavaScript

This article will give you an overview on the new features of ES2018. First, we will discuss the new features of ES2018. Then you will learn what you need to do to start using them today. You may want to […]

What’s New in ES2018?

As I promised in my last article on JavaScript fundamentals, you can expect some beginner-friendly content on this blog along with some learning paths. I strongly believe in practical application. Therefore, I will not bore you with facts, long theory, […]

JavaScript Tutorial for Beginners

This article is a continuation of last week’s post on ES2017 Async-Await, detailing the updates of ES2017. Check out the ES2016 plus compatibility table for more information on the current browser support. Most likely, you will need a transpiler. Use […]

ES2017 Object and String Extensions

The ability to write asynchronous functions is a major update in ES2017. In order to understand this chapter, I suggest that you review the chapter on promises. What are asynchronous functions? Asynchronous functions are functions that return a promise. We […]

A Practical Introduction to ES2017 Async-Await

If you have read most of the blog posts of, you can conclude that most of the articles require at least some basic knowledge about JavaScript. The main exception is the JavaScript Basics category. This article is in the […]

Using JavaScript in 2018 – Experience and Opportunities

Exercise: Suppose the following tables are given in the form of arrays of objects: [crayon-5bcd41571fcd8060355416/] Translate the following SQL query using map, reduce, and filter: [crayon-5bcd41571fce1819574414/] You are not allowed to use loops, if statements, logical operators, or the ternary […]

Translating SQL Queries using Map-Reduce-Filter in JavaScript

Exercise: What is memoization? What are its benefits? What is the necessary condition for using memoization? Illustrate the benefits of memoization using an example. Remark: Expect these types of questions when bridging theory with practice. You need to know what […]

Memoization in JavaScript

Exercise: Create a stopwatch that counts down from a given number of seconds in the format mm:ss. Make it possible to start, pause, and reset the countdown. Make sure you can pass a callback function to the timer that is […]

JavaScript Tech Interview Exercise 16: Stopwatch