hello.js

var please = require('share');
console.log('thank you');

Thursday, 16 August, 2018 UTC

Big O Notation for Beginner Tech Interview Candidates

Big O Notation for Beginner Tech Interview Candidates

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 measuring the worst ... more


Monday, 6 August, 2018 UTC

Higher Order Functions in JavaScript

Higher Order Functions in JavaScript

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 ... more


Monday, 30 July, 2018 UTC

What’s New in ES2018?

What’s New in ES2018?

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 try out the code examples in your browser. Just ... more


Thursday, 26 July, 2018 UTC

JavaScript Tutorial for Beginners

JavaScript Tutorial for Beginners

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, ... more


Monday, 2 July, 2018 UTC

ES2017 Object and String Extensions

ES2017 Object and String Extensions

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 ... more


Monday, 25 June, 2018 UTC

A Practical Introduction to ES2017 Async-Await

A Practical Introduction to ES2017 Async-Await

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. ... more


Monday, 18 June, 2018 UTC

Using JavaScript in 2018 – Experience and Opportunities

Using JavaScript in 2018 – Experience and Opportunities

If you have read most of the blog posts of zsoltnagy.eu, 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 basics category too, ... more


Monday, 11 June, 2018 UTC

Translating SQL Queries using Map-Reduce-Filter in JavaScript

Translating SQL Queries using Map-Reduce-Filter in JavaScript

Exercise : Suppose the following tables are given in the form of arrays of objects: var inventory = [ { id: 1, owner: 1, name: 'Sword', weight: 10, value: 100 }, { id: 2, owner: 1, name: 'Shield', weight: 20, value: 50 }, { id: 3, owner: 2, name: 'Sword', ... more


Monday, 4 June, 2018 UTC

Memoization in JavaScript

Memoization 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 ... more


Monday, 28 May, 2018 UTC

JavaScript Tech Interview Exercise 16: Stopwatch

JavaScript Tech Interview Exercise 16: Stopwatch

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 called when the displayed ... more


Wednesday, 23 May, 2018 UTC

JavaScript Tech Interview Exercise 15: Drag and Dropping Cards

JavaScript Tech Interview Exercise 15: Drag and Dropping Cards

We have skipped a couple of exercises that transformed our Pomodoro app into a Kanban board. Tasks 12 – 15 are great exercises for refactoring, and you can get access to them in ES6 in Practice, but they are less optimal as a blog post material. Let ... more


Friday, 18 May, 2018 UTC

An Introduction to Microservices

An Introduction to Microservices

As some of my subscribers might already know, I was busy authoring a JavaScript course on microservices together with Packt Publishing. This kind of cooperation is always interesting, because there are fixed target dates to follow, and I tend to live ... more


Monday, 14 May, 2018 UTC

ES2018 Regular Expression Updates – an Opinionated Summary

ES2018 Regular Expression Updates – an Opinionated Summary

The last few weeks made me think about renaming my book. Because ES6 was ES2015. Of course when I started writing ES6 in Practice, I included those two small ES2016 updates. Then I promised a bonus chapter on ES2017 including the famous async-await update. ... more


Thursday, 10 May, 2018 UTC

Visualizing Regex Execution using Finite State Machines

Visualizing Regex Execution using Finite State Machines

A regular expression is converted into code executed in a virtual machine. This virtual machine runs on the virtual machine of the host language or editor. Abstract models make us understand how regular expressions are executed. Although these models ... more


Tuesday, 8 May, 2018 UTC

JavaScript Tech Interview Exercise 11: Persistence with Local Storage

JavaScript Tech Interview Exercise 11: Persistence with Local Storage

Exercise : Store the state of the application in a local storage. Make sure the application state is reloaded once you refresh the page. Solution : Clone PomodoroTracker2 from my GitHub repository as a starting point. Alternatively, you can use your ... more


Tuesday, 1 May, 2018 UTC

JavaScript Tech Interview Exercise 10: Pomodoro App Markup and Styling Refactoring

JavaScript Tech Interview Exercise 10: Pomodoro App Markup and Styling Refactoring

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Tuesday, 13 February, 2018 UTC

How Replacing JavaScript Templating Engines with ES6 Template Literals May Cost You Your Job

How Replacing JavaScript Templating Engines with ES6 Template Literals May Cost You Your Job

The article ES6 Strings and Template Literals introduced you to the syntax of ES6 strings and template literals. However, if you wanted to use ES6 template literals for microtemplating, the article itself does not help you. In this article, you will ... more


Wednesday, 7 February, 2018 UTC

JavaScript Tech Interview Exercise 9: Event Delegation in a Pomodoro App

JavaScript Tech Interview Exercise 9: Event Delegation in a Pomodoro App

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Thursday, 1 February, 2018 UTC

JavaScript Tech Interview Exercise 8: Video Player

JavaScript Tech Interview Exercise 8: Video Player

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Monday, 22 January, 2018 UTC

JavaScript Tech Interview Exercise 7: Painting on an HTML5 Canvas

JavaScript Tech Interview Exercise 7: Painting on an HTML5 Canvas

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Thursday, 18 January, 2018 UTC

Binary Trees, Recursion, Tail Call Optimization in JavaScript

Binary Trees, Recursion, Tail Call Optimization in JavaScript

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Thursday, 11 January, 2018 UTC

JavaScript Theory Quiz – Crack the ES6 Interview

JavaScript Theory Quiz – Crack the ES6 Interview

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Tuesday, 9 January, 2018 UTC

JavaScript Tech Interview Exercise 5: Connect-4 Solver in ES6

JavaScript Tech Interview Exercise 5: Connect-4 Solver in ES6

This interview question is also available as a video on my Youtube channel. You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring ... more


Wednesday, 3 January, 2018 UTC

Strings and Template Literals in ES6

Strings and Template Literals in ES6

It is time to have a look at string manipulation and template literals. There has been a shift in the trends of web development in the last ten years that moves the responsibility of rendering from the server side to the client side. Therefore, the HTML ... more


Saturday, 30 December, 2017 UTC

Ten JavaScript Theory Questions – The ES6 Quiz

Ten JavaScript Theory Questions – The ES6 Quiz

There are countless questions your interviewers may ask when it comes to how JavaScript works. The idea behind asking these questions is to assess whether you have recent experience in writing JavaScript code. Some more clueless interviewers tend to ... more


Monday, 25 December, 2017 UTC

Regular Expressions in PHP

Regular Expressions in PHP

This blog has been about JavaScript so far. However, with the topic of regular expressions, we are diving in more deep waters. As a refresher, some other languages will also surface on our horizon. In this post, we will get started with writing and testing ... more


Sunday, 24 December, 2017 UTC

JavaScript Tech Interview Exercise 2: Binary Gap Exercise in Codility

JavaScript Tech Interview Exercise 2: Binary Gap Exercise in Codility

Exercise: Suppose a positive integer N is given. Determine the binary representation of N , and find the longest subsequence of form 10*1 in this representation, where 0* stands for any number of zeros in the sequence. Examples: 11 , 101 , 1001 , 10001 ... more


Wednesday, 20 December, 2017 UTC

Regular Expressions in JavaScript

Regular Expressions in JavaScript

It is very easy to experiment with JavaScript regular expressions, as JavaScript is accessible in all browsers. I will use the Chrome Developer Tools to execute regular expressions. The > symbol denotes an input. The return value and console logs ... more


Monday, 18 December, 2017 UTC

JavaScript Tech Interview Exercise 1 – Writing an Array Extension

JavaScript Tech Interview Exercise 1 – Writing an Array Extension

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Monday, 11 December, 2017 UTC

An Introduction to Regular Expressions – Why Most People Can’t Read Regex

An Introduction to Regular Expressions – Why Most People Can’t Read Regex

I still remember my doomed encounters with regular expressions back when I tried to learn them. In fact, I took pride in not using regular expressions. I always found a long workaround, a code snippet that was quite long. I projected and blamed my own ... more