- 11
- 301 350
Айтишный мир
Приєднався 1 тра 2024
Записи реальных собеседований на позицию frontend разработчика. Видео практически не обрезаются, чтобы передать полную атмосферу :)
teletype.in/@brave_interviews/frontend_consulting
telegram: @parker_mode
teletype.in/@brave_interviews/frontend_consulting
telegram: @parker_mode
FRONTEND TEAMLEAD СОБЕСЕДОВАНИЕ (РЕАЛЬНОЕ)
#frontend #itсобеседование
Консультации: teletype.in/@brave_interviews/frontend_consulting
Мой телеграм: @parker_mode
2:27 - начало собеседования
4:30 - начало теоретической части
5:00 - замыкания
7:00 - var let const
9:15 - делегирование событий
10:35 - call bind apply
12:20 - медоты для глубого копирования
12:50 - PromiseAll, PromiseAllSettled
14:05 - протопиты в javascript
15:05 - map filter reduce
18:30 - promise chaning
20:25 - typescript
21:30 - interface в typescript
21:50 - generic
23:00 - type vs interface
24:00 - typeguards
25:10 - unknown vs any
25:30 - утверждение типов
27:15 - перегрузка в typescript
27:45 - что такое реакт
28:30 - методы жизненного цикла компонента
29:40 - хук useEffect
30:25 - контролируемые vs неконтролируемые компоненты в React
31:05 - для чего нужен virtual dom
32:30 - Context API в реакт
33:10 - key в списках React
33:55 - React Memo
35:00 - useMemo и useCallback
36:45 - inline block и block в html
39:15 - flex-box и grid
41:05 - семантика в html. зачем она
42:05 - z-index
43:40 - defer, async у тега script
46:00 - REST
51:30 - создание CI/CD части
53:50 - docker, kubernetes
56:10 - git fetch vs git pull
56:30 - рассказ про проект
01:04:00 - мои вопросы
Консультации: teletype.in/@brave_interviews/frontend_consulting
Мой телеграм: @parker_mode
2:27 - начало собеседования
4:30 - начало теоретической части
5:00 - замыкания
7:00 - var let const
9:15 - делегирование событий
10:35 - call bind apply
12:20 - медоты для глубого копирования
12:50 - PromiseAll, PromiseAllSettled
14:05 - протопиты в javascript
15:05 - map filter reduce
18:30 - promise chaning
20:25 - typescript
21:30 - interface в typescript
21:50 - generic
23:00 - type vs interface
24:00 - typeguards
25:10 - unknown vs any
25:30 - утверждение типов
27:15 - перегрузка в typescript
27:45 - что такое реакт
28:30 - методы жизненного цикла компонента
29:40 - хук useEffect
30:25 - контролируемые vs неконтролируемые компоненты в React
31:05 - для чего нужен virtual dom
32:30 - Context API в реакт
33:10 - key в списках React
33:55 - React Memo
35:00 - useMemo и useCallback
36:45 - inline block и block в html
39:15 - flex-box и grid
41:05 - семантика в html. зачем она
42:05 - z-index
43:40 - defer, async у тега script
46:00 - REST
51:30 - создание CI/CD части
53:50 - docker, kubernetes
56:10 - git fetch vs git pull
56:30 - рассказ про проект
01:04:00 - мои вопросы
Переглядів: 1 032
Відео
РЕАЛЬНЫЙ СОБЕС В АЛЬФА БАНК на 300К
Переглядів 20 тис.5 місяців тому
#frontend #itсобеседование Консультации: teletype.in/@brave_interviews/frontend_consulting Телеграм канал: @applied_frontend Мой телеграм: @parker_mode Таймкоды: 00:00 - вступление 01:07 - реклама 02:35 - рассказ про альфу и команду, подробный рассказ про технологии и процессы я позадавал свои вопросы 13:22 - самопрезентация 19:00 - что больше нравится в работе 20:11 - вопрос про стандарты разр...
СОБЕСЕДОВАНИЕ REACT FULLSTACK В ГОСУХУ || MIDDLE
Переглядів 11 тис.6 місяців тому
#frontend #itсобеседование Консультации: teletype.in/@brave_interviews/frontend_consulting Телеграм канал: @applied_frontend Мой телеграм: @parker_mode Таймкоды: 00:00 - вступление 01:00 - реклама 2:30 - самопрезентация 11:55 - задача на ассинхронные побочные эффекты и замыкания 19:20 - задача на область видимости переменных 20:15 - задача на оператор расширения и структуры массивов 24:10 - зад...
РЕАЛЬНОЕ FRONTEND СОБЕСЕДОВАНИЕ В ОЗОН || ЗП ДО 300К || ЧАСТЬ 3 СОФТЫ
Переглядів 9 тис.6 місяців тому
#frontend #itсобеседование Консультации: teletype.in/@brave_interviews/frontend_consulting Telegram: @parker_mode Таймкоды 00:00 - введение 0:46 - реклама 2:14- как ты докатился до такой жизни 4:24 - что нравится и не нравится на текущем месте работы 11:21 - где ты так научился решать задачки 12:58 - как ты видишь свой идеальный первый рабочий день 14:52 - надо сделать “красиво”, как будешь реш...
РЕАЛЬНОЕ FRONTEND СОБЕСЕДОВАНИЕ В ОЗОН || ЗП ДО 300К || ЧАСТЬ 2 ЗАДАЧИ
Переглядів 11 тис.6 місяців тому
#frontend #itсобеседование Консультации: teletype.in/@brave_interviews/frontend_consulting Telegram: @parker_mode Таймкоды 00:00 - введение 0:46 - реклама 3:05 - Задача на реализацию ретраев запроса (fetch) 25:35 - Задача на реализацию “Банкомата” 39:50 - Задача на алгоритмы (айтишник который любит путешествовать) 01:02:39 - Задача на оптимизацию архитектуры сервиса 01:17:45 - Мои вопросы собес...
РЕАЛЬНОЕ FRONTEND СОБЕСЕДОВАНИЕ В ОЗОН || ЗП ДО 300К || ЧАСТЬ 1 ТЕХ. СКРИНИНГ
Переглядів 15 тис.6 місяців тому
#frontend #itсобеседование Консультации: teletype.in/@brave_interviews/frontend_consulting Telegram: @parker_mode Таймкоды 00:00 - введение 01:15 - реклама 02:43 - рассказ про команду 05:49 - задача которой ты годишься 07:19 - что происходит после ввода URL в бразузере 10:15 - как работает HTTP и сертификаты 13:10 - что такое Cookie 14:19 - практические вопросы про Cookie 18:00 - что такое CORS...
СОБЕСЕДОВАНИЕ MIDDLE REACT FRONTEND || ЗП ОТ 230К
Переглядів 16 тис.6 місяців тому
Таймкоды 00:00 - Самопрезентация 06:00 - Много вопросов по стеку 17:03 - Задача на typeof 18:25 - Задача на приведение типов 21:40 - Задачи на логические операторы 27:15 - Как можно объявить функцию, в чем разница 30:45 - Задача на контекст 46:20 - Задача на методы массивов 49:10 - Задача на разворачивание вложенного массива 53:50 - Что такое Event Loop 58:10 - Задача на Event Loop 01:00:30 - М...
REACT FRONTEND || НЕСТАНДАРТНОЕ СОБЕСЕДОВАНИЕ В СБЕР || ДАЛИ ОФФЕР НА 250К
Переглядів 6 тис.6 місяців тому
Таймкоды: 17:20 - самопрезентация 26:23 - что предложил по изменению стека? 31:00 - опыт в B2C vs опыт в B2B продуктах 31:40 - важность хорошей команды 34:35 - в бар часто ходите? 35:40 - кто ты на вечеринках? 37:00 - ЗАДАЧА на виртуализацию и рендеринг больших списков 1:34:55 - заключение #javascript #js #reactjs #programmer #programming #обучениепрограммированию #программист #программирование...
СОБЕСЕДОВАНИЕ В СБЕР НА MIDDLE REACT FRONTEND. ПРОСТОЙ СОБЕС НА 200К
Переглядів 18 тис.6 місяців тому
Таймкоды 0:10 - план собеседования 0:55 - рассказ про продукт 5:46 - мой вопрос по процессам 8:40 - самопрезентация 15:30 - вопрос про зарплату 18:45 - задача на реализацию реакт компонента (запрос отрисовка) 35:05 - что такое Promise? 36:10 - Promise.All 37:20 - Написать Promise.All 50:10 - Заключение #frontend #itсобеседование
РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ || MIDDLE REACT FRONTEND В АУТСОРС || ЗП ОТ 200К
Переглядів 8 тис.7 місяців тому
Таймкоды: 00:00 - план собеседования 00:35 - самопрезентация 04:40 - приходилось ли что-либо оптимизировать? 05:20 - метрики при оптимизации производительности frontend 05:48 - уточняющие вопросы по используемым технологиям 06:55 - Задача на prototype и контект 11:28 - Про контекст в стрелочных функциях 12:28 - Задача на контекст 14:45 - Задача на реализацию функции delay 16:25 - Написать Promi...
РЕАЛЬНЫЙ СОБЕС В СБЕР НА 300К. МИЛАЯ СОБЕСЕДУЮЩАЯ
Переглядів 186 тис.7 місяців тому
Таймкоды 00:00 - рассказ о команде 01:08 - стек команды 2:01 - самопрезентация 7:10 - что использовали по верстке? 8:20 - в чем разница между null и undefined? 9:30 - prevent default и stop propagation 10:42 - способы копирования объекта в Javascript 11:46 - хранилища в браузере 13:31 - SSR, SSG и SPA 17:37 - написать функцию 1 23:50 - написать функцию 2 42:40 - попросил еще таски :) 43:00 - за...
кэтч к промисес.форич - лол, как такое будет работать?)типа фоич тебе промис возвращает?) а внутри фоича дак кэтча нет, который сразу реджектит из любого запущенного промиса, не дожидаясь окончания всех и вооще для такого обычно используют мап, а не фоич последняя проверка на длинну === 0 вооще не в промисе))) молодец держи 200к🤣
В моем понимание тим-лид должен знать больше. Как минимум опыт с микрофронтами, веб-сокиты, архитектура, стейт менеджеры и много другое
иначе ты не возьмешь его к себе в компанию?)
6:00 "замыканиями давно не пользовался" - ахахаха, челик на реакте пишет =))
без обид, но под таким лидом я бы не хотел работать...
Мне кажется челик в какой-то момент почти открыто начал троллить =)
@@andreykharitonov4025 не обидно совсем)
Точно тим лид? Посмотрел 17 мин, js очень слабо...
100% вопросы по js на джуна+ или мидла
@@1609maksi ну если ты посмотрел 17 мин, то в самом начале интервьюер оглашал кого они и зачем ищут)
@@mir-itishkiконечно, посмотрел полностью видео) ты красавчик, что откликнулся на вакансию, что сходил и потом еще и выложил запись. После этого видео я уже не думаю, что я джун) Интересно чем дело закончилось, дошли ли до офера) ну и вилка, хотя бы примерно 150-200?
А главное не очень понятно, какое это все отношение имеет к позиции тим лида в 2024 году.
@@1609maksi вилка там от 350 была вроде
качество микрофонов как из ведра
И не понятно как тебе предложили оффер если ты идешь на мидла и не знаешь что такое виртуализация. Это не критика в твою сторону, а скорее в их сторону.
Тебе на первом этапе говорили что это не тех собес а в итоге дали задание еще и хера себе какое
Какая же скучная работа у программистов. Баристой и то веселее
Честно сказать , прям залипательно было смотреть!
Тоже пытался устроиться, Сбербанк, днс, м.видео и прочее, это жесть что за вопросы 🤬🤬🤢
То что null считался у тебя объектом, это не проблема, т.к. это и есть объект с неопределенной структурой.
Он столько раз угукнул что мне в какой то момент захотелось в окно выйти
Ладно 1 задачу на приведение типов и то кринж, но я сейчас на третьей...
Вторая задача такая простая, что то так долго въезжал в условие. У нас на работе даже стажеры сложнее задачи решают
Озон, озон.. Прежде чем туда идти, подумайте тысячу раз
а что не так с Озон?
uniqeSequence же у парня не будет корректно работать для рандомной последовательности на вход (например, ""ААВВААСВС")
собеседующий не понимает как работает промис если у промиса нет resolve или reject, то он никогда не испольниться и нельзя будет вызвать метод then. Он никогда не попадёт в очередь микрозадач и соответственно никогда не зарезолвится const p = new Promise ((resolve, reject) => { здесь идёт синхронный код и конечно setTimeout синхронно попадёт в макрозадачи и исполниться (здесь setTimeout не имеет никакого отношения к промису, это синхронный код который выполниться последовательно) }) попробуйте в этом коде закоментить resolve и увидите, что промис не зарезолвился console.log('START'); const p = new Promise((resolve, reject) => { console.log('STARTPromise'); resolve('PromiseDONE'); console.log('ENDPromise'); }); p.then(result => console.log(result)) console.log('END');
Посмотрел задания на функции, за такое реально платят 300 тыс? Охереть. Функции уровня джуна же.
Интересное видео, я хоть и не JS программист (больше бэкэндщик) но с любопытством загуглил некоторые вопросы и ответы на них.
vue и react в целом одинаковые? ага, чего только стоит различие в системе реактивности, которая во vue совсем по другому работает, да и концептуально они разные, можно конечно попробавать писать на vue в стиле react, но как-будто это такая себе затея.
23:50 function toCamelCase(str: string): string { // Разделяем строку по тире или подчеркиванию const words = str.split(/[-_]/); // Преобразуем первое слово const firstWord = words[0].charAt(0).toLowerCase() + words[0].slice(1); // Преобразуем остальные слова const restWords = words.slice(1).map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() ); // Объединяем все слова return [firstWord, ...restWords].join(''); } // Примеры использования: console.log(toCamelCase("what-a-nice-day-today")); // "whatANiceDayToday" console.log(toCamelCase("What_A_Nice_Day_Today")); // "whatANiceDayToday" console.log(toCamelCase("what_a_Nice-Day-Today")); // "whatANiceDayToday"
17:37 function func<T>(sequence: T[] | string): T[] { if (typeof sequence === 'string') { return func(sequence.split('')) as T[]; } if (sequence.length === 0) { return []; } const result: T[] = [sequence[0]]; for (let i = 1; i < sequence.length; i++) { if (sequence[i] !== sequence[i - 1]) { result.push(sequence[i]); } } return result; } // Примеры использования: console.log(func('AAAABBCCDAABB')); // ['A', 'B', 'C', 'D', 'A', 'B'] console.log(func('ABCcAD')); // ['A', 'B', 'C', 'c', 'A', 'D'] console.log(func([1,2,2,3,3])); // [1, 2, 3]
10:42 Поверхностное копирование: Object.assign() и спред-оператор (...) - копируют только верхний уровень объекта. Глубокое копирование: JSON.parse(JSON.stringify()) - создает полную копию, но не работает с функциями, Date, и undefined. Для сложных объектов лучше использовать сторонние библиотеки вроде Lodash.
9:30 preventDefault() останавливает действие события по умолчанию (например, предотвращает переход по ссылке или отправку формы), а stopPropagation() предотвращает дальнейшее распространение события по иерархии DOM (то есть, событие не "всплывет" или "не пойдет вниз" к другим элементам). Пример: preventDefault() - блокирует стандартное поведение элемента. stopPropagation() - блокирует распространение события на родительские элементы.
8:20 undefined - это значение переменной по умолчанию, если она была объявлена, но не инициализирована. null - это намеренное отсутствие значения, которое программист задает вручную. Главное отличие: undefined означает "значение еще не определено", а null - "значение отсутствует намеренно".
undefined тоже можно намеренно поставить
Стоило добавить, что эту информация ты достал прямо из своей головы. Null - это falsy тип, предназначенный для работы с объектами.
А мужик неприятный , который собеседует)))
Как много выходов и вдохов 😕😕😕😕😕😫😫видео интересное!
Жаль что ты условия для задач не выкладываешь где-то (как это делают другие блогеры с таким контентом), чтобы можно было самому поковырять
не понял для чего slice() вызывать перед sort()
slice() вызывается, чтобы создать поверхностную копию массива. sort() изменяет текущий массив, а не создает новый, поэтому копия необходима, чтобы передаваемые в аргументах массивы не изменились. Таким образом функция останется чистой и не будет вносить ненужных сайд-эффектов
@@katory17 блин, вообще не очевидно ) лучше бы деструктуризацию заюзать, или через new Array спасибо за ответ!
Так мало мидлам платят в Сбере? А это точно собес на мидла?
Такое ощущение что собеседование ведешь ты а не они)
разве первую задачу нельзя решить красивше и короче? const retry = async (url, { count, timeout }) => { const controller = new AbortController() const timeoutPromise = new Promise(() => { setTimeout(() => { controller.abort() }, timeout) }) try { const response = await Promise.race([ fetch(url, { signal: controller.signal }), timeoutPromise, ]) if (!response.ok) throw new Error(response.status) return response } catch(e) { return await retry(url, {count: count - 1, timeout }) } }
Задачи кринж, еще и решаешь 3 часа
Зачем скрывали лица, если их потом показали?
Тут такие умные все в комментариях)) Хотите слюни?) Скажу вам что реакт это библиотека , а не фреймворк, да будет ваша попка в огне
Забавный факт, я вижу постоянно в ком. что один сделал за 0.1 наносекунду, другой вообще гуру залупа и уже в космос улетел пока собес шел, третий там вообще и т.д. На деле же я не вижу от них ни каких видео с собесом как надо или как не надо и в этом вся суть бывалых собак которые постоянно что-то лают на караван.
function changeCamelCase(someStr){ let someStr1 = '' + someStr.slice(0,1) let nextSymb = false for (let i of someStr.slice(1)){ if (i === '-' || i === '_'){ nextSymb = true continue } else{ if (nextSymb === true){ someStr1 += i.toUpperCase() } else {someStr1 += i} nextSymb = false } } return (someStr1) }
42:13 Нужен будет, зря убрали. Я уже где-то под похожим видео с собесом оставлял комментарий на эту тему. По логике работы нативного промиса в promiseAll можно передать массив, элемент которого может быть не промисом, например, массив [Promise.resolve(1), 1] Без предварительного оборачивания каждого элемента массива в Promise.resolve произойдёт ошибка в цикле, так как promise.then, где promise будет иметь числовое значение 1, не имеет метода then.
они условились,. что передан будет массив промисов
@@sashnevski спасибо за замечание. Мне нужно было внимательнее слушать.
сколько у тебя опыт в программировании именно как ты устроился на первую работу и до этого собеса, что 300к предлагают?😅
по своему опыту скажу, опыт 4 года, из них два года работаю там же где и собес на видео, это точно не галера, много времени на саморазвитие выделено, примерно так: 4 часа работы, 2 часа на созвоны, 2 саморазвитие, причем созвоны только по делу без пустой траты времени
Задачи откровенно простые. Прорешал их на php параллельно за 10 минут
та же фигня
За такую галеру, это копейки!!! Блогер не пудри голову людям. Просто ищут по дешёвке людей!
Альтернатива для вторую задачу (так как я решал): const checkAndPush = (firstLetter, element, arr, index) => { if (index === 0) { if (firstLetter === element[0].toUpperCase()) { arr.push(element[0].toUpperCase() + element.slice(1)) } else { arr.push(element) } } else { arr.push(element[0].toUpperCase() + element.slice(1)) } } const convertToCamelCase = word => { const splitWord = word.split('-') const resultArr = [] if (Array.isArray(splitWord) && splitWord.length > 0) { splitWord.forEach((element, index) => { checkAndPush(splitWord[0], element, resultArr, index) }) } console.log(resultArr.join('')) } convertToCamelCase('what-a-nice-day-today') convertToCamelCase('What-A-Nice-Day-Today') convertToCamelCase('What-a-Nice-Day-Today')
😀
во второй задаче опечатка на 7 строчке promiseS
Автор ты куда пропал ?
баба не шарит
не блюрь в сл. раз ничего, честно не инетересно наблюдать сразу перемотал пол видоса.
и такие задачки для поиска разраба на 300К? Что случилось с миром?
я бы тебе ни копейки не дал
function test(text: string) { const strs = text.split(/_|-/) return strs.map((item, index) => { if (index === 0) { return item } return item.charAt(0).toUpperCase() + item.slice(1) }).join() } test('what-to-day')