Как у тебя хватило сил и терпения ЭТО слушать - моё уважение. Я бы уже попрощался и ливнул после вопроса о KISS, откуда пошёл этот принцип. Оказывается, от армии США в 70х годах. Абсолютный маразм и духота.
я вижу многие по-разному понимают что есть helper функция. обычно это функция, которая возвращает другую функцию с аргументами в замыкании. а некоторые понимают это как утилиту. где-то на 54:00 тут такое же недопонимание проскользнуло.
Интервьюер так занят своим эго, что не замечает, что интервьюируемый гуглит или что-то в таком духе. Но однозначно отвечает как-то неестественно. Более того, если речь идёт о теории, то отвечает практически на все вопросы, а на практике лажает. К примеру, я знаю о принципе yagni и если бы у меня за него спросили, то сходу бы ответил, что это за принцип (расшифровывать не обязательно). А там сразу видно, что опрашиваемый не знал.
@@riman1132 Скрипт дождется когда отрендерится и только потом начет выполняться, поэтому никак не может заблокировать, тут речь шла про выполнение с атрибутом defer
Не понятно что он хотел увидеть с классом очередей на двух стеках. Обычно реализуется кольцевая очередь на одном массиве. Или однонаправленный список с двумя указателями
Это шутка какая-то?) Первая задача решена неверно. У вебворкера нет своего стека, результат его выполнения- это макротаска (postMessage), которая помещается в очередь макротасок
Если допустить, что на инджект скрипта уже произошел, то чисто теоретически можно спиздить данные из куков, например, если токены авторизации хранятся не в хттп онли, а дальше, если на сайте есть что-то в духе комментариев, можно прям туда все это кидать
В случае с промисами, клиент сам запрашивает данные у сервера, когда они готовы, но не получает их напрямую, а вместо этого получает callback-функцию, которая будет вызвана, когда данные будут готовы. Промис это же полл-система, а не пуш
Промисы это пуш система, ведь при выполнении промиса, когда он переходит в состояние выполнен или отклонен, результаты автоматически передаются в обработчики.
@@rusfungame Когда промис переходит в состояние выполнен (fulfilled) или отклонен (rejected), результаты автоматически не передаются в обработчики. Вместо этого, вы должны использовать методы, такие как then и catch, чтобы обработать результаты промиса.
@funfunfunnyfun8821 then и catch это фактически подписки на изменение состояния промиса, которые в момент изменения состояния запускаются рантаймом. Поэтому и пуш - они запускаются извне в некий момент времени.
Очень душно, такое впечатление, словно цель собеса не найм, а потешить самолюбие главного разраба... Расскажите собеседующему, что на дворе 2024 год, есть интернет - все гуглится.
@@enoughfornow7310 опыт разный бывает. Кто то джуниорские задачи решает всю жизнь в одной и той же конторе и удивляется, почему ему выше 150 никто не предалагает. Не предлагают потому что уровень знаний низкий, а опыт 10 лет...
! Он не прав async script никогда не блокирует parsing HTML. Различие состаит в том что async script может начать работать не ждав когда DOM оканчетельно парсится а defer ждет когда дом оканчетельно парсится потом начинает работать !!!
Помощь в трудоустройстве - goo.su/xeDj
ТГ канал - t.me/m1sha_frontend
ТГ для связи со мной - t.me/m1sha_bbn
Крутое собеседование! Огромное спасибо за выпуск:)
А потом приходишь и кнопочки красишь
а мне собес понравился, много полезной инфы, а то все привыкли к одним и тем же вопросам, а здесь человек местами копает вглубь, и это интересно)
Спасибо за видео, хотелось бы конкретные временные метки на тех части.
Пушка!
Поглядывал-поглядывал собеседования, работая на начальных уровнях мидла и думая, что умный, а потом попался этот собес и понял, что тупой)
Спасибо за собес, интересные вопросы были
На 1:23:18 речь идет о паттерне fluent interface. Хотя я бы его паттерном не назвал.
С таким допросом компания долго будет искать подходящего кандидата.
Компания ищет сотрудника высокого уровня, а не эникейщика, значит позиция предполагает серьезные задачи, а не джуниорские
Я смог пройти. Узнал человека, кто собесил
@@AndreyEricksonGame скок офер дали?)
@@rogiawos8737 300к
@@rogiawos8737 300к
хорошие вопросы на самом деле. Если ищут уверенного в своих знаниях кандидата, то самое то. Про KISS и армию США конечно мем))
круто что ты дотерпел это до конца
А разве реквест анимейшн подходит для тяжеловесных задач ? Он же как раз вызывается перед каждым
рендером, а вот про айдл ты правильно сказал
Это было в Промсвязьбанк? Недавно у них собесился, похожие вопросы и задачки были)
Было бы круто если бы подобные собесы, где мало практических задач ты выкладывал их в телегу в формате подкаста 😊
Как у тебя хватило сил и терпения ЭТО слушать - моё уважение. Я бы уже попрощался и ливнул после вопроса о KISS, откуда пошёл этот принцип. Оказывается, от армии США в 70х годах. Абсолютный маразм и духота.
че за духота
Про XXS атаки я вообще не понимаю, банк все дела но он кажется идет кнопочки красить а не взламывать безопасность банка.
Да норм интервью, че гоните в коментах. Бывали и хуже вопросы у меня в европе
оч душный чел, с таким неприятно работать, провалить этот собес и не пересекаться с таким челом это благосклонность судьбы
я вижу многие по-разному понимают что есть helper функция. обычно это функция, которая возвращает другую функцию с аргументами в замыкании. а некоторые понимают это как утилиту. где-то на 54:00 тут такое же недопонимание проскользнуло.
Непонятно, откуда вы такое взяли. Helper-функция это вспомогательная функция, что нужно для основной функции, то она и возвращает
хелпер- утилита, а то что ты описал- это декоратор
@@maxzm1279 не согласен
Интервьюер так занят своим эго, что не замечает, что интервьюируемый гуглит или что-то в таком духе. Но однозначно отвечает как-то неестественно. Более того, если речь идёт о теории, то отвечает практически на все вопросы, а на практике лажает.
К примеру, я знаю о принципе yagni и если бы у меня за него спросили, то сходу бы ответил, что это за принцип (расшифровывать не обязательно). А там сразу видно, что опрашиваемый не знал.
Promise это разве не push. 21:30
Это собеседование на СЕО джаваскрипта?
что то я не понял как сработает рекурсия в первой задаче, если n - 1 передается в push, а не в flat
видимо опечатка, но смысл понятен, что нужно во flat
@@art7653 Так написано же в задаче что flat нельзя использовать
Душновато, но вопросы реально на сеньора
действительно сложный собес. По безопасности вообще ничего бы не ответил))
Скрипты с defer никогда не блокируют страницу.
речь шла о выполнении скриптов после загрузки. Выполнение блокирует
@@riman1132 Скрипт дождется когда отрендерится и только потом начет выполняться, поэтому никак не может заблокировать, тут речь шла про выполнение с атрибутом defer
Не понятно что он хотел увидеть с классом очередей на двух стеках. Обычно реализуется кольцевая очередь на одном массиве. Или однонаправленный список с двумя указателями
классическая задача просто не для js "очередь на двух стеках" гуглится легко
@@xxxxPomaHxxxx ага нашел. можно и на js реализовать, конечно.
Интересно, после такого собеседования, хоть один трезвый человек пойдёт туда работать
Я бы пошел. Приятно работать со специалистами с высоким уровнем знаний, а не выпускниками двухнедельных курсов
Да ты бы и в рот взял судя по твоим комментариям
На ангуляр 12)))
Это шутка какая-то?) Первая задача решена неверно.
У вебворкера нет своего стека, результат его выполнения- это макротаска (postMessage), которая помещается в очередь макротасок
А нельщя чтоли linq использыать?
паттерн чейнинг
ребят, сколько в среднем может пройти времени от момента, как тебя в лонг-лист занесли, до собеса (если, конечно, тебя просто не скипнут)?
Максимум 2 недели
жесть задушил
Дали оффер по итогам ?
HTTP only защищает от csrf, а не от xss
Если допустить, что на инджект скрипта уже произошел, то чисто теоретически можно спиздить данные из куков, например, если токены авторизации хранятся не в хттп онли, а дальше, если на сайте есть что-то в духе комментариев, можно прям туда все это кидать
от csrf . samesite:strict
В случае с промисами, клиент сам запрашивает данные у сервера, когда они готовы, но не получает их напрямую, а вместо этого получает callback-функцию, которая будет вызвана, когда данные будут готовы. Промис это же полл-система, а не пуш
а RxJS использует push-систему для передачи данных от источника к подписчику.
Промисы это пуш система, ведь при выполнении промиса, когда он переходит в состояние выполнен или отклонен, результаты автоматически передаются в обработчики.
@@rusfungame Когда промис переходит в состояние выполнен (fulfilled) или отклонен (rejected), результаты автоматически не передаются в обработчики. Вместо этого, вы должны использовать методы, такие как then и catch, чтобы обработать результаты промиса.
@@enoughfornow7310 а then это что не обработчик что ли? Или мы заставляем пользователей руками вызывать их?
@funfunfunnyfun8821 then и catch это фактически подписки на изменение состояния промиса, которые в момент изменения состояния запускаются рантаймом. Поэтому и пуш - они запускаются извне в некий момент времени.
Интервьюер глубоко в теме. Респект
Сам себя похвалил?) Ты вызвал у людей которые посмотрели это видео с тобой исключительно негатив и отторжение
@@AntinMak ну не скажи норм мужик.
@@AntinMak ты болеешь? на видео не я. Стыдно стало за свой низкий уровень знаний и пытаешься тут утвердиться? Смешно
Я бы после такого собеса впал в депрессию, что со мной в команде будет работать такой душный чел.
Очень душно, такое впечатление, словно цель собеса не найм, а потешить самолюбие главного разраба...
Расскажите собеседующему, что на дворе 2024 год, есть интернет - все гуглится.
300 к платят за знание, а не за гугление
@@Todortodorov62 Любое знание, получаешь гуглением) или ты родился с знаниями, на 300к))
@@Todortodorov62 за опыт деньги платят, а не за знания
@@kawaikaino5277 гуглить умеют все, а вот знания накапливаются годами таких гуглений. Вы пишете примерно следующее - я умею гуглить, я достоин 300к
@@enoughfornow7310 опыт разный бывает. Кто то джуниорские задачи решает всю жизнь в одной и той же конторе и удивляется, почему ему выше 150 никто не предалагает. Не предлагают потому что уровень знаний низкий, а опыт 10 лет...
Отложил 15к, чтобы сходить к тебе, если новую работу не найду, а ты уже до 20к и 50% поднял :(
! Он не прав async script никогда не блокирует parsing HTML. Различие состаит в том что async script может начать работать не ждав когда DOM оканчетельно парсится а defer ждет когда дом оканчетельно парсится потом начинает работать !!!
ты даун
Как решили эту задачу? @frontend-m0ney
// Реализовать очередь с помощью 2-х стеков
class Stack {
constructor () {
this.storage = []
}
push (data) {
this.storage.push(data)
}
pop () {
return this.storage.pop()
}
size () {
return this.storage.length
}
}
class Queue {
constructor () {
this.stack1 = new Stack()
this.stack2 = new Stack()
}
// Добавить в очередь
enqueue (data) {}
// Вернуть следующего в очереди
dequeue () {}
// Сколько в очереди
count () {}
}
const queue = new Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.dequeue() // 1
queue.enqueue(3)
queue.enqueue(4)
queue.dequeue() // 2
queue.dequeue() // 3
Душновато, но вопросы реально на сеньора