Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Hed-kun

Программирование, т. 6

Рекомендованные сообщения

(изменено)

Вроде как прошел лайв-кодинг этап (он как бы не сказал прямо, но остался довольным и упомянул что там будут еще другие этапы, где я смогу рассказать больше о своих скиллах)

В общем ебашил все на сайтике coderpad.io, там типа слева код с заготовленными вопросами, справа резалты консоли, дефолт.

Было 6 вопросов, все вопросы простые офк, но из-за того что это лайвкодинг с челом, который дышит в микрофон скайпа, гуглить как бы такое не комфортно, по этому отвечал по-честному.

1) Примитивный вопрос про hoisting переменных и функций на котором я затупил  :lol: Классика интервьюшек, когда ты знаешь всю эту ебань с пелёнок, проходил миллион quiz'ов и так далее, но вот тебя спрашивают в 10 утра, и ты промахиваешься. Ну я офк исправился, объяснил за всю хуйню и пошли дальше.

2) Написать функцию, возвращающую второй по величине аргумент массива цифр. Сходу написал это var secondLargest = (arr) => arr.sort((a,b) => a - b)[1];  и сразу же сказал что я всегда забываю, надо ли вычитать a из b или наоборот чтобы отсортировать по убыванию (офк надо было b - a).

3) Уже забыл, но там было что-то, что я в этот раз не зафейлил как лох.

4) Написать простую функцию темплейтинга, которая получает 2 аргумента (строку с {{hui}} элементами и объект с данными аля {hui: 'pizda'}). Тут я сразу понял что сосну, ибо с регулярками я всегда слабак. Сказал ему что сейчас как мужик постараюсь написать как есть, без помощи SO. в итоге ебанул var template = (pattern, data) => pattern.replace(/\{\{.*\}\}/gi, (matched) => data[matched]);

Как потом выяснилось, я был очень близок к правде. Надо было лишь поменять матчинг паттерн с .* на (.*?) и в функции замены юзать второй аргумент (matched, token) => data[token]

По итогам template('Privet {{yebki}} s {{govnoforum}}', {yebki: 'pocanam', govnoforum: 'prodoti'}) выведет 'Privet pocanam s prodoti'

5) Написать memoize функцию, которая принимает в качестве аргумента другую функцию, и при вводе тех же самых аргументов она будет возвращать сохраненное в сторе значение, вместо того чтобы снова прогонять функцию-аргумент. Вот это было единственное внятное задание, я вначале все уточнил чтобы понять что я правильно понял что надо сделать, а потом как мужик без помощи гуглов ебанул вот такое

function memoize(func) {

  var store = {};

  return function() {

    var context = this;

    var args = arguments;

    var argsStr = Array.from(args).join('-'); // превращаем конченную еботу аргументс в настоящий массив и затем конвентируем в строку

    if (store[argsStr]) { // если в сторе уже есть объект с ключем таких аргументов, то возвращаем значение

      console.log('bingo!');

      return store[argsStr];

    }

    var result = func.apply(context, args); // получили значение от выполнения функции

    store[argsStr] = result; // сохранили в сторе

    return result;

  }

}

 

function add(a,b) {return a + b}

var memoized = memoize(add);

console.log(memoized(1,2)); // 3

console.log(memoized(1,2)); // bingo! 3

 

6) Есть функция, которая while циклом вызывает себя и ебашит .pop() у очень огромного массива, что с ней надо сделать чтобы она не переполняла стэк и все не падало нахуй? Ну ответ простой, юзать таймаут, чтобы каждый следующий вызов функции уходил в конец event loop'а.

 

Офк фейлы были весьма нубские, но при учете того что это мой первый лайвкодинг (да я и на тех интервью никогда в жизни не был) в 10 утра, то мне в принципе норм, при учете того что я всегда после фейлов все разъяснял, давая ему понять что я просто стараюсь не запоминать все эти хуйни, которые проще нагуглить за 20 секунд или просто посмотреть на резалт и поменять код.


Изменено пользователем suez
janitor93, Lorde - Sober ll, Izuver и 1 другому понравилось это

userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение

Напомни, это на какую должность собеседование?

Поделиться сообщением


Ссылка на сообщение
(изменено)

Front-End Peedor

 

Вспомнил кстати 3 задачу:

есть функция augment_array, которая принимает массив из строк. Функция должна делать так, чтобы у всех массивов появились методы на основе этих строк из аргументов, которые будут возвращать элемент, соответстующий позиции метода в массиве. То есть проще говоря вызов augment_array('raz', 'dva', 'tri') должен делать так, чтобы потом [5,6,7].raz() возвращал 5, [6,2,9].tri() возвращал 9 ну и так далее. В общем примитив, я сразу написал

function augment_array(methods) {
  methods.forEach((method, index) => {
    Array.prototype[method] = function() {return this[index]};
  });
}

Изменено пользователем suez

userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение
(изменено)

сча бы args через array from в массив превращать в 2017, когда есть ... , ну и офк var, apply или там нельзя было es6 ?


Изменено пользователем TheWorldSpinningForYa

Поделиться сообщением


Ссылка на сообщение

шокеч


have courage and be kind

  😈🫀💋 🩸👣🤌🏿🦄 🐝 ☄️❣️ 💕 💞❤️😈

 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖

220941652_Annotation2021-03-20123345.jpg.23dcff343d6a377badf433b20f5271fd.jpg

💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 

Поделиться сообщением


Ссылка на сообщение
(изменено)

сча бы args через array from в массив превращать в 2017, когда есть ... , ну и офк var, apply или там нельзя было es6 ?

Array.from по твоему не es6?

Ну и я к тому же писал на лету, вспоминая es5 функцию для debounce, в которой как раз таки юзается древний подход с args/context/apply. Сидя с дивана то офк ахуенно пиздеть, я бы в норм условиях все эти 6 тасков за 10-15 минут ебанул бы полностью без проблем.


Изменено пользователем suez

userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение

Боги CSS, как сделать что-то аналогичное object-fit:cover; но чтобы поддерживалось старьём всяким? Что-то я не могу в поиск такого по гуглу, уже запарился.

Поделиться сообщением


Ссылка на сообщение

сча бы args через array from в массив превращать в 2017, когда есть ... , ну и офк var, apply или там нельзя было es6 ?

 

Лишь бы пиздануть, по факту я бы тоже все с первого раза хуй написал, потому что 90% тасков на работе это формошлепить херню, дейстительно интересные тикеты редкость. Офк читая на форуме с готовым ответом, можно сказать как красивее и почему так то и так. Уверен с нуля ты бы и рабочую версию не написал за 20 минут  :subj:


Я не человек, Я - Кантона. (с)

Miraxes#2986

753357.png

Поделиться сообщением


Ссылка на сообщение
(изменено)

Боги CSS, как сделать что-то аналогичное object-fit:cover; но чтобы поддерживалось старьём всяким? Что-то я не могу в поиск такого по гуглу, уже запарился.

https://github.com/anselmh/object-fit

 

https://codepen.io/jonneal/pen/EKPONK

 

https://www.npmjs.com/package/object-fit-polyfill


Изменено пользователем Rooster

Shaman.png.0cdd33d48561cd068bb3c5ee78289381.png Anna.jpeg.03c9b49363298ceec256500a5d522f7d.jpeg Nigga.jpg.f807f2556bdbf68452292a9301494591.jpg

 

Поделиться сообщением


Ссылка на сообщение

Боги CSS, как сделать что-то аналогичное object-fit:cover; но чтобы поддерживалось старьём всяким? Что-то я не могу в поиск такого по гуглу, уже запарился.

Ну самый изи вариант это юзать background-image и background-size: cover

А если прям рили ахуеть как нужны именно img, то сверху уже полифиллы линканули.


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение
(изменено)

 

сча бы args через array from в массив превращать в 2017, когда есть ... , ну и офк var, apply или там нельзя было es6 ?

 

Лишь бы пиздануть, по факту я бы тоже все с первого раза хуй написал, потому что 90% тасков на работе это формошлепить херню, дейстительно интересные тикеты редкость. Офк читая на форуме с готовым ответом, можно сказать как красивее и почему так то и так. Уверен с нуля ты бы и рабочую версию не написал за 20 минут :subj:

и к чему ты выделение сделал?) очень интересные истории про твои таски из глубинки и то что ты нихуя бы не смог))0000
Изменено пользователем TheWorldSpinningForYa

Поделиться сообщением


Ссылка на сообщение

 

Боги CSS, как сделать что-то аналогичное object-fit:cover; но чтобы поддерживалось старьём всяким? Что-то я не могу в поиск такого по гуглу, уже запарился.

Ну самый изи вариант это юзать background-image и background-size: cover

А если прям рили ахуеть как нужны именно img, то сверху уже полифиллы линканули.

 

Суть в том, что есть что-то типа такой херни: http://jsfiddle.net/7bv9w02w/ 

На андроидах 4.4+ и айфонах работать будет, но вот андроиды версии ниже и вп соснут. Поэтому и хотелось бы найти вариант подходящий. О полифилл я думаю голову себе сломаю, хотя может стоит вникнуть. Я-то по сути и JS/CSS не знаю, кое-как нашёл решение с object-fit:cover и то загуглив описание такого же поведения элемента из нативного андроида.

Поделиться сообщением


Ссылка на сообщение

 

 

сча бы args через array from в массив превращать в 2017, когда есть ... , ну и офк var, apply или там нельзя было es6 ?

Лишь бы пиздануть, по факту я бы тоже все с первого раза хуй написал, потому что 90% тасков на работе это формошлепить херню, дейстительно интересные тикеты редкость. Офк читая на форуме с готовым ответом, можно сказать как красивее и почему так то и так. Уверен с нуля ты бы и рабочую версию не написал за 20 минут :subj:

и к чему ты выделение сделал?) очень интересные истории про твои таски из глубинки и то что ты нихуя бы не смог))0000

 

 

Может к тому что Array.from() у тебя какого-то хуя не ЕС6 (хотя он оттуда),а var это - ЕС6 (Чтоблять?!?)  :fffuuu:


Я не человек, Я - Кантона. (с)

Miraxes#2986

753357.png

Поделиться сообщением


Ссылка на сообщение

Ты читать умеешь? Имелось в виду, что ... вместо array.from. И соответсвенно зачем юзать var и apply, если есть es6

Поделиться сообщением


Ссылка на сообщение
(изменено)

сча бы args через array from в массив превращать в 2017, когда есть ...

 

Имелось в виду, что ... вместо array.from.

 

 

было сложно но этот ребус я разгадал!

 

 

 

кстати, кто был в таком же замешательстве как и я вот пруф

https://learn.javascript.ru/destructuring

 

 


Изменено пользователем DnoInvokera

have courage and be kind

  😈🫀💋 🩸👣🤌🏿🦄 🐝 ☄️❣️ 💕 💞❤️😈

 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖

220941652_Annotation2021-03-20123345.jpg.23dcff343d6a377badf433b20f5271fd.jpg

💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 💖 

Поделиться сообщением


Ссылка на сообщение

Ты читать умеешь? Имелось в виду, что ... вместо array.from. И соответсвенно зачем юзать var и apply, если есть es6

okay 

 

choojoykin понравилось это

Я не человек, Я - Кантона. (с)

Miraxes#2986

753357.png

Поделиться сообщением


Ссылка на сообщение

Пригласили на ласт этап, интервью в офис с кучей людей. Написали часа 3 займет, лул.


userbar-53933.png

http://codepen.io/suez/ - they see me bydlocoding, they hatin.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...