While not a seasoned developer yet, I have long been interested in D3.js since its initial release in 2011 (wait, it’s been 10 years already?!)
Below are three video tutorials that I found to be very helpful in understanding, utilizing, and appreciating this dataviz giant called D3.
My favorite feature of this course is…
Another relatively new tool I have noticed being thrown around in the dev world is GraphQL.
With very little bandwidth to dive deep into both tools, I was delighted to find a comprehensive FREE video tutorial that covers both topics:
Building Your First GraphQL Server with Node and TypeScript
So, what can you achieve by completing these challenges? Here are 7 key takeaways from my own rewarding experience:
Did I mention this tutorial is 100% free? …
Aside from the two-pointer technique demonstrated in my previous post, I have been grokking another popular algorithmic mental model: the sliding window.
If you have never heard of the sliding-window technique, I strongly recommend watching this video tutorial before diving into the example below. Even if you don’t have 36 minutes to spare, be sure to watch the first 8 minutes, which contain multiple well-executed animations.
As its name suggests, this technique involves taking a subset of data from a given array or string, expanding or shrinking that subset to satisfy certain conditions, hence the sliding effect.
When dealing with strings and arrays in the context of algorithm challenges, our first instinct usually revolves around built-in methods.
Let’s take a look at this seemingly easy problem:
Given a sorted (ascending) array of integers,
write a function that returns a sorted (ascending) array
which contains the square of each number.
square([0, 1, 2, 3, 4, 5])
// => [0, 1, 4, 9, 16, 25])square([-7, -3, 2, 3, 11])
// => [4, 9, 9, 49, 121]
Like many others, my immediate reaction was to make use of
sort() method after mapping out (
I had that moment again when approaching the challenge of creating movable text shadows.
As it turns out, there is an HTML global attribute called
contenteditable that allows the user to edit targeted text on the browser.
According to the MDN’s documentation,
Technical interviews come in all shapes and sizes. Some companies go for the traditional algorithm challenges, others tend to be more creative, such as this Fullstack Engineer interview I had the other day.
Toward the end of a fun, relaxing conversation, the interviewer gave me a quick challenge: Answer a series of trivia-like tech questions that involve varying levels of knowledge in software development.
I got roughly a third of them right, which wasn’t too bad considering the time constraints and my “freshness” in the field.
During the 5-minute exercise, I also jotted down as many questions as I could…
Last week I shared three handy dev tools that let us format our console outputs beyond the plain-old
console.log(). Today I learned one more neat trick to "prettify" our console.
This trick is so simple, all you need to do is add a special indicator inside your
Let’s see how it works with pure strings:
%c, at the start of the string.
That’s it! Feel free…
console.log() to debug, print out variables, and log results of our current operations to make sure we are on the right programming path.
Indeed, console.log() seems powerful enough, but did you know there are other cool methods in the Console API that can also make your life easier?
Recently I came across console.table() in a tutorial, which prompted me to investigate alternative approaches to the plain-old console.log(). Here are 3 formatting tools that I have added to my debugging toolkit:
As the name suggests,
console.table() prints your output in a nicely formatted table, instead…
Unlike coding tests, where you solve algorithm problems with a keyboard silently, coding interviews go beyond keyboard communications.
It can be a daunting task, as the interviewer can see every move you make on a shared screen.
And if that wasn’t nerve-racking enough, you also need to speak out, expressing your thought process to not only elicit some hints from the interviewer but also keep the conversation flowing.
That’s why I was thrilled to see this algorithm design template when attending a coding practice hosted by Women Who Code San Diego: