JavaScript Developer I Certification: Preparation


This exam’s experience was very different compared to our previous certifications. Quite Challenging and Quite Enjoyable as well.

The certification is divided into two parts:

  1. Lightning Web Component Super Badge
  2. JavaScript Developer I Multiple choice exam

Which Part to Attempt First?

Both of the above requisites can be done in any order. Doing the MCQ exam first won’t make any difference as the exam doesn’t really focus on lightning web components (as of my time of writing this post). I believe that’s why Salesforce has introduced a super badge for this. What I would recommend is doing the super badge first will give you a good headstart to prepare for the MCQ exam as some of the steps of super badge are tricky which involves writing some pure JavaScript. So you will definitely go out of your way to get some steps working and learn some cool features of JavaScript. But it’s totally up to you which part you want to attempt first. If you are from a JavaScript background looking to get into Salesforce development, then giving the multiple choice exam first is a good fit.


LWC Superbadge

Most of the information and steps are given in Trailhead for obtaining the badge. You can access the super badge Here. You need to complete all 4 modules on Trailhead in order to unlock the superbadge-


The Superbadge has some good challenging steps and covers all the scenarios of web component development similar to a real word project! I would recommend not to really rush through the steps. Try to understand what is the ask, how many components you would need, Make a model of the components and then attempt the superbadge as a whole. If you have understood and followed the requirements correctly, you will eventually be able to clear all the steps. Few references and example recipes that may come useful during the superbadge, in case you aren’t already familiar-

Web Component Reference Guide

Example Recipes


JavaScript Developer I Multiple Choice Exam

As mentioned above, this exam is different from usual Salesforce exams. The Trailmix is a good start but most of its references focuses towards the superbadge. The exam consists of 60 questions with additional 5 non scored questions. You have total of 65 questions to be attempted in 105 minutes. The passing score is 65% which is about 40 correctly answered questions.

IMPORTANT! Before we jump on the topics, Do make sure to go through the exam guide and make a note of the suggested resources there. Those are primary ones. We also found this preparation trail very helpful as it has example flash cards with questions and suggested references. This module gives you an idea how the questions will look like. Make sure to take a note of all the suggested references there.

Topic Breakdown & Main Focus Areas:

Variables, Types and Collections 23%
Object, Functions, and Classes 25%
Browser and Events 17%
Debugging and Error Handling 7%
Asynchronous Programming 13%
Server Side JavaScript 8%
Testing 7%


Variables, Types and Collections (23%)

Data Types in JavaScript — Primitive, Composites and Special
Create and Initialize variables correctly
Demonstrate awareness of type coercion and its effects
Array methods, Data manipulations with arrays
JSON objects and methods
Sets and Maps
TypeOf , InstanceOf Operators
Strict mode — Behavior differences in strict vs non strict mode
Grammar types and Template literals
Decorators

Few Questions were on Array functions chained together – like map(), followed by filter()
Understand block-scoping & function-scoping differences between var, let, const
Lot of Questions on Type Coercions involving + , * , NaN etc
Understand typeof. eg- typeof(null) = object. and typeof(typeof (null)) is a string.
‘use strict’ considerations in a code snippet , JSON.stringify() & JSON.parse() scenarios


Objects, Functions and Classes (25%)

Objects — Iteration, Enumeration, Object Properties such as Object Prototypes, this keyword, Optional chaining, Object to primitive conversion, Global objects
Functions — Regular function declaration vs arrow functions, Function expressions, declarations
Classes — Inheritance, Static methods and properties, private and protected, Mixins, built in classes
Import & Export modules in JS
Loops and Iterations

Few Questions were on Object.Prototype, Object.freeze on a const.
Hoisting scenarios, import * as, forEach loop – break scenario etc.
for…of loop regarding Arrays. for…in loop regarding Objects


Browser and Events (17%)

Event Listeners
History API — popstate, pushstate, replaceState etc.
Events — Event propagation, DOM visibility, Differences between bubbles composed
DOM Structure, DOM manipulation
Window API, Location API, Navigator API, Screen API
setTimeout, setInterval
Page Events

Questions on addEventListener() , onclick() and different combinations of setTimeout with setInterval in same snippet.
DOM manipulation like adding style classes by querying particular tags etc


Debugging and Error Handling (7%)

Error Handling in JS — Try, Catch, Finally
Custom Errors — Overriding the Error class
Debugging
Control error handling flow
Debugging in browser with breakpoints, Debugger statement
String substitutions

Many questions involving console.assert() success & fail scenarios,
use of debugger statement


Asynchronous Programming (13%)

Promise basics
Using Promises, Promise methods
Asynchronous function
Combination of async-await
Promise chaining
Callback stack

Most challenging topic as per my experience. Learn all fundamentals about Promise and Async/Await. Write code snippets and practically implement them.
Questions will be on scenarios involving Promises with setTimeout etc.


Server Side JavaScript (8%)

NPM Modules, Package.JSON structure
NodeJS Basics
Package Version Naming conventions
Frameworks — Which frameworks is suitable – Frontend vs Backend
CLI

Know versioning- Major.Minor.Patch. npm install, inspect commands related questions. Have an idea of which are the famous Backend and Frontend frameworks having a community.


Testing (7%)

Console commands
Assertions
Testing Implementation — False positives vs False negatives
Black Box Testing vs White Box Testing
Jest basics


Recommended References

I found MDN and JavaScript.info the most helpful in our preparation. The exam guide on Trailhead majorly have references to these two sites. But it’s your personal choice which site you feel most comfortable with.

This Youtube playlist by Salesforce Troop is also quite detailed and covers the whole JS syllabus. I watched the videos at 2X speed to conveniently grasp all the content. The Practice test in the end is quite helpful for revision.

Another special mention to This Github Repo by Lydia Hallie for plenty of revision Questions on JavaScript. Just don’t get overwhelmed 🙂

Make sure to go through the official Exam GuideTrailmix and Study Trail for sure.


Conclusion

If you are still unsure on how specific functionalities work in real time scenario, it is always better to implement those in your browser’s console and refer some videos on YouTube, or Blogs with detailed examples. It took me some time to thoroughly understand Events and Asynchronous Javascript so I decided to create some sample apps in my local and test various combinations. At the end of the day you have to make sure there is absolutely no confusion in understanding.

As far as the exam goes most of the questions will be code based, so you really need to manage time as well as stay focused till the very end. Try to understand the scenario, look at the options and then try to filter down the best possible choices. Please don’t rush through the preparation and take your time in understanding the fundamentals. 

More than the credential, Learning matters!

And another piece of advice- Keep practicing JavaScript.
You’ll only master this skill if you keep learning, practicing and evolving with it.

Good Luck to You.

Yours wisely,

Image for post

One thought on “JavaScript Developer I Certification: Preparation

Leave a comment