Tips for passing Javascript Developer I Certification

Javascript Developer I

Yesterday (08 August 2020), I have successfully passed Javascript Developer 1 certification. In this post, I would like to share my experience and tips for an successful outcome of the exam

About the exam

As you might have already noticed, this certification comprises of two parts and we must complete both of them to get this credential.

I have done a lot of work on building Aura and Lightning webcomponents in the past so I thought that would help me in preparing for this exam.

But after checking the syllabus and topics, I realized there is a lot and it is mainly focused on Javascript rather than Aura or LWC concepts. Infact, you don’t need any knowledge in Salesforce to give this exam.

Ofcourse, we should know LWC but that is covered with Superbadge.

Preparation

I have spent over 4 weeks of preparation and did so much practice before attempting the exam. I used jsbin and VS Code with live server to understand and practice different concepts.

There are tons of tutorials on Javascript, so you need not worry if you are stuck or not clear about any concept. You just need to search on google or youtube and learn. It is that easy. I have given links inline which can be helpful for some extent.

Here are the topics that I focused in each section of exam. I have highlited with asterisk * ,to mark the concepts that i can recall and received in the exam.

Variables, Types, and Collections: 23% ~13Q

  • How to declare and initialize variables, naming convention
  • Different data types and how to identify the datatype from a variable
    • Explore in and out of typeof statement for different datatypes
var x = null; 
console.log(typeof x); //guess the output
  • Explore different methods in each of these data types and some of the important methods to focus are below.***
    • String – split, startsWith, endsWith, trim, slice, substring & etc.
    • Number – isNaN, parseInt, isInteger and other properties.
    • Date – getter and setter instance methods, how to add hours.
  • Keyed Collections – Map and Set.
  • Type Coercion – Implicit vs Explicit coercion*****
    • This topic is really important for the exam and there are many questions around this topic
    • Recommended to checkout this link and learn every concept
  • Truthy vs Falsy Evaluations***
    • There are only 6 types of falsy values – null, undefined, ”, 0, false, NaN.
  • Hands on with different types of Operators and some of the important ones are below
    • Logical Operators – || (OR) && (AND) ?? (Nullish)
    • Ternary Operator (?:)
    • Increment and Decrement Operators
    • Comparision Operators
      • Strict equality
      • String comparision
      • Object.is vs === vs == ***
  • Different types of Loops
  • String Interpolation – usage of backticks
  • Arrays
  • JSON ***
    • Understand the syntax, usage and different usecases
    • JSON.stringify(obj) vs JSON.parse(obj)

Objects, Functions, and Classes: 25%  ~15Q

  • Function declaration, definition and implementation
  • Arrow (Fat-arrow) function usage, different styles and usecases
  • Javascript Hoisting ****
    • Understand the hoisting behavior with variables, function expressions, arrow functions, promises and async functions.
  • Scope of functions
  • Object defintion, different ways of creating objects, implementation usecases.
  • Object methods
    • Object.freeze() vs Object.seal
    • for-in vs for-of usage
  • Optional Chaining
  • Spread vs Rest operator
    • Different ways to clone an object and their limitations
  • Prototypes, Prototypical Inheritance ***
    • This concept is quite confusing (atleast to me), so i would suggest to focus and understand the behaviour with different usecases.
  • Class definition, declaration and its usecases.
    • Class Inheritance – usage of extends keyword and usecases
  • typeof vs instanceof and its return type
  • Modules ****
    • Importing and Exporting modules and their syntax (esp.. import all, exporting multiple functions & etc)
    • Cheatsheet with all possible variations.
  • Function scope vs Block scope
    • Usage of var, let and const
    • Hoisting related to these types of variables **

Browser and Events: 17% ~10Q

  • What is an event and different ways to define them.
  • Usage of addEventListner and removeEventListner ***
  • Different ways to handle events and their limitations in each way.
  • Event phases
  • Difference between DOMContentLoaded vs load events and their limitations **
  • Event Delegation and its usage.
  • Browser event default actions and its behavior
    • event.stopPropagatio() vs event.preventDefault()
    • taget vs currentTarget
  • CustomEvent usage and its syntax
  • Event object methods and properties
  • DOM manipulation methods
    • Different ways to select an element, manipulating attributes and element style *
    • How to write code in browser console and their benefits
  • Window API and its methods ***
    • Difference between setTimeout(), setInterval(), clearTimeout(), clearInterval() methods and practice the implementation
    • localStorage and sessionStorage methods
    • alert vs prompt vs confirm

Debugging and Error Handling: 7%  ~4Q

  • Different ways to handle exceptions in Javascript
    • how to handle in async operations.
    • try catch finally sytanx and usecases
    • What type of errors that try-catch-finally can handle.
  • Different methods of console object
  • Usage of debugger statment and how to set breakpoints in console
    • Different options in console when the cursor stops at breakpoint

Asynchronous Programming: 13%  ~7Q

Server Side JavaScript: 8% ~5Q

  • Understand node js CLI commands and its usage
    • How to install a package as dependency, devDependecy
    • How to skip the devDependencies in production
  • Understand different keys of package.json
  • Understand the core modules of Node.js **
    • Especially http, fs, stream, path and assert
  • Events in node js
  • Semantic versioning ***
    • Undersand with examples in each syntax
    • Diffrence between ~ ^ x
    • How to generate new version
  • Just know what are the best front-end and back-end frameworks, no need to go deeper.

(I would suggest to build a small app with node.js and packages and that will cover most of these concepts)

Testing: 7% ~4Q

  • Understand console.assert and usecases **
  • Usage of assert in node js apps
  • Black box vs White box testing *
  • Review the concepts mentioned in this trail module

Important Notes *****

  • Almost all questions (60/65) are code based, you are expected to guess the output, troubleshoot and correct the given code.
  • I cannot recall any questions related to modern web standards such as CustomElements, ShadowDOM & etc.
  • As I already said, there are No questions related to LWC in this exam.
  • You do not need to know HTML and CSS in detail.
  • Practice, Practice and Practice. That is the only key to success in this exam.

Useful Resources

**I would be updating this blog post frequently, so feel free to bookmark to review in future. If you have cleared the test recently and if you wish to add some content to this blog post, please comment here. So that I can update and someone can get benefited from this.

I wish you all the very best for your exam. Good luck again?

Please follow and like us: