Interview of a Middle Frontend developer
HTML-код
- Опубликовано: 2 авг 2024
- Начинаем новую серию видео с фронтенд собеседованиями.
Сегодня интервью проходит Алексей, он пробуется на должность Middle Front-end разработчика. Сразу скажу, интервью получилось интересное и надеюсь, остальным будет полезно. Старался оставлять свои комментарии по ходу собеседования. Если у вас возникают какие-то вопросы - все пишите в комментариях, буду стачать отвечать.
👍 Друзья, поддержите, пожалуйста, Алексея в комментариях - он самый смелый, прошел у нас интервью первым. И поставьте ему большой красивый лайк!
🤓 Все, кто хотел бы поучаствовать в нашем проекте и попробоваться в прохождении тестового интервью - заполните, пожалуйста, форму: forms.gle/c1Z6wptfcv2rXtNr8
Тайм коды:
00:00:00 Про новый формат видео
00:01:14 PreScreen собеседование
00:14:27 Обратная связь по PreScreen interview
00:16:45 Техническое собеседование
00:16:55 Про хойстинг в JS
00:20:11 Про let, var, const
00:21:31 Про замыкания и IIFE
00:28:08 Про контекст вызова, arrow function, bind
00:32:33 Про передачу аргументов через bind
00:35:00 Задача про фрукты (массивы, объекты, sort)
00:56:10 Про arguments и rest
00:58:22 Про каррирование
00:59:47 Про каррирование и рекурсию
01:03:15 Про High order functions и карриррование
01:07:26 Про event loop и setTimeout
01:08:23 Что такое CORS
01:10:07 HTTP запрос OPTIONS
01:10:59 Что такое CDN
01:12:26 Про отдельные домены для статики
01:16:27 Обратная связь по техническому интервью
01:28:44 В качестве заключения
Задача про ClassNames: • Задача с frontend собе...
---
Если видео было для вас полезным, ставьте лайк и поделитесь им с друзьями.
Подписывайтесь на наш канал: bit.ly/fs-ytb
---
Присоединяйтесь к нам в соцсетях:
FB: / frontendscience
Instagram Сергея Пузанкова: / puzankovcom
Заходите на наш сайт: frontend-science.com/
---
Music: Blue Wednesday.
#ityoutubersru, #frontend, #itсобеседование
👍 Друзья, поддержите, пожалуйста, Алексея в комментариях - он самый смелый, прошел у нас интервью первым. И поставьте ему большой красивый лайк!
😢😊🎉😂 ❤😮😢❤❤😊х😮😮🎉😊 л😂🎉😂😅😅е😊😢😅вы❤❤😂😂❤😊 😅😮😮х😮😢😮😂😅😢😅😮😊🎉к😢😊😢😢😂😊😊🎉🎉🎉😢😢😊😢эх😊😮😢😮😅😮😮😅❤😮😮😮❤😢😂😊😊😂😢🎉❤😊😢л😮🎉😊 7:41 🎉😅😢😢😢 7:55 🎉😢😊😅😊😢😮😢😢😅😊😮😢🎉😮😂😢з 8:б😅❤😂😊 10:17 42 как 8:54 😮х😂❤😮😊😢 9:56 😢😊😢😅😮х😢🎉😢ф😢😂😢😊😅😊😢😮🎉😊😅😊😮😮❤😊😊😮😊ч😂😮🎉😂😊
У нас есть два JS, тот который мы используем каждый день и о котором говорим на собеседовани ))
У нас есть два программирования, то которое мы используем каждый день и о котором говорим на собеседовании )))
Согласен, в реальности все по другому, а здесь какие-то магические слова :)
@@user-rf3ui4cc6w Ну на самом деле слова не магические) Просто часто работа превращается в рутину и все мы работаем не с целью чему-то обучиться, а просто выполнять задачи, ибо начальству только это важно, к несчастью( Но я считаю, что если хочешь быть не просто кодером, а программистом думающим и отвечающим за каждую свою строчку кода, то надо чтобы все-таки все эти слова перестали быть магическими)
@@zheil2977 можно подставить php, ничего не изменится.
+++++
Круто, спасибо, ждал! Люблю смотреть публичные собеседования)
Мне лично сразу в кандидате понравилось то что он свободно и без напряга общается при этом в рамках приличия как по мне уже крутой показатель.
Да, парень - крут!
Алексей, спасибо за участие в интервью. Считаю, отлично справился, несмотря на волнение. Успехов, профессионального и карьерного роста!
Чувствуется, что готовился усердно :) Круто.
Хорошая обратная связь и классные задачки. Спасибо!
Алексей молодец! Все знания можно помножить на 2, а то и на 3 - учитывая что все это происходит в стрессовой обстановке.
Было круто, спасибо Сергей! Еще так много нужно узнать и еще большему научиться)
И тебе спасибо! Больших успехов!
Ты оч крутой!
блиин, так круто прошел, можно было бы попросить у вас телегу или мэйл?)
обещаю не спамить, хотел спросить про ваши ресурсы для подготовки
огонь собес )
28:00
const inc = (function() {
let counter = 0
return function () { counter + 1 };
})()
Не возвращается значение, и не переопределяется сам counter:
const inc = (function() {
let counter = 0
return function () { return ++counter };
})()
Да return Алексей забыл добавить. Бывает
@@frontendscience Но counter тоже инкрементировать стоит, в реализации на видео будет возвращать всегда 1. Но это мелочи )
@@romanmed9035 Да именно так замыкания и работают. Они хранят контекст с переменными даже если эта функция уже отработала.
У Алексея в решении была ошибка в решении: необходимо вместо строки counter + 1 делать return ++counter. Таким образом сохраняется увеличенное значение переменной counter и самое главное из функции возвращается значение.
@@romanmed9035 Успехов!
const inc = () => {
inc.counter = inc.counter || 1;
return inc.counter++;
}
а с iife крутое решение, сразу в голову не пришло
Крутой формат!! Лайк! Побольше собесов )))
Контент просто огонь! Алексею респект! Сергей, огромная благодарность за такой формат!!!
Рад что понравилось! Благодарю за поддержку!
прям очень круто! Алексею респект)
Спасибо. Было полезно) Надеюсь увидеть собес на сеньера)
1:00:12
Вдруг кому-то нужно или интересно решение задачи с каррированием и рекурсией, на которую решили не тратить время
const sum = (a) => {
let result = a;
return addMore = (b) => {
result += b ?? 0;
return b === undefined ? result : addMore;
}
}
const sum = a => b => b ? sum(a + b) : a
sum(1)(2)(3)() // 6
Many thanks!! Такие интервью дают больше понимания, чем обучающие материалы!!
Алексей крут конечно!!!! Зная что выступаешь на широкую аудиторию нервишки шкалят еще больше!!!! С учетом волнения его знания можно во много раз приумножить)) Такие видео помогают избавится от эффекта самозванца) Сергей вам огромный респект!!!! На некоторых конторах, на Middle позицию, спрашивают ядро JS и после по специфике конторы React, Redux, Typescript, Webpack и т.д. Хотелось бы увидеть собеседование в таком формате))
у меня спрашивали чем отличается event loop браузера и nodejs, зачем эта инфа, что она решает, не понятно, учитывая что я ему рассказала как работает event loop браузера решая задачу, в итоге не взяли, может я был глуп для них, но была закономерность, придумывались абсурдные задания, что в итоге сказал сам интервьюер, не желаю никому на такого попасть, кстати есть ещё прикол, зачем-то сбивать с логики, я решая задачу сказал какой будет результат, а он старался сбить меня с моей логики раза 4-5 в одном вопросе, это что за способ самоудовлетворения, надеюсь что следующий интервьюер будет как Сергей
Хорошее собеседование и вопросы адекватные. Еще интересно было бы увидеть собеседование на react разработчика.
Очень круто и качественно!!!
Я вчера проходил на трейни, так мне три задачи попались такие как тут проходили... узнал бы немножко пораньше !)
В целом, спасибо, тут есть чему поучится !
Прикольно! А какие именно задачи?
И что еще было? Ребятам тут будет полезно узнать
@@frontendscience Мне попилась по приоритетам(event loop and setTimeout, ну там добавили мне и IIFE), так же "Про замыкания и IIFE".
от такое еще было:
const arr = [
[true, false, true],
[false, false, true]
] // надо поменять с true на false на оборот.
Благодарю что поделился!
Алексей красава просто! очень хорошие знания показал
Отличный формат! Сергей, благодарю!
И я Вас благодарю )
Спасибо, очень полезно
Я так долго ждал этот формат.
Здорово! Рады, что нравится 👍
Собеседование крутое! Так держать!
Отличный формат! Спасибо большое за этот собес)
Рад, если полезно!
Спасибо за отличный видос, подписался с надеждой увидеть ещё в подобном формате, несмотря на то, что довольно успешно решаю задачи бизнеса во фронтенде уже более 4х лет понимаю что до уровня миддла надо подтянуть знание базовых вещей, таких как замыкание/карирование
Желаем Вам успехов!
Классный ролик, спасибо)❤
Отличный контент. Большое Вам спасибо!
И Вам спасибо 😉
Сергей спасибо за контент, очень хочется увидеть, как вы собеседуете джуна
Заполняйте форму! И можете не только увидеть, но и поучаствовать :)
@@frontendscience Собеседовался на джуна, вопросы как здесь на мидла...
@@abffggjhf516 Я тебе больше скажу - такие же вопросы будут и если на синьора собеседоваться, здесь важна точность и глубина ответов.
Алексей большой молодец! Очень смело публично проходить собеседование! Успехов ему и вам!
Завтра буду слушать , надеюсь будет крутяк !!!
спасибо что проинформировал
Прикольно! У вас тут весело 😆
в задаче с замыканием, есть вариант вот такой реализации:
const inc = (counter => () => ++counter)(0);
console.log(inc()); // 1
console.log(inc()); // 2
console.log(inc()); // 3
Да отличный вариант1
Украдено с Хекслет
Крутой контент! Было бы интересно смотреть прямую трансляцию лайва, и + в таком формате как сейчас с монтажом публиковать ролик.
А какие Вы видите плюсы от собеседования в лайве? Мы изначально так и планировали, но сейчас вот придумать не можем профита. Чат? Ну так он будет отвлекать участника или ведущего... свое решение задачек высылать? Так их и просто в комментариях можно писать, как и любые вопросы... поделитесь мнением!
@@frontendscience Собеседоваться когда тебея смотрят 10k человек - такое себе))
@@dobermanpharaoh7567 вообще-то 20k, но кто считает )))
@@dobermanpharaoh7567 так всё равно посмотрят же.
Про замыкания и IIFE.
let inc = (function() {
let counter = 0;
return function() {
return counter + 1;
}
})();
Код не будет работать :)
Надо return counter + 1 заменить на ++counter
А за видос спасибо, крутейший контент - позволяет представить себя на месте интервьюируемого и попрактиковать задачки. Подписался.
Выше в комментариях я уже отвечал про эту задачу.
Крутой формат! Лайк, подписка!
Благодарю за поддержку)
Когда работаешь каждый день с фреймворками, забываешь азы. Мне на самом деле чуток пришлось даже поднапрячься с рекурсивным решением курринга...Спасибо за фановый контент, азы нуно знать, есть что повторять :)
Супер 🥳🥳🥳
Классное собеседование. Алексей - молодец! Я искренне переживал за Алексея и тоже решал с ним задачки.
Блин не собирался смотреть это видео, 1 : 29 :52, но как то затянуло, самое интересное, что я не занимаюсь ни фронтом ни бэком, ни вообще IT разработками. Было просто интересно, продолжайте делать дальше такие видео.
:) Благодарю!
Спасибо! Очень классно проводите собеседования. Вы бы могли в дополнение говорить в конце - взяли ли бы вы человека на данную позицию к себе на работу?
Алексея я бы пропустил на следующий этап технического собеседования
Ребята, а было бы интересно посмотреть behavioural интервью?
System design тоже)
Да очень
Сергей спасибо за видео, очень азартно) скажите как то вы оцениваете скорость выполнения кандидатом задач, его размышления а главное ошибки или если в отведенное время решил - то это + ?
Много зависит от того на какую должность собеседую. Если на синьйора - то да ожидаю что он быстро поотвечает на все легкие вопросы. В любом случае смотрю как человек мыслит - особенно если не знает ответа на вопрос изначально. Как пытается дойти до него. Или как использует подсказки, или какие вопросы задает. Все это учитывается. время чаще просто как ограничение - чтобы не потратить его все на один вопрос (которые никак не может решить кандидат) а наоборот мог проявить себя на разных вопросах.
Привет. Все четко, кроме размера шрифта кода на экране. Учитывая, сколько на экране свободного места, шрифт можно увеличивать раза в 3-4. И тогда удобно будет смотреть на мобилке... Мобайл-ферст - не забывай, плиз.
Спасибо, учтем
Yes, I'm also watching it from my phone
как сервис для шаринга кода называется?
Формат отличный, если ещё будут разборы резюме, то ещё лучше!
Но мне кажется, что лучше всё же формат записи, а не лайв, потому что в записи вырезано лишнее и не нужно отвлекаться на комментарии.
Сижу вот тоже думаю, какой профит от лайва кроме того, что я люблю с вами общаться)
респект Алексею!
Ой! Случайно перепроверил пример про инк. )) У меня какие-то неправильные решения полезли на ноч глядя
let inc = function () {
if (!this.c) this.c = 0;
this.c +=1;
return this.c
}
Но в целом собес супер! Алексей молодец держался хорошо! Спасибо за видео!
Видос отличный, Алексей красава
из видео я понял, что знаний основ js между мидлом и джуном не особо много...
на данный момент я не имею боевого опыта разработки, но прорешал больше 200 задач на codewars на js и все задачи приведенные в собесе мне показались скорее джуновскими
в чем отличия мидла?
Очень крутой формат, спасибо! Алексею респект) И вопрос про var и hoisting: это все еще актуальные знания, чтобы их задавать на интервью?
Очень даже актуальные ) Во-первых код до сих пор на проектах компилируется в ES5. во-вторых хойстинг работает не только с var но и function declaration. В-третьих есть куча библиотек и пакетов в которых до сих пор var - и надо понимать особенности его работы.
@@frontendscience в задача на 20мин выводится 5, почему ничего не должно выводится?
@@user-lq5fs9eb8v потому что внутри функции свой скоуп. И происходит всплытие объявления переменной (хойстинг). Но изначально она undefined. До тех пор пока не произойдет присвоение. Поэтому if не пройдет проверку и ничего не выведется в консоль
Кльовий формат і грамотний гість!
в задаче на 20:16 я и с let и с var, и с const вывожу в консоль undefined, никаких ошибок. Как же так?
Привет! У меня вопрос по поводу решения в блоке про замыкания (28:00): разве там всё работает? Там же по сути в замыкании остаётся значение counter = 0 и при каждом вызове inc он будет сначала 0 потом увеличится на 1. Там кстати return тоже надо добавить. В целом, задача такая, что нужно сохранить этот counter где-то кроме global scope. Я решил это так: сделал так же функцию, поместил в переменную inc, внутри сохранил counter как свойство (функция это объект) this.counter = 0. Потом из той же функции вернул другую функцию, которая это свойство и меняет this.counter += 1. И теперь всё работает
let inc = (function(){
let count = 0
return ()=> count+=1
}())
Да там ошибка, функция будет возвращать undefine.
@@PussyDestroyerUK там просто return не хватает
Пишу на ангуляр. Думаю что все примеры в собеседовании нужны только для того чтобы понять как работает код другого программиста, который хотел всех удивить)
😂
Код с iife не работает. Его нужно немного по-другому сделать.
Да, уже в комментах выше обсудили. Должен быть return ++counter.
Я решил задачи [59:47 Про каррирование и рекурсию] и [1:03:15 Про High order functions и карриррование] не зная, что такое каррирование и high order functions😂
Использовал знание рекурсии и вложенных функций (по аналогии с замыканиями).
Мое решение задачи [59:47 Про каррирование и рекурсию]:
function sum(a) {
return function(b) {
return isFinite(b) ? sum(a + b) : a;
}
}
console.log( sum(1)(2)(3)(4)() ); // 10
Другую решил так же, как и Алексей.
P.S. Видосы с собеседованиями на этом канале мне очень нравятся. Когда смотришь такое видео и понимаешь, что вполне смог бы решить ту или иную задачу, это мотивирует.
P.P.S. Теперь нужно изучить каррирование :D
Благодарю за решение! Успехов с каррированием )
25:03 - у меня этот код неработает как требуется. что я делаю не так?
counter + = 1
Вот эта работа в видео!
At end of 27 minute code is wrong, it will not return 1 and 2, it will return twice undefined. But you sayed that it will work.
Трехтысячный лайк мой ))
👍
подивився до кінця, круто
Под конец у парня лицо было краснее, чем его футболка). Застеснял пацана.
Подскажите такое решение задачки на массив уникальных элементов с сортировкой норм?
let array = ['banana','grapefruit','banana','orange','grapefruit','banana','grapefruit','banana'];
let unique = [...new Set(array)];
let temp = unique.map(el => {
return {
[el]: array.filter(item => item === el).length
}
});
let res = temp.sort((a,b) => {
return Object.values(b)[0] - Object.values(a)[0];
}).map(el => Object.keys(el)[0]);
console.log(res);
Благодарю за решение. Там проблема с сортировкой Object.values(b) - должен принимать в качестве аргумента объект -а тут в него передается строка
мне кажется или на 55:52 это не финальное решение?
В честь день рождения.... Хотелось бы разбор задачи codewars 4 или 3 kyu
спасибо за видос, давай теперь на синьора !
Подумаю - а то смотрю многие просят )
Мне интересно. Если на собеседовании претендента спрашивают over 9999 оверхедов про всякие всплытия с var и без него. Это он должен знать иначе без этого никуда. И он должен обязательно их помнить и забивать ими голову. Почему у человека в голове не щелкает, что такого, как бы, не должно быть в нормальном-то языке программирования.
Очень качественные интервью.. Когда продолжение?
Про High order functions и каррирование
const sum = (a,b) => a + b;
const mul = (a,b) => a * b;
const calc = cb => a => b => cb(a,b);
Оч крутое и полезное видео, но почему сразу с мидла начали, хотелось бы посмотреть на вопросы и собеседование junior`a. Если не трудно скажите плиз какие вопросы задавали бы джуниору? ThankYouInAdvance!
Скоро будет на канале видео и на джуниора! Не забудьте нажать на колокольчик 🛎 😊
это и был джуниор, слабенький.
А что значит палец на 22:37?
Ачивка за внимательность 👍 Я просто показывал оператору куда вставлять провод.
Было бы круто, если бы использовался какой-нибудь онлайн редактор кода по типа codeinterview с возможностью выполнить код для наглядности
Думаю в следующий раз так и сделаем, благодарю за рекомендацию редактора
Спасибо за такой формат, очень познавательно. Можете пожалуйста пояснить про 6 одновременных соединений с сервером? Я думал, что это только для http
Ну так вся статика (картинки скрипты стили) запрашивается именно по http. Браузер при загрузке страницы сможет параллельно загружать 6 картинок с одного домена ( цифра 6 варьируется от браузера). Поэтому если распределить эти картинки по разным доменам то браузер сможет из все ( больше 6 если на странице) параллельно загружать
@@frontendscience Спасибо за ответ! Но всё же не совсем ясно, почему нужно отдавать статику с http если https позволяет за одно соединение загрузить несколько файлов одновременно? Я пытаюсь разобраться в этом вопросе, вроде бы информации много, но нигде толком ничего не объясняется, было бы здорово увидеть видео на эту тему...
Всем привет, а функция ведь не работает на 28:02
вот такие должны быть джуны! респект!
Хорош в теории, слаб в практике
По знаниям он полноценный мидл, то что в режиме лайвкодинга он не может сосредоточиться - это обычная история даже для сеньора. Может когда-нибудь собеседующие это поймут, и не будут давать советы уровня “будь внимательнее“, потому-что этому совету сложно следовать когда хмурый дядька палит на процесс твоей работы
Хотя может и не мидл, ведь я не слышал вопросов по боевым задачам (смотрел на перемотке), а мидла, по мне, должны сильно изучить как он знает требуемый стек своих инструментов. Потому-что знание только фундамента требуется от джунов, а от мидла ждут что он быстрее возьмется за боевые задачи, а не будет изучать тонкости нужного фреймворка
@@DmitriiRepnikov этот парень - джун, не более того. Мидл должен знать свой ЯП в совершенстве и уметь его готовить. Такого рода задачки мидл должен щелкать как семечки и это не должно быть в принципе центром собеседования. Даже если чел закрывает 100% задач на проекте он автоматом не становится синьером. Если тебя палит "хмурый дядька" и ты сразу посыпался то ты не более чем джун. Как я сказал, с уверенным мидлом и уж тем более с синером эта часть собеседования закончится через 10 минут. А если ты начинаешь сомневаться когда кто-то смотрит на твою работу а ты вроде как заявляешь себя мидлом/сеньером, то у тебя большие проблемы с пониманием где ты находишься и что делаешь... ну или ты просто надутый в попу письтюк... (не конкретно ты :))
@@kirsanov2008 твоё мнение полно максимализма как у подростка, и судя по нику это кажется логичным. Объяснять почему твоё виденье неверно я не буду, т.к. судя по настрою твоего сообщения ты из тех кто изменит своё мнение только тогда когда появляется хоть какой-то опыт.
@@DmitriiRepnikov 2008 это не дата моего рождения, а год, когда я зарегался в гмайле, но ты первый кто обратил на это внимание в таком ключе) я раньше даже не думал об этом))
Эксперты, объясните, плиз, по коду первого задания, разве там логнется хоть что-то? думаю, if не сработает и консоль лог просто не вызовет.
Да, так и есть. Ты все верно понял. К этому в видео и пришли, что в if обработчик не зайдет и в консоль ничего не выведется.
@@frontendscience спасибо, а то по видео я понял, что консоль выдаст андефайнд.
интересно спс
super 👍
огонь
27:43 есть ошибка, забыли возле "+" поставить "=" , так все время будет возвращать 1,1,1. Надо прописать
return () => counter += 1, тогда все будет работать
Пролистай комменты, там все обсудили
Ограничение по 6 соединений на домен, это же про http1. Для http2 это же не актуально?
Да, все верно. Но до сих пор очень много сервисов работает именно на http1. И бывают случаи, когда по объективным причинам его нельзя перевести на http2.
интересно на матерого синиора глянуть)
Спасибо за видео!
В задаче с фруктами с помощью reduce у нас будут не верны значения в обьекте.
Предлагаю такой вариант:
const obj = {};
for (const fruit of fruits) {
obj[fruit] = obj[fruit] ? obj[fruit] + 1 : 1;
}
может у кого-то будет правильное решения для reduce?
Вот тут комментарий с решением через reduce: ruclips.net/video/3jgE1ySa8xA/видео.html&lc=Ugy1AiC9Aniy5nenL0F4AaABAg
Я вымучил таки фруктовую функцию. :)
Заняло примерно два часа с учётом вспоминаний синтаксиса стандартных методов на w3schools, попутного ознакомления с Map и Set и частыми перекурами.
Вот что получилось (немного изменил первоначальный массив, потому что иначе получался сразу отсортированный итоговый и я не мог проверить правильность сортировки):
// Вывести новый массив из уникальных элементов заданного, отсортированный по числу вхождений
let fruitsArr = ["banana", "grapefruit", "orange", "grapefruit", "orange", "banana", "orange", "banana", "orange"];
function uniSortByEntr(wordsArr) {
const uniWordsObj = {};
// uniWordsObj - объект с уникальными ключами-элементами данного массива и значениями,
// равными числу вхождений соответствующего элемента
wordsArr.forEach(function(word) {
uniWordsObj.hasOwnProperty(word) ? uniWordsObj[word]++ : uniWordsObj[word] = 1;
});
// Сортируем ключи объекта uniWordsObj по убыванию их значений, т.е. вхождений соответствующих элементов
// в данный массив, создаём отсортированный массив из этих ключей, который добавляем к объекту uniWordsObj,
// возвращаем этот объект, содержащий ключи-слова со значениями-числами вхождения и отсортированный массив
const uniWordsArr = Object.keys(uniWordsObj);
uniWordsObj.uniSortArr = uniWordsArr.sort(function(a, b) {
return uniWordsObj[b] - uniWordsObj[a];
});
return uniWordsObj;
}
console.log(uniSortByEntr(fruitsArr));
Я возвращаю весь объект, потому что инфа о количестве вхождений слов может оказаться полезнее самого отсортированного конечного массива, а это массив просто цепляю к возвращаемому объекту.
Теперь можно и посмотреть, что у Алексея получилось. :)
отлично вышло! благодарю за решение!
@@frontendscience Спасибо.
Круто, у меня примерно такие же знания (где то больше), но к сожалению они теоретические, поэтому я считаюсь трейни.
Нарабатывай практику!
Задачку с фруктами можно было бы решить создав мапу: ключ - фрукт, значение - количество. Затем создать массив пар (количество, фрукт). Отсортировать по первому элементу. Вывести второй элемент.
Да так получится. Можно еще немного сократить количество преобразований: ruclips.net/video/3jgE1ySa8xA/видео.html
А что, front end бывает только в веб-приложениях?
Нет бывает не только в веб приложениях. Но на IT рынке когда говорят front-end подразумевают именно front-end web-разработку.
задачки сложные, чтобы такое в онлайне решать. не отражает реальности уровня квалификации. тут даже сениоры поплыть могут
Для продвижения)
у меня выдает
//1
//1
let inc = (function () {
let counter = 0;
return function () {
counter + 1
//console.log(counter + 1);
}
})()
inc();
inc();
почитай комменты плиз - там вместо counter + 1 должно быть return counter++;
Интересно, все задания по js из интервью решал почти сразу в уме, но до сих пор боюсь проходить собеседование на джуна)
А чего именно боишься? В худшем случае все останется так же как сейчас.
Если уже натренировался решать задачки, теперь надо натренироваться проходить собеседования.
@@frontendscience Ну я 20 лет проработал системным администратором. Всю жизнь мечтал быть разработчиком, но как-то не сложилось. А сейчас сокращение на фоне пандемии, вот и подумываю сменить род занятий. Боюсь, потому что уже 40 лет за плечами, поздновато наверное становиться программистом)
@@Amkonax Ничего не поздно! Сейчас открыты возможности ремоута по всему миру практически. То есть даже если в твоем городе/стране в 40 лет ты боишься дискриминации на новой должности, то в мире это нормальный возраст, чтоб начать. Тем более, что ты свитчишься из айтишной специальности. Обязательно опиши этот опыт в резюме. И давай не тяни с собеседованиями! Успехов!!
@@frontendscience спасибо за поддержку и за ваши видео, которые я все с удовольствием смотрю. Обязательно буду пробовать!)
@@Amkonax А почему девопс не рассматриваете?
Что такое heap stack, generators это мне задавали на middle а
- ааа, у нас же идёт не по алфавиту, а по встречающимся элементам ...
Серёга: 38:26 😂😂 попался, милок!
каким образом корс от xss защищает?
Тут Владимир ошибся. От xss он не защищает.
нормально)
Не совсем понятен вопрос про несколько доменов для статики, где одновременно может загружаться всего по 6 файлов. Это проблема была в протоколе http/1, с приходом http/2 проблема не актуальна. Надо лишь веб сервер со статикой перенести на http/2
Да, все верно. Спрашивал, потому что до сих пор много серверов все еще работают на http/1.
хотелось бы видеть Ваш вариант решения задачки на каррирование с рекурсией
Вообще стоит в планах отдельное видео про каррирование. Думаю туда включу эту задачу
@@frontendscience Cпасибо за Ваш труд на канале, очень познавательно.
Подходящее решение?
const sum = number => number2 => number2 ? sum(number + number2) : number;
sum(1)(2)(3)(4)(); //10
И это ведь не совсем каррирование, верно?)
28:02 не совсем понял что за counter + 1, надо или counter++ или counter = counter + 1, иначе переменная не увеличивается
уже много раз отвечал на это в комментариях - если интересно, пролистайте
Здравствуйте срочно нужно помощь
На кукую ЗП собеседуется сотрудник?