Skip to content

Conversation

@dzmitry-varabei
Copy link
Member

No description provided.

Copy link
Contributor

@Margaryta-Maletz Margaryta-Maletz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В целом хорошо.
Но мне не понятно, мы просто рекомендуем менторам самостоятельно проводить такую активность или добавляем обязательное задание, суть которого ментор организовывает интервью для своих студентов и выставляет им отметки. Во втором случае механизм не раскрыт.

@dzmitry-varabei
Copy link
Member Author

И еще детали от Маргариты


Из тем которые отметили как сложные для студентов я выдернула следующие:

  • Exploring the Temporal Dead Zone.
  • Concepts of Hoisting.
  • The role of polyfills.
  • Global scope vs. functional scope.
  • Working with nested scopes.
  • Differences in parameters passing by value and by reference.
  • Understanding context and lexical environments.
  • Differences between scope and context.
  • The mechanism of lexical environment traversal.
  • Connection between function and its lexical environment.
  • this in functions
  • Reference Type & losing this
  • Understand difference between function and method
  • Understand how this works, realize this possible issues
  • Manage this - Be able to replace this value
  • Be able to use call and apply Function built-in methods
  • Know how to bind this scope to function
  • Binding, binding one function twice
  • Comparing arguments and rest parameters.
  • Working with static Object methods.
  • Property flags and descriptors.
  • Creating iterable objects and using Symbol.iterator (optional).
  • Sorting and custom sorting arrays.
  • Types of DOM Events.
  • Event Phases and their differences.
  • Custom events (optional).
  • Event propagation cycle.
  • Event delegation and its pros/cons.
  • Usage of setTimeout / setInterval.
  • Timezones and Internationalization in JavaScript (Intl).

Получается довольно приличный список обсуждение которого займет много времени. Предлагаю разбить список как минимум на 3 части и начать с выделенных вопросов.

С помощью чата GPT подготовила два списка вопросов, по которым студенты могут готовиться и задавать друг другу.

Списки конечно совсем простые получились... Но от этого можно отталкиваться.

List 1

  1. Exploring the Temporal Dead Zone:
    What will be the output of the following code and why?
console.log(a);
let a = 5;
  1. Concepts of Hoisting:
    What will be logged to the console and why?
foo();
function foo() {
  console.log('Hello');
}
  1. The role of polyfills:
    What is the purpose of a polyfill, and how would you use one for Array.prototype.includes in an old browser?

  2. Global scope vs. functional scope:
    What will be the output and why?

var x = 10;
function test() {
  var x = 20;
  console.log(x);
}
test();
console.log(x);
  1. Working with nested scopes:
    What will be logged to the console?
function outer() {
  let a = 1;
  function inner() {
    let b = 2;
    console.log(a + b);
  }
  inner();
}
outer();
  1. Differences in parameters passing by value and by reference:
    What will be the output and why?
function change(obj) {
  obj.value = 10;
}
let a = { value: 5 };
change(a);
console.log(a.value);
  1. Understanding context and lexical environments:
    What is the value of x when bar() is called?
let x = 1;
function foo() {
  let x = 2;
  function bar() {
    console.log(x);
  }
  bar();
}
foo();
  1. Differences between scope and context:
    Explain the difference between scope and context in JavaScript with a short code example.

  2. The mechanism of lexical environment traversal:
    What will be printed and why?

let a = 1;
function first() {
  let b = 2;
  function second() {
    console.log(a + b);
  }
  second();
}
first();
  1. Connection between function and its lexical environment:
    What will be the output and why?
function makeAdder(x) {
  return function(y) {
    return x + y;
  };
}
const add5 = makeAdder(5);
console.log(add5(2));

List 2

  1. Exploring the Temporal Dead Zone:
    Why does the following code throw an error?
console.log(b);
let b = 3;
  1. Concepts of Hoisting:
    What will be the output and why?
console.log(bar);
var bar = 7;
  1. The role of polyfills:
    How would you check if a polyfill is needed for Promise in a browser?

  2. Global scope vs. functional scope:
    What will be printed and why?

let y = 5;
function demo() {
  y = 15;
  console.log(y);
}
demo();
console.log(y);
  1. Working with nested scopes:
    What will be the output?
let x = 10;
function a() {
  let x = 20;
  function b() {
    console.log(x);
  }
  b();
}
a();
  1. Differences in parameters passing by value and by reference:
    What will be logged and why?
function modify(num) {
  num = 100;
}
let b = 50;
modify(b);
console.log(b);
  1. Understanding context and lexical environments:
    What will be the output and why?
let y = 3;
function outer() {
  let y = 4;
  function inner() {
    console.log(y);
  }
  return inner;
}
const fn = outer();
fn();
  1. Differences between scope and context:
    Given the following code, what is the scope and what is the context of foo?
function foo() {
  console.log(this);
}
  1. The mechanism of lexical environment traversal:
    What will be printed and why?
let z = 5;
function alpha() {
  function beta() {
    console.log(z);
  }
  beta();
}
alpha();
  1. Connection between function and its lexical environment:
    What will be the output and why?
function counter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}
const c = counter();
console.log(c());
console.log(c());

@dzmitry-varabei dzmitry-varabei merged commit f5f2cf9 into master Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants