JavaScript and React Fundamentals Quiz
Greg
Posted on April 21, 2022
JavaScript/React Fundamentals
This is a 48 multiple choice and 2 fill in the blank quiz to assess your JavaScript and React skill level.
1. What is Reconciliation in React?
A-The process through which React deletes the DOM.
B-It is a process to set the state.
C-The process through which React updates the DOM.
D-The process through which React updates and deletes the component.
2. How do you create a function in JavaScript?
A-function myFunction()
B-function = myFunction
C-function:myFunction()
3. What is the correct way to write a JavaScript array?
A-var colors = "red", "green", "blue"
B-var colors = (1:"red", 2:"green", 3:"blue")
C-var colors = ["red", "green", "blue"]
D-var colors = 1 = ("red"), 2 = ("green"), 3 = ("blue")
4. Which is the correct description of React State vs Props?
A-Prop is managed within the component and holds some information that may change over the lifetime of the component; State gets passed to the component, like a function parameter
B-Props is a copy of real DOM; State is the definition of the real DOM.
C-Props is something that the parent doesn’t need and decide to throw around among other parents; State is the parent’s favorite child and something the component wants to nurture.
D-Props get passed to the component using naming conventions, like a function parameter; State is managed within the component and holds some information that may change over the lifetime of the component.
5. What is the difference React Controlled Component vs Uncontrolled Component
A-Controlled Components: every state mutation does not have an associated handler function; Uncontrolled Components: does not store their own states internally
B-Controlled Components: A component who is so good at controlling itself; Uncontrolled Components: A component who has no idea how to control itself
C-Controlled Components: store their own states internally; Uncontrolled Components: every state mutation will have an associated handler function
D-Controlled Components: every state mutation will have an associated handler function; Uncontrolled Components: store their own states internally
6. Which operator is used to assign a value to a variable?
A) x
B) -
C) =
D) *
E) +
7. In your manifest.json what is the correct way to declare the location?
A-"default_locale": "en"
B-"local":"en"
C-"browser_locale": "en"
D-"country": "en"
8. What is the purpose Array.from() in the code below?
let titleElems = document.querySelectorAll('.article .title')
let titles = Array.from(titleElems).map(t=> t.textContext);
console.log(titles)
A-You need it, because querySelectorAll returns a NodeList, which doesn't have the map method, only arrays do.
B-This code is wrong and won't work.
C-You use it because it is hip.
9. In the function below, what do we use Object.assign for?
function doSomething(param={}){
var defaults= {
color:'red',
shape:'square'
}
var settings =Object.assign({}, defaults, param);
//.......more code
}
A-Checks whether defaults equals param.
B-You use it to provide default parameters to the function, which users can override.
C-Create a string containing 'defaults' and 'param'.
10. How do you find the number with the highest value of x and y?
A-Math.max(x, y)
B-top(x, y)
C-ceil(x, y)
D-Math.ceil(x, y)
11. How do you round the number 7.25, to the nearest integer?
A-Math.round(7.25)
B-round(7.25)
C-Math.rnd(7.25)
D-rnd(7.25)
12. Which are the correct phases of the React component lifecycle?
A-Mounting: componentWillUnmount(); Updating: render(); Unmounting: setState()
B-Mounting: getDerivedStateFromProps(); Updating: componentWillUnmount(); Unmounting: shouldComponentUpdate()
C-Mounting: componentDidMount(); Updating: componentDidUpdate(); Unmounting: componentWillUnmount()
D-Mounting: constructor(); Updating: getDerivedStateFromProps(); Unmounting: render()
13. Which language is this?
class Vehicle {
constructor(model, wheels){
this.model = model;
this.wheels = wheels;
}
makeSound(){
console.log('Vroom Vroom');
}
}
class Car extends Vehicle {
constructor(model){
super(model,4);
}
}
A-Python
B-JavaScript
C-C#
D-PHP
14. What does the "const" declaration do?
const pi = 3.14;
console.log(pi)
A-const turns variables into constants, and they can't be changed.
B-It is used to define math-related variables.
C-It is exactly the same as let.
15. How to write an IF statement for executing some code if "i" is NOT equal to 5?
A-if i =! 5 then
B-if i <> 5
C-if (i != 5)
D-if (i <> 5)
16. What is the correct way to access translation data in your JavaScript?
A-browser.i18n.getMessage("notificationTitle");
B-i18n.getMessage("notificationTitle");
C-getMessage("notificationTitle");
D-i18n("notificationTitle")
E-browser.i18n("notificationTitle");
17. What does the below code do?
let a = 12, b = 3;
[a, b]=[b, a];
A-Swap the values inside a and b, without using extra variables.
B-Make both a and b equal 12.
C-Create an array containing a and b.
18. What is the correct syntax for referring to an external script called "xyz.js"?
A-<script href="xyz.js">
B-<script src="xyz.js">
C-<script name="xyz.js">
19. What's the ES6 way for quick initialization of objects from variables?
//Old Way
var name = 'Johnny', job = 'secret agent', from ='England';
var person ={
'name':name,
'job':job,
'from': from
};
// A
let name = 'Johnny', job ='secret agent', from ='England';
let person = new Object(name, job, from);
// B
let name = 'Johnny', job ='secret agent', from ='England';
let person ={name, job, from};
C-None of these are correct.
20. JavaScript is the same as Java.
A-False
B-True
21. Which method can be used to clean up this old JavaScript code?
var arr =[12,3,42,55,10]
function someFunc(arr){
for(let i=o; i<arr.length; i++){
if(arr[i]>32){
return arr[i];
}
}
}
// A
arr.find(n=> n>32);
// B
arr.findIndex(n=> n>32);
// C
arr.search(n => n>32)
22. Is there anything incorrect in this String interpolation example?
let name ='Harry';
let occupation ='plumber';
console.log(`Hi! my name is ${name}.
I am ${occupation}.`)
A-This is wrong. You can't break a string into separate lines in JavaScript!
B-There is nothing wrong with it. This is how string interpolation works in ES6.
C-This is wrong. You can't embed variables in strings in JavaScript!
23. How does a WHILE loop start?
A-while (i <= 10)
B-while i = 1 to 10
C-while (i <= 10; i++)
24. How do you declare a JavaScript variable?
A-var carName;
B-let carName;
C-const carName;
D-All of the Above
25. ES6 gives us a "let" statement - a new way to declare variables. Can you guess what it does?
let x= 149
if(x>99){
let x= 1;
}
console.log(x)
A-It functions exactly like var.
B-Always makes variables equal 149.
C-Introduces block scoping. Variables defined with let are available only in the nearest enclosing block.
26. Where is the correct place to insert a JavaScript?
A-The <body>
section
B-Both the <head>
section and the<body>
section are correct
C-The <head>
section
27. Explain this code:
new webpack.ContextReplacementPlugin(/moment[\/\\]local/,/(en-gb | en-us)\.js/)
Describe = ________________
28. What is the content of the variable "a"?
function mystery(...params) {
return params;
}
let a = mystery(1,23,4)
A) "a" becomes "1 23 4"
B) "a" becomes [1,23,4]
C) "a" is undefined
29. What is the correct usage for an arrow functions work?
// Old Way
var arr =[3,5,8];
var plus_one = arr.map(function(n){
return n+1;
})
console.log(plus_one); //Prints [4,6,9]
// A
let arr =[3,5,8];
let plus_one = arr.map(n => n+1);
// B
let arr =[3,5,8];
let plus_one = arr.map(n ---> n+1);
C- None of these are correct.
30. What will the following code return: Boolean(10 > 9)
A-false
B-NaN
C-true
31. How does a FOR loop start?
A-for (i = 0; i <= 5)
B-for (i = 0; i <= 5; i++)
C-for i = 1 to 5
D-for (i <= 5; i++)
32. What is the correct JavaScript syntax to change the content of the HTML element below? <p id="demo">
This is a demonstration.</p>
A-#demo.innerHTML = "Hello World!";
B-document.getElement("p").innerHTML = "Hello World!";
C-document.getElementById("demo").innerHTML = "Hello World!";
D-document.getElementByName("p").innerHTML = "Hello World!";
33. What results will these function calls return?
function add(a=10, b=5){
return a+b;
}
// A
add(11,2);
// B
add(3);
// C
add(undefined, 20);
// D
add();
1) A - 15, B - 13, C - 30, D - 15
2) A - 13, B - 8, C - 30, D - 15
3) A - 13, B - 13, C - 30, D - undefined
34 Inside which HTML element do we put the JavaScript?
A-<script>
B-<javascript>
C-<scripting>
D-<js>
35. What is the correct JavaScript syntax for opening a new window called "w2" ?
A-w2 = window.open("http://www.w3schools.com");
B-w2 = window.new("http://www.w3schools.com");
36. How can you detect the client's browser name?
A-navigator.appName
B-browser.name
C-client.navName
37. How do you call a function named "myFunction"?
A-call myFunction()
B-call function myFunction()
C-myFunction()
38. Your javascript bundle is too large and is causing performance issues. Please describe the steps you would take to fix this issue
Describe__________
39. How to write an IF statement in JavaScript?
A-if i == 5 then
B-if (i == 5)
C-if i = 5
D-if i = 5 then
40. Is JavaScript case-sensitive?
A-Yes
B-No
41. What is the recommended structure for providing localized strings via i18n?
A-Using the language as the name of as JSON file in the root (en.json)
B-Using the local folder structure for JSON (local/en.json)
C-Using the _locales folder structure to nest messages (_locales/en/messages.json)
D-Using YAML structure (en.xaml)
Parsing text files or ini equivalent
42. Which of these examples is the correct ES6 way to replace the "Old Way"?
//Old Way
let arr =[17,42,122]
for(let i=0; i<arr.length; i++){
console.log(arr[i]);
}
// A
let arr =[17,42,122]
for(let i in arr){
console.log(`This the A answer ${arr[i]}`);
}
// B
let arr =[17,42,122]
for(let i of arr){
console.log(`This the B answer ${i}`);
}
C-They do the same thing.
43. What is the React “key” prop?
A-“Key” prop is a way for React to identify a newly added item in a list and compare during the “diffing” algorithm.
B-It is one of the attributes in HTML.
C-“Key” prop is just there to look pretty and there is no benefit whatsoever.
44. All I know is that it is NOT commonly used in array.
What is stored into the triangle array?
var point =[1,3];
segment=[point,[5,5]],
triangle=[...segment,[1,8]];
A-23
B-[ [1,3], [5,5], [1,8] ]
C-[1,3,5,5,1,8]
45. How do you write "Hello World" in an alert box?
A-msgBox("Hello World");
B-alert("Hello World");
C-alertBox("Hello World");
D-msg("Hello World");
46. What is the correct ES6 function to replace this code?
let some_text ='some cool string';
if(some_text.indexOf('str') != -1){
return true;
A-some_text.repeat()
B-some_text.endsWith()
C-some_text.includes()
47. How can you add a comment in a JavaScript?
A-//This is a comment
B-<!--This is a comment-->
C-'This is a comment
48. The external JavaScript file must contain the <script>
tag.
A-False
B-True
49. Which event occurs when the user clicks on an HTML element?
A-onclick
B-onchange
C-onmouseclick
D-onmouseover
50. How to insert a comment that has more than one line?
A-//This comment has more than one line//
B-<!--This comment has more than one line-->
C-/*This comment has more than one line*/
Answers 🔑
1C
2A
3C
4D
5D
6C
7A
8A
9B
10A
11A
12C
13B
14A
15C
16A
17A
18B
19C
20A
21A
22B
23A
24D
25C
26B
27 File matching
28B
29A
30C
31B
32C
33-2
34A
35A
36A
37C
38 Compress with a gzip, webpack plugin, check image types and sizes, see the console network tab for load times
39b
40A
41C
42C
43A
44B
45B
46C
47A
48A
49A
50C
Social ❤️
Twitter
Linkedin
Portfolio
Github
Thank you for your time.
Best,
Happy Coding!
Posted on April 21, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.