DEV Community

Cover image for JavaScript and React Fundamentals Quiz
Greg
Greg

Posted on

JavaScript and React Fundamentals Quiz

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)
Enter fullscreen mode Exit fullscreen mode

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
}
Enter fullscreen mode Exit fullscreen mode

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);
                   }
}

Enter fullscreen mode Exit fullscreen mode

A-Python
B-JavaScript
C-C#
D-PHP

14. What does the "const" declaration do?

const pi = 3.14;
console.log(pi)
Enter fullscreen mode Exit fullscreen mode

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];
Enter fullscreen mode Exit fullscreen mode

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};

Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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}.`)

Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

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/)
Enter fullscreen mode Exit fullscreen mode

Describe = ________________

28. What is the content of the variable "a"?

function mystery(...params) {
     return params;
}
let a = mystery(1,23,4)

Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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();

Enter fullscreen mode Exit fullscreen mode

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}`);
}
Enter fullscreen mode Exit fullscreen mode

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]];
Enter fullscreen mode Exit fullscreen mode

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;
Enter fullscreen mode Exit fullscreen mode

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!

Top comments (0)