глядя на следующую строчку кода. Но типа
будь внимателен, потому что каждое слово ты должен будешь обосновать.
x.y = 'z';
Я не понял прикола сначала, и просто ответил, что тут обычное присваивание.
(Позже я понял, что надо было отвечать не так.... но рассказываю как было).
"Обычное присваивание" - задумчиво повторил собеседующий. Он попросил меня
рассказать что такое присваивание.
Далее я - это я, т - собеседующий меня технарь.
я: Присваивание = ну это в данном случае запись строки "z" в свойство y
объекта x.
т: Что такое объект, что такое строка?
я: объект - это коллекция свойств, строка - это тип данных
т: Что такое свойство объекта, что можешь сказать о типах данных.
я: Свойство - это пара ключ и значения, типы данных... (понимая, куда дует
ветер, решил отморозиться), типы данных - их обычно 7, ну в ES5 точно.
т: какими 2 способами может происходить запись значения куда либо
я: не понял...?
т: можно записать строку, а можно записать массив
я: ааа, ну по ссылке запись и по значению.
т: что такое массив?
я: я не говорил массив, это сказали вы!
т: ставим + за внимательность. Ладно вернемся к твоим словам. Как по английски
будет слово ссылка?
я: ну эт легко - reference!
т: что такое reference type и есть ли он в этой строчке?
я: (про себя, да твою ж .... ). После этого я стал намного дольше задумываться
над своими ответами. reference type - это ссылочный тип данных, определенный
спецификацией ECMA script. Да , в этом примере reference type есть.
т: чем ссылочный тип данных отличается от ссылки?
я: ссылка - это по факту адрес ячеки памяти. Ссылочный тип данных - это
абстрактная сущность. которая нужна для описания процессов. происходящих в
спеке.
т: (поставил 2 плюсик). Хочешь напишу другую строчку для беседы?
я: (про себя свят свят свят). Нет! =)
т: а ты упорный=). Хорошо продолжаем. Вот ты говоришь идет запись значения
в свойство объекта. А почему оно вообще смогло произойти. Почем не ошибка,
или вообще бы ничего не записалось.
я: вы хотите услышать слово дескриптор?
т: о, поверь когда мы закончим, ты расскажешь даже то, чего ты не знал раньше
я: (пора валить). Хорошо, дескриптор - это фигня, которая регулирует поведение
свойство в объекте.
т: =) ну мы же не будем говорить о фигне?
я: не будем.
т: ты упомянул ES5 ...
я: ... Нет. по ES6 меня лучше не спрашивать
т: почему?
я: там много концепуий которые мне еще непонятны
т: (что-то поставил в блокнот, наверно минус, ну и хай с ним). Ок. Ты заметил,
что тут нет слова var?
я: заметил. Да в строчке. которую вы мне дали этого нет. Значит обсуждать не
можем по вашим же правилам.
т: В исходной строке стоит еще точка с запятой...
я: (ну зараза...). Да, это знак пунктуации в js, который разделяет инструкции
между собой.
т: чем интрукция от личается от выражения? Может ли привести отсутствие точки
с запятой к ошибкам в коде?
........ и тд.
в общем, я даже не представлял, насколько он за**да. Теперь, я уже не могу
спокойно смотреть на x.y = 'z';
Скажите, норма ли так проводить собеседования? И если пройду туда, стоит ли
вообще идти туда работать?
хотелось бы узнать продолжение разговора))
Ахахахаха
Обсуждают сегодня