Skip to content

Instantly share code, notes, and snippets.

@deamondz
Last active December 28, 2016 09:33
Show Gist options
  • Select an option

  • Save deamondz/2c4d1f186a8df6fd190324d8870c4444 to your computer and use it in GitHub Desktop.

Select an option

Save deamondz/2c4d1f186a8df6fd190324d8870c4444 to your computer and use it in GitHub Desktop.
  1. Когда вызывается метод componentWillMount? ===
  • Перед тем, как произойдёт первый рендер компонента

  • Сразу после того, как произойдёт первый рендер компонента

  1. Будет ли элемент "div" иметь класс "active"? ===
import React from 'react';
import DatePicker from './DatePicker';

React.createClass({
    render() {
        return (
            <div class="active"><DatePicker /></div>
        );
    }
});
  • Нет

  • Да

  1. Правильно ли, вызывать this.setState({...}) в методе componentWillReceiveProps? ===
  • Да, этот вызов не создаст дополнительного рендера

  • Нет, потому что это приведет к рекурсии

  1. Корректно ли использование данного кода в Redux reducer? ===
function reducer(state = {}, action) {
    switch (action.type) {
        ...
        case 'SET_VALUE': {
            state.someValue = action.payload;
            return state;
        },
        ...
    }
}
  • Нет, есть проблемы

  • Да, redux store обновится с новым значением

  1. Какого цвета будет блок? ===
<!DOCTYPE html>
<html lang="ru-RU">
<head>
	// ...
	<style>
		div { background-color: red; }
		.my-block { background-color: blue; }
		.MyComponent { background-color: green; }
	</style>
</head>
<body>
	<div id='app'></div>

	<script type="text/babel">
		var app         = document.getElementById('app'),
			MyComponent = React.createClass({
				render: function() {
					return (
						<div className="my-block" styles={ { backgroundColor: "pink" } } >
							<p>Hello, world!</p>
						</div>
					);
				}
			});

		ReactDOM.render(<MyComponent />, app);
	</script>
</body>
</html>
  • синего

  • розового

  • зеленого

  • красного

  1. Как можно получить ссылку на элемент DOM средствами React? ===
  • определить параметр ref="some" для елемента и потом обратиться this.refs.some

  • определить параметр key="some" для елемента и потом обратиться this.keys.some

  • никак, нужно использовать jQuery

  1. Что метод shouldComponentUpdate возвращает по умолчанию? ===
  • true

  • false

  • у него нет возвращаемого значения

  1. Как называется универсальный инструмент рисования в html5 canvas, с получения которого начинается работа с холстом? ===
  • Context

  • Painter

  • Design

  • Drawer

  1. Какой метод используют для удаления записи из localStorage? ===
  • localStorage.removeItem("user_name");

  • localStorage.deleteItem("user_name");

  • localStorage.delete("user_name");

  • localStorage.clearItem("user_name");

  1. Какие из перечисленных методов жизненного цикла не будут вызваны после setState()? ===
  • getInitialState

  • сomponentDidMount

  • componentWillReceiveProps

  • shouldComponentUpdate

  • componentWillUpdate

  • componentDidUpdate

JavaScript

  1. Есть ли разница между вызовами i++ и ++i? ===
  • Разница в значении, которое возвращает такой вызов.

  • Разница в значении i после вызова.

  • Нет никакой разницы.

  1. Что делает оператор ===? ===
  • Сравнивает без приведения типа.

  • Сравнивает по ссылке, а не по значению.

  • Сравнивает c приведением типа.

  • Нет такого оператора.

  1. Какой код корректно найдёт максимальное значение в непустом массиве arr? ===
  • arr.reduce(function(prev, item) { return Math.max(prev, item) })

  • Math.max.apply(null, arr)

  • Math.max(arr)

  • arr.findMax()

  1. Что выведет sayHi при вызове через setTimeout? ===
var name = "Вася";
function sayHi() { alert(name); }

setTimeout(function() {
	var name = "Петя";
	sayHi();
}, 1000);
  • Вася

  • Петя

  • undefined

  • exception

  1. Что выведет следующий код? ===
var Resource = {
	getSelf: function() {
		console.log(this === window)
		console.log(this === Resource)
	}
}
new Resource.getSelf();
  • false, false

  • true, false

  • false, true

  • true, true

  1. Что выведет следующий код? ===
for (var i = 0; i < 3; ++i) {
	setTimeout(() => { console.log(i) }, 1000);
}
  • 3, 3, 3

  • 1, 2, 3

  • 0, 1, 2

  • 2, 2, 2

  1. Что выведет следующий код? ===
for (let i = 0; i < 3; i++) {
	setTimeout(function() { console.log(i) }, 1000);
}
  • 0, 1, 2

  • 1, 2, 3

  • 3, 3, 3

  • 2, 2, 2

  1. Что выведет следующий код? ===
var o = {
	x: 8,

	valueOf: function() {
		return this.x + 2;
	},
	toString: function() {
		return this.x.toString();
	}
},
result = o < "9";

console.log(o);
  • false

  • true

  • undefined

  • exception

  1. Что выведет следующий код? ===
var fruits = ['apple', 'banana', 'pear'];

function foo() {
	return arguments.slice(1, 2);
}

console.log( typeof foo(...fruits) );
  • "array"

  • object

  • exception

  • "string"

  1. Что выведет следующий код? ===
var fruits = ['apple', 'banana', 'pear'];

function foo(val, ...bar) {
	return bar[1];
}

console.log( foo(...fruits) );
  • 'pear'

  • 'banana'

  • undefined

  • exception

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment