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.
Ofcourse, we should know LWC but that is covered with Superbadge.
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.
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
- Different types of methods and its usage
- Usage of reduce, filter, map, forEach & etc
- 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
- 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
- Bubble vs Capture phase
- How to declare the phase in event handlers
- 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
- 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
- Usage of callbacks and Pyriod of Doom
- Evolution of Promises
- Promise object and its usecases *****
- Importance of promises and its methods
- Promise syntax and usecases
- How to consume promise
- Promise states
- Promise Chaining
- Difference between Promise.all(), Promise.race(), Promise.any()
- Promise static methods and Instance methods (then, catch and finally)
- Usage of async await
- Understand its implementation
- What is the return type of async function
- How to test async function using console.assert() (not sure what is this, i got a question around this ??)
- Hoisting and order of execution of a code with promise, async functions and setTimeout
- 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.
- MDN Documentation
- npm CLIDocumentation
**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🙂