Коварные вопросы, говорите?
1. Какое из нововведений es6 принципиально не полифилится в es5? Почему? (И на какой черт оно вообще нужно, вдогонку). (И я бы заодно вдогонку попросил набросать полифил какой-то из фичей, например, this в arrow function).
2. Какие условия должны быть соблюдены для того, чтобы v8 мог скомпилировать функцию в нативный код? Ну и разумеется, почему?
3. Почему до es5.1 включительно typeof null === "object"?
4. Что на самом деле произойдет, если вы напишите
const arr = [];
arr[3484] = 5;
5. Аналог второго вопроса, но все же: с чем, по вашему мнению, могла быть связана бага в одной из версий хрома, приводящая к следующему результату:
function foo() {
return typeof null === 'undefined';
}
for(var i = 0; i < 1000; i++) console.log(foo());
>>> 121 false
>>> 879 true
6. Какие вы знаете способы заставить js произвести несколько операций одновременно (буквально, за такт)?
7. Сработает ли documeny.onready, если скрипт загружать с аттрибутом async? В каких случаях и когда именно он сработает?
8. Что можно и что нельзя делать в событии document.beforeunload?
Но, справедливости ради, эти вопросы даже не на мидла, некоторые из них не сколько каверзные, сколько упоротрые и если их вам зададут -- следует задуматься в адекватности компании.