Как пройти собеседование по JS? И зачем? | Odessa Frontend Community Meetup | Юрий Федоренко
Вставка
- Опубліковано 27 гру 2017
- Юрий Федоренко выступает на Odessa Frontend Community Meetup с докладом на тему «Как пройти собеседование по JS? И зачем?»
Смотрите вторую часть «Как пройти собеседование по JS? И зачем? vol.2»
• Как пройти собеседован...
Подписывайтесь на Telegram-канал t.me/callforward
Здесь разбираются вопросы, которые интервьюеры задают на собеседованиях.
Компьютерная Школа Hillel
site: ithillel.ua
тел.: +38 (097) 156-58-27
fb: / hillel.it.school
in: / hillel_itschool
tw: / hillel_itschool
ln: / hillel_itschool
yt: / hillelitschool
g+: plus.google.com/1073935020853...
Бен Аффлек круто знает JS! Респект)
Юра крут, очень понравился ваш доклад, продолжайте в том же духе.
ОООчень крутой доклад! Премного благодарен.
Спасибо за доклад, очень класная подача.
Спасибо за видео)
100500 тысяч лайков. просмотрел на одном дыхании. примеры не классические и не банальные. интересно было самому решать. однозначно зачет!
Видео набрало 1000 лайков, жду 2 часть! Автор сдержи своё слово и выпусти побыстрее!
вышло!)
Спасибо, достаточно качественный материал.
Офигенный спикер! Приятно слушать!
Спасибо, Юрий! Весьма полезный доклад получился!
Если резюмировать, то собеседование - это как первое свидание с будущим партнёром:
1. Лучше быть подготовленным, чем не подготовленным.
2. Лучше быть в хорошем настроении и радоваться встрече, чем нет.
3. Лучше быть искренним и честным, чем зазубренным и наиграным.
Самые интересные задачка:
26:24 - задачка про map и parseInt
31:53 - полифилл для bind
37:45 - классика с таймером и 10ю выводами
Спасибо, Тамби, за лекцию
Лучшее объяснение прототипного наследование, что встечал в просторах интернета!
Очень годно
21:19 *o null и экзистенциальных проблемах с typeof*
Господи боже мой, сеньоры итить вашу в качель.
Нет никакого как бы бага в том, что typeof null === "object". И если уж не понимаете сути, так последовали бы своему же совету обратились к спецификации. И внимательно бы вникли в то чем является Null.
Ну или задались бы хотя бы вопросом, каким это магическим образом такой БААААГ был не исправлен сразу с момента его появления, то есть с самой первой версии JS
*Краткий ликбез для сеньоров*
Null в JS это сущность которая обладает двумя качествами:
это и примитивный тип и объект одновременно.
Null - это явно заданный обьект с неопределенной структурой. То есть это именно ОБЪЕКТ, не имеющий структуры, пустой обьект. потому null и примтивный, но при этом и обьект тоже.
И если сеньоры дадут себе труд, не только рекомендовать кому то читать спецификацию, но и сами иногда это будут делать, то прочтут именно то что я сказал.
Иными словами, в рамках языка с момента, его рождения, Null это синтаксическая структура с лексической неоднозначностью. То есть - обладающая двумя одновременно качествами.
На любой вопрос о том, что же Вы такое говорите, ведь нужно писать теперь костыли под typeof, - есть очень простой ответ:
если Вам понадобилась использовать typeof для ссылки с целью найти по ней что-то вроде null, то у вас серьезные проблемы с кодом и с пониманием того как программировать на JS.
Потому как null из воздуха не берется.
Это детерминированное свойство.
То есть качество появления которого строго предсказуемо - его устанавливаете либо Вы лично, либо его возвращает метод который должен вернуть обьект, но в силу каких то обстоятельств обьект который возвращают - не определен.
Подчеркиваю, не undefined, не false а именно null.
И в этом принципиальная разница которая крайне востребована у разработчиков, которым необходимо писать на js эффективный высокопроизводительный код.
Ну те самые разработчики, которые исправлением всего одной строчки кода, повысили производительность ангуляра почти на 30%
Господи, откуда стольо желчи?) Спасибо большое что досмотрели видео аж до этого этапа, и спасибо за объяснение.
Да, я действительно не копал глубоко этот вопрос, было очень интересно прочитать. Чуть меньше бы брызг злости на непонятно кого, было бы еще и приятно)
Просто доверился строчке на learn.javascript.ru
Результат typeof null == "object" - это официально признанная ошибка в языке, которая сохраняется для совместимости. На самом деле null - это не объект, а отдельный тип данных.
А что за история со стройкой в Ангуларе?
@@yurafedorenko1218 *От верблюда*
Если каждый,
кроме меня,
найдет в себе силы и возможность,
любому,
кто влез на трибуну
прокричать - *save water drink beer*
наша жизнь станет чуточку лучше
*learn javascript*
это ресурс который содержит тьму тьмущую ошибок
за которую мой филиал куклус клана уже давно собирается провести аутодафе
при этом, его активное крыло собирает деньги на то,
*чтобы поставить памятник его руководителю*
потому как с точки зрения вселенной, он все таки положительная сила.
*Angular*
мономорфоность обьектов имеющая радикальное значение в производительности.
Одна дырка в массиве приводит к снижению в производительности в два порядка.
Да я говорю про цифру в 100 раз.
@@demimurych1 , простите, а не подскажите именно хорошие ресурсы без ошибок, или книги по JS
,уже почти сотня лайков ) полет нормальный
Я люблю тестовые задания, и терпеть не могу собес - где идет соревнование между собеседующими - кто больше задаст вопросов и позаковыристей нахватаных из интернетиков.
20:16 По спецификации ES, null - это примитив объекта (что-то типа объекта, но пустое, без прототипов и прочих магических вещей)
43:00 (function(){for(var i=0; i
Офигеть!!! Еще не досмотрел до конца, но про DELETE b.c мой мозг даже не взорвался, а там электричка... ТУТУУУУУУУУУУУУУУУУУУУ................
Сейчас все-таки досмотрю до конца и обратно опять вернусь на этот момент! Если "электричка" в на мой "перрон" не приедет, буду гуглить пока не врублюсь! Супер ВИДЕО, спасибо!
Класс. Очень харизматичный спикер, интересные задачи. С удовольствием послушала и даже телеграм завела ради вашего канала)))
поставил 592й лайк , ждём продолжения)
уже)
"что означает если подпрыгнуть на одной ноге, повернутся вокруг оси и засунуть палец в жопу" - "это означает что вы извращенец" Так Сергей Немчинский прокомментировал такие вопросы на собеседовании.
хз, расмотрены одни из самых попцлярных вопросов сам их встречал много раз.
Это невзначай проверяют на знание заклинания "Оралус Аналус" и как ты умеешь им пользоваться вне Хогвардса.
Отлично! Побольше докладов бы от Юры)
20:16 аххахаха отключите мне интернет, я не могу это слушать ;D
"Аnull? АNALL последний шанс реабилитироватся"
блин, вот говорила мне учительница геометрии: никогда не называй точку E, потому что в задачке всегда будет еще и точка B, и между ними будет отрезок, как назло
Хаха, сильно:D
Ахахах :)))) по Фрейду
Может мне ещё доплачивать за возможность поработать ? Как-будто мне одолжение делают что берут на работу. Мы на рынке, я продаю свой труд - компания покупает. Никто не должен от радости скакать. Я должен искать возможность принести новые технологии ? Буду архитектором подумаю об этом.
На 13 минуте после не ври, не воруй, я подумал, что следующим будет не убий и решил досмотреть до конца 👍👍
6-18 месяцев будут копиться 1000 лайков, ребята просто пойдут самостоятельно изучать тему)
это можно ускорить, например расшарить видео, или попросить админов любимого паблика про фронтенд запостить его)
Yura Fedoreko или накрутить
В вопросе про setTimeout чтобы вышли цифры с 0 до 10 можно также -> setTimeout(function(i){
console.log(i);
}, i*1000, i);
}
Прототип - значение по умолчанию, а не куча текста который он втирает 10 минут. Когда работаешь с типовыми языками это вполне просто объяснить, но в js это как магия.
Самая главная фраза "Возможно, нужно посмотреть"
Про девочек, которые пришлют резюме там, где соответствуют 8 пунктам из 10, это прям в точку :)))
А давай я тебе свою задачку поставлю: Вот есть два стула...
На одном ангуляр дроченный, на другом реакт замороченный, куда сам сядешь, куда джуна посадишь ?
Alexander Moiseev на Vue.js:D
Возьму реакт, но встрою в него JQUERY как библиотеку
@@ivansidorov5 извращенец)
@@uNkind33 ахахахахах
NaN это число, которое парсер читает как индентификатор., null это тип null, который при использовании typeof выдаёт ‘object’ (ошибка языка (не спецификации))
null это объект :) console.log(typeof null) // "object"
К слову по зявлениям разработчиков это не ошибка. :) Но вот зачем, тут я уже понятия не имею :(
@@macgera не трогай этот пиздец, это несущий пиздец JS.
@@user-vu6hn4ul2i всмысле не трогай? Уже не могу, лет 15 трогаю... привык как-то :)))) лол
@@macgera мне больше нравится console.log(typeof 42/" ") // number. Результат операции NaN, буквальное сокращение "not a number". Type of not a number: number!
Недавно мне по фронту дали тестовое, которое должно делаться примерно для 4 и это не по часу в день - послал лесом, бесплатно убить 4 дня на тест, нет я не готов!
Мне на верстальщика джуна дали тест: с десятками анимаций, нестандартными слайдерами каруселью, с переходами табов и событиями на скролл... Через 2 дня мучений - понимал, что не сделаю... Но делал 3-й и 4-й день просто ради практики и опыта! Я всё равно учусь и каждый день пишу "под стол" по тыще строк кода))
@@Drezerak я в шоке, я первую работу верстальщиком нашел так, пришел на собес у меня было сверстано пару 2-3сайта чисто для знакомых и на вордпрес натянуто, меня по спрашивали по данным сайтам(что как делал) и через пару дней пригласили на работу) средняя ближе к небольшой ит компания, для первого опыта просто супер было) зп тоже дали адекватную. Проработал пару лет и удачно.
@@suslikest3708 Они сразу сказали, что верстальщик у них ушёл, они ищут именно верстальщика но не фронтендера... И видимо нашли, кто им сделал это задание: вакансия закрыта, я не у них. Компания маленькая 10 чел... Подаю в другие конторы по одной, чтоб не заипаться делать эти тесты)) Но к такому собесу, как на видео - мне уже страшно идти...
@@Drezerak да тут на видео явно не верстальщик, а фронтендер ходячий справочник))
Да часто присылают такое "там на 2 часа", читаешь ТЗ, а там мини-стартап на неделю.
так, ребята, до 1000 лайков осталось 12, давайте уже, не тяните, у меня через пару месяцев собеседования начнутся!
37:30 а как же аргументы самого байнда?
const bind = (cb, ctx, ...args1) => (...args2) => cb.call(ctx, ...args1, ...args2)
48:06 new - constructor, call function without brackets, this way: new foo;
50:45 __proto__ and prototype
Несколько лет работаю сеньром, зп $5K чистыми. Собеседование у этого спикера я бы никогда не прошел :)
Спасибо за мотивацию :D
в одном офисе дослужился до сениора, чтоль? )
@@P1oN4ik Не понял вопроса.
@@AlexanderShelestov в смысле у него слишком обычные вопросы как для собеседования (в Одессе на 4 из 5 собеседований можно услышать 75% его вопросов), при том, что целился на позицию джуна.
Где ты так смог прошмыгнуть мимо таких вопросов? или джуном пришёл в компанию и там дослужился до сениора?
@@P1oN4ik ХЗ, на моем первом собесе я был сразу после трехмесячного курса по вебу. О чем и сказал представителю компании. Показал ему тестовое задание, которое делал на курсе, пообщались. Компания нашла меня перспективным, взяли джуном. Подобных вопросов не было.
Через год я в этой компании был уже сеньором (ну как, сам то я считал себя еще мидлом, но на фоне остальных... В общем, я был уже что-то вроде тимлида ))
Все последующие компанеии были зарубежные (США, Австралия, Британия, и т.п.). Тоже таких вопросов не было. А может где и были, но я таких посылал сразу, мы далеко не заходили :)
Ну и может это важно. Я пошел в IT в 35 лет. Сейчас мне 40. До IT большой опыт в других сферах бизнеса (реклама, продажи, производство мебели, собственные компании и т.п.). Возможно это придавало мне всегда уверенности на собесах :)
20:16 я чуть не подавился печенькой
Уважаемый, у вас все по Фрейду?) Слышим самое волнительное для себя?)))
1000 лайков есть, где вторая часть? 🙃
вышло!)
Бэн Эффлек как спившийся Тор в последних мстителях)
Интересный доклад, на все вопросы по задачкам можно ответить пройдя курс learn.javascript.ru
Это для Juniorov ?
Полифил к бинду работает не так как оригинал, не учтен вариант нескольких вызовов бинда.
вопросов не слышно((
ua-cam.com/video/ncaWoyLINoI/v-deo.html "Портфолио бекендщика который пишет асинхронно в три потока гав-гав мяу-мяу" улыбнуло
1100 лайков! где продолжение7
будет)
вышло)
че скажете на счет моего СОБЕСА в APPLE - ua-cam.com/video/Ezi8rpawB-o/v-deo.html ???))
2017 год. Разве не пора объявлять через let а не через var?
А где . вк? в списке соц сетей
У нас вк запрещен законом
@@alex330k47, главное - не впнОМ -)
В jsfiddle выдает 10-ть 10-ток :
for (var i=0;i
ты не правильно переписал)
Хмм... тема про null меня зацепила, этот разработчик говорил про неадекватных собеседователей. И вот представим ситуацию приходим на собеседование и нам задают этот вопрос про null и ты такой вот там typeof глючит показывает объект, представляет отсутствие какого-либо значения, в логических операциях это соответствует ложному ответу. А тебе говорят а что еще вы можете сказать про null, вы такой ну не знаю он красиво смотрится в коде, ну чтобы так сказать немного разрядить обстановку. А собеседующий: дело в том что язык описывается не только самим собой а еще и спецификацией (у тебя в голове да не фига себе да ну а я то думал нам бог это на скрижалях дал), и вот во всех спецификациях указано что null это отдельный тип. Я честно заявляю что спецификацию js я читал очень мало, но читал и дословно да и вообще ее не очень то и знаю. И вот сейчас я открыл эту спецификацию, и в ней единственное что написано про null это что он не отдельный тип, а тип, единственное значение которого является пустым значением. У меня все по данному зацепу.
22:56 Я выпал в осадок =) Он перечисляет примитивные типы и среди них null. Как так получилось что это не отдельный тип? =)
Думал будет скучный видос =)
Плохо что не слышно что слушатели спрашивают... примеры интересные подобраны
Интересный доклад, но Сильно много "Эээээ" Стоит поработать над собой, а в целом - лайк :)
:-) слушал на скоркости 2 . не услышал ни одного ээээ ;-)
Очень тяжело случать все єти -єєєє и переходи с одного на другое каждие 3 секунди.
Могу посоветовать вам ребята читающие єтот коментарий, учите програмирование на английсом язике и учитесь по англоязичним ресурсам, там уровень лекторов на много више...
Sergiy Rudenko ускоряй видео до x1.5, мне зашло я за 45 мин все просмотрел и понял
@Русский Человек Согласен. Если бы СССР не развалился, сейчас бы все термины в программировании на русском были, по крайней мере на территории СНГ.
@Русский Человек Всё из за троцкистов во власти. На самом деле, после смерти Сталина начали возрождать капитализм - период колбасного социализма - когда из народа стали делать потреблядей, а промышленность еще не подготовили к производству ширпотреба -- не иначе как саботаж это не назвать.
@Русский Человек но компьютеры то на английском. И все языки программирования - тоже. И изначально они пишутся на английском.
53:41
Не undefined, а null :)
нет, я там говорю о том, что вернет обращение к свойству если оно не будет найдено, и вернется undefined
на null указывает ссылка __proto__ у Object.prototype, но это не значит, что при обращении к свойству вернется null
Тут я понял что вообще не знаю js
Чет это изи
ну 1к лайков на ютубе есть.
и видео есть)
Ну то есть ты можешь задавать рандомные вопросы, ответы на которые ты полчаса назад подгялдел в интернеет, а тебе такие вопрося без подглядывания в интернет задавать нельзя, иначе ты сразу сыпешься.
Ну чувак, ты просто некомпетентный интервьюер.
14:27 Внезапно собеседующий оказался полным нулём, ахахаха
Ээ
js и sql как они рядом и как же они не похожи друг на друга, один отвечает за понты и красоты, другой за суть, один меняется чуть не каждый год, втрой не меняется годами, как изнанка одного и того же. JS да будет необходим ещё очень и оччень долго, но sql ввиду своей фундаментальной сути будет необходим всегда.
ютуб и гугл докс как они рядом и как же они не похожи друг на друга...
лампочка и электросчетчик как они рядом и как же они не похожи друг на друга...
почки и печень как они рядом и как же они не похожи друг на друга...
Ваш SQL говно мамонта. Не пользуюсь им уже десяток лет и не имею никаких проблем с хранением данных.
зы. причём тут js - непонятно, наверное, никому.
бросил смотреть на задачке с таймаутом в цикле...
докладчик в js - пень полный...
ладно еще bind неполноценный показал, конкретную задачу он решает...
а в задаче про таймаут, правильный ответ может быть один: "оторвать руки тому, кто создает функции в цикле и пользоваться возможностями самого таймаута для передачи аргументов в колбэк":
var cb = function(i) {
console.log(i);
};
for(var i = 0; i
Юзай генераторы и рекурсию, блжад!
@@MaxSvargal к чему здесь генераторы и рекурсия?
К задаче об асинхронных операциях в циклах, очевидно.
@@MaxSvargal во-первых, исходная задача стояла запланировать 10 таймаутов. в цикле. Не ждать их выполнения. Не получать из них результат. Просто запустить. Зачем усложнять код?
Во-вторых, генераторы для асинхронщины - такой же говнокод, какому учит автор видео. Или async/await (сахарок для императивных лузеров) или манипуляции с промисами, третьего не дано...
Тут вопрос стоял не за чистотой, правильностью и логичностью кода, а за иллюстрацией собственных механик языка
парень неприятный.
Жалко чувака....сам себя презирает за лишний вес.