Re[4]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 21.11.19 11:19
Оценка:
Здравствуйте, elmal, Вы писали:

E>Конкретно тот фронтендер, что решил за н квадрат, к твоему сведению гуру кложурескрипта и от функциональщины вообще прется . Соответственно наверно список бы развернул, но вот дубликаты, звиняйте, но н квадрат .


Пофиг кем он себя считает, хоть Наполеоном. А что за вопрос про дупликаты кстати, интересно же.
Re[5]: Какие вопросы на TS, JS, CSS хорошие?
От: elmal  
Дата: 21.11.19 11:46
Оценка: 3 (1)
Здравствуйте, $$, Вы писали:

$>Пофиг кем он себя считает, хоть Наполеоном. А что за вопрос про дупликаты кстати, интересно же.
Тривиальный, специально для фронтэндеров. С сервера пришли данные вида массив ФИО. Вывести пользователю только уникальные ФИО. Иногда задача посложнее, вывести те, кто повторяется, но среди фронтэндеров и первую большинство решить не могут. Если что, подобная задача периодически встречается на практике. Хоть и в современных языках достаточно сделать .distinct() у коллекции.

Задача не как у тебя, на завалить, а на отсеять тех, кто вообще в институте не учился, а просто пошел по книжкам технологии учить, не имея базы. К сожалению среди фронтэндеров отсеивается 99 процентов . Да, код писать не нужно, нужно сходу рассказать как это можно сделать, первое что на ум приходит. Большинству блин на ум обход массива n квадрат раз приходит, и очень удивляются когда это можно быстрее. Блин, профильные специальности заканчивали, полный капец.

Потому я и на практике очень сильно гоню на паскаль. Ибо во многих ВУЗах до сих пор это идет первым языком, а там все на массивах. И студенты на первом курсе как то говнокодить начинают и сразу на фултайм идут работать как раз фронтэндерами-верстальщиками. И потом у них фактическое образование — 1 семестр, остальное не посещали и покупали, но диплом как будто 6 лет там что то делали.
Re[5]: Какие вопросы на TS, JS, CSS хорошие?
От: AleksandrN Россия  
Дата: 21.11.19 12:02
Оценка:
Здравствуйте, $$, Вы писали:

$>Где я строил из себя гуру?

$>Я попросил вопрос, чтоб спросить по бумажке и сравнить ответ с бумажкой.

Я лично считаю себя достаточно сильным программистом, в том числе в UI. При этом, CSS только на уровне гуглопоиска и копи-паста использую.
На фоне икспертов в CSS, тех, которые не могут перевернуть строку, прямо титан мысли блин.


Да и в других темах по собеседованиям, ты хвастаешься, что знаешь 100500 алгоритмов сортировки и список перевернуть можешь. При этом не принимаешь никакого мнения, отличного от твоего, вне зависимости от того, какое решение предлагается.

В тех сферах, в которых ты понимаешь, ты проводишь гораздо более трудные собеседования. А тут — по бумажке и сравнить ответы. А если ответ отличается от того, что в твоей бумажке, как ты определишь, что лучше, то что ответил кандидат или то, что ты нагуглил?

Всё знать невозможно и тебе white_znake правильно написал — обратись к человеку, который сможет проверить квалификацию кандидата в веб-фронтэнде. Ты это не можешь, но можешь проверить квалификацию в общих вопросах, например — в алгоритмах. Можете вдвоём проводить собеседования.
Re[6]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 21.11.19 12:04
Оценка:
Здравствуйте, elmal, Вы писали:

E>Тривиальный, специально для фронтэндеров. С сервера пришли данные вида массив ФИО. Вывести пользователю только уникальные ФИО.

ФИО это строка. Значит, hashmap.
[code=Typescript]
fio: { [key: string]: null}= {};
list.forEach(v => { if( fio[v]=== undefined) { fio[v]=null; console.log(fio); }};
[/code]


E> Иногда задача посложнее, вывести те, кто повторяется, но среди фронтэндеров и первую большинство решить не могут. Если что, подобная задача периодически встречается на практике. Хоть и в современных языках достаточно сделать .distinct() у коллекции.

Можно сделать filter с hashmap. У TS только filter вернёт новый массив, а не стрим.

E>Задача не как у тебя, на завалить,

У меня просто нормальных набрать, чтобы не нужно чистить за ними, чтобы не обьяснять долго и мучительно, как и что сделать, чтоб код был чистый, расширяемый и эффективный.
Re[7]: Какие вопросы на TS, JS, CSS хорошие?
От: PM  
Дата: 21.11.19 19:28
Оценка:
Здравствуйте, $$, Вы писали:

$>Здравствуйте, elmal, Вы писали:

E>>Тривиальный, специально для фронтэндеров. С сервера пришли данные вида массив ФИО. Вывести пользователю только уникальные ФИО.

$>ФИО это строка. Значит, hashmap.
$>[code=Typescript]
$>fio: { [key: string]: null}= {};
$>list.forEach(v => { if( fio[v]=== undefined) { fio[v]=null; console.log(fio); }};
$>[/code]

Вопрос для расширения кругозора: а в Typescript разве нет контейнера для множества значений? Вроде даже в не очень свежем JavaScript есть Set
Re[8]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 21.11.19 20:48
Оценка:
Здравствуйте, PM, Вы писали:

PM>Вопрос для расширения кругозора: а в Typescript разве нет контейнера для множества значений? Вроде даже в не очень свежем JavaScript есть Set


Ответ для расширения кругозора: Object в JavaScript является ассоциативным контейнером. Любой Set это обрезанный Map. Лично я предпочитаю короткий синтаксис {} и [].
Re[7]: Какие вопросы на TS, JS, CSS хорошие?
От: Буравчик Россия  
Дата: 21.11.19 20:50
Оценка:
Здравствуйте, $$, Вы писали:

E>>Тривиальный, специально для фронтэндеров. С сервера пришли данные вида массив ФИО. Вывести пользователю только уникальные ФИО.

$>ФИО это строка. Значит, hashmap.
$>[code=Typescript]
$>fio: { [key: string]: null}= {};
$>list.forEach(v => { if( fio[v]=== undefined) { fio[v]=null; console.log(fio); }};
$>[/code]

Имхо, это плохой код.
Во-первых, есть Set
Во-вторых, если используется HashMap, то он имее метод has
В-третьих, не стоит смешивать алгоритм и вывод в консоль
и пр.
Best regards, Буравчик
Re[8]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 21.11.19 21:04
Оценка:
Здравствуйте, Буравчик, Вы писали:

E>>>Тривиальный, специально для фронтэндеров. С сервера пришли данные вида массив ФИО. Вывести пользователю только уникальные ФИО.

Б>$>ФИО это строка. Значит, hashmap.
Б>$>[code=Typescript]
Б>$>fio: { [key: string]: null}= {};
Б>$>list.forEach(v => { if( fio[v]=== undefined) { fio[v]=null; console.log(fio); }};
Б>$>[/code]

Б>Имхо, это плохой код.

Б>Во-первых, есть Set
И что?
Б>Во-вторых, если используется HashMap, то он имее метод has
Тебе шашечки или ехать?
Б>В-третьих, не стоит смешивать алгоритм и вывод в консоль
Почему?

Б>и пр.

Что пр? Мой код короткий и понятный, вот даже ты с PM смогли осилить смысл. Вариант с Set тоже нормальный.
Re[9]: Какие вопросы на TS, JS, CSS хорошие?
От: PM  
Дата: 21.11.19 21:45
Оценка:
Здравствуйте, $$, Вы писали:

PM>>Вопрос для расширения кругозора: а в Typescript разве нет контейнера для множества значений? Вроде даже в не очень свежем JavaScript есть Set


$>Ответ для расширения кругозора: Object в JavaScript является ассоциативным контейнером. Любой Set это обрезанный Map. Лично я предпочитаю короткий синтаксис {} и [].

Cпасибо, пойду в гугл, т.к. ответ я не получил (вопрос был про наличие Set в Typescript).
Связь между двумя утверждениями "Object в JavaScript является ассоциативным контейнером" и "Любой Set это обрезанный Map." не наблюдаю.

В https://github.com/anvaka/set-vs-object нагулилось что "TL;DR Set is almost two times faster than Object."

То есть Object в роли ассоциативного контейнера — это не самое лучше решение. На тысяче элементов разница невооружённым глазом клиенту будет, скорее всего, незаметна.

Not great, not O(n^2) terrible.
Re[10]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 21.11.19 23:49
Оценка:
Здравствуйте, PM, Вы писали:

PM>Cпасибо, пойду в гугл, т.к. ответ я не получил (вопрос был про наличие Set в Typescript).

Ты пытаешься спорить с помощью гугла? И как, гугл случаем, не подсказал, что Typescript является "расширением" JavaScript пока его фичи не включены в JavaScript?

PM>Связь между двумя утверждениями "Object в JavaScript является ассоциативным контейнером" и "Любой Set это обрезанный Map." не наблюдаю.

Если бы знал, что такое Set, как он устроен, то ты бы знал, что это обрезанный Map.

PM>В https://github.com/anvaka/set-vs-object нагулилось что "TL;DR Set is almost two times faster than Object."

Чел экспериментальным путём нашёл, что в Chrome Object добавление свойства в 2 раза медленнее, чем добавление элемента в Set. Ок, полезная находка. Но, эта разница в C. Time complexity у обоих одинаковый.

PM>То есть Object в роли ассоциативного контейнера — это не самое лучше решение. На тысяче элементов разница невооружённым глазом клиенту будет, скорее всего, незаметна.

Разница в 2 раза вне зависимости от количества элементов.

PM>Not great, not O(n^2) terrible.

Проблема в том, что твои собратья по разуму не могут родить решение O(n). А вот ты бы родил, без похода в гугл?

PS мы не даём настолько лёгкие задачи. Но раскрывать я не буду.

PPS https://v8.dev/blog/fast-properties — добавление свойства это дорогая операция.
Отредактировано 22.11.2019 0:34 Артём . Предыдущая версия . Еще …
Отредактировано 21.11.2019 23:52 Артём . Предыдущая версия .
Re[11]: Какие вопросы на TS, JS, CSS хорошие?
От: PM  
Дата: 22.11.19 06:49
Оценка: :)
Здравствуйте, $$, Вы писали:

PM>>Cпасибо, пойду в гугл, т.к. ответ я не получил (вопрос был про наличие Set в Typescript).

$>Ты пытаешься спорить с помощью гугла? И как, гугл случаем, не подсказал, что Typescript является "расширением" JavaScript пока его фичи не включены в JavaScript?

Я не спорю, расширяю кругозор. Вот наконец повод появился прочитать Typescript in 5 minutes. Теперь наверно тоже смогу фронтендеров собеседовать.


PM>>Связь между двумя утверждениями "Object в JavaScript является ассоциативным контейнером" и "Любой Set это обрезанный Map." не наблюдаю.

$>Если бы знал, что такое Set, как он устроен, то ты бы знал, что это обрезанный Map.

Логическая связь между двумя утверждениями не доказывается повторением одного из них. Подсказка: я могу утверждать, что Set и Map это ассоциативные контейнеры, и что они являются Object. Но я не могу утверждать, что любой Object это Set.


PM>>В https://github.com/anvaka/set-vs-object нагулилось что "TL;DR Set is almost two times faster than Object."

$>Чел экспериментальным путём нашёл, что в Chrome Object добавление свойства в 2 раза медленнее, чем добавление элемента в Set. Ок, полезная находка. Но, эта разница в C. Time complexity у обоих одинаковый.

Был рад помочь и вам расширить кругозор. Теперь вы тоже про это знаете


PM>>То есть Object в роли ассоциативного контейнера — это не самое лучше решение. На тысяче элементов разница невооружённым глазом клиенту будет, скорее всего, незаметна.

$>Разница в 2 раза вне зависимости от количества элементов.

PM>>Not great, not O(n^2) terrible.

$>Проблема в том, что твои собратья по разуму не могут родить решение O(n). А вот ты бы родил, без похода в гугл?

$>PS мы не даём настолько лёгкие задачи. Но раскрывать я не буду.


Как жаль, было бы интересно добавить к запасу тайных знаний, лежало бы по-соседству с нетленным переворотом строки.


$>PPS https://v8.dev/blog/fast-properties — добавление свойства это дорогая операция.


Отлично, теперь вы тоже про это знаете. Задание со звездочкой (только для фуллстек программистов!): какого типа свойства добавлялись в объект fio в вашем коде.

PS Set, Map, WeakMap, TypedArray появились в V8 когда Typescript еще и в планах не было.
Re[9]: Какие вопросы на TS, JS, CSS хорошие?
От: elmal  
Дата: 22.11.19 07:22
Оценка: -1
Здравствуйте, $$, Вы писали:

Б>>В-третьих, не стоит смешивать алгоритм и вывод в консоль

$>Почему?
Ужас, и это спрашивает апологет Clojure . Короче, если в привычку сайдэффекты не вошло выносить, функциональщина таким противопоказана.
Re[12]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 22.11.19 07:45
Оценка:
Здравствуйте, PM, Вы писали:

PM>PS Set, Map, WeakMap, TypedArray появились в V8 когда Typescript еще и в планах не было.


Ок, ты крут. А теперь вернёмся к нашим баранам- строку за линейное время перевернёшь, или как всегда?
Re[10]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 22.11.19 07:54
Оценка:
Здравствуйте, elmal, Вы писали:

Б>>>В-третьих, не стоит смешивать алгоритм и вывод в консоль

E>$>Почему?
E>Ужас, и это спрашивает апологет Clojure . Короче, если в привычку сайдэффекты не вошло выносить, функциональщина таким противопоказана.


Побочный эффект вынесен в имплементацию Console.log.
Re[2]: Какие вопросы на TS, JS, CSS хорошие?
От: 0xCAFEDEAD  
Дата: 22.11.19 08:21
Оценка:
Здравствуйте, white_znake, Вы писали:

_>Здравствуйте, $$, Вы писали:



_>Самое худшее что может быть в собеседованиях — это интервьювер без глубокого знания той области, в которой он планируют собеседовать кандидатов.

Это не самое худшее. Люди без софт скиллз, не понимающие процесс найма гораздо хуже бывают. Именно таких чаще всего опосля обуждают с особым негативом.
_>Может привлечь сторонних знакомых людей со знанием во фронтэнде, в знаниях которых ты уверен, заплатить этим людям за подбор требуемого специалиста?
Re[9]: Какие вопросы на TS, JS, CSS хорошие?
От: 0xCAFEDEAD  
Дата: 22.11.19 08:24
Оценка:
Здравствуйте, $$, Вы писали:

$>Здравствуйте, PM, Вы писали:

PM>>Вопрос для расширения кругозора: а в Typescript разве нет контейнера для множества значений? Вроде даже в не очень свежем JavaScript есть Set


$>Ответ для расширения кругозора: Object в JavaScript является ассоциативным контейнером. Любой Set это обрезанный Map. Лично я предпочитаю короткий синтаксис {} и [].

А по-моему в подобных ситуациях set лучше. Становится понятнее, что хотел сказать автор.

Все запихал в сет и проверил/перебрал.
Re[4]: Какие вопросы на TS, JS, CSS хорошие?
От: 0xCAFEDEAD  
Дата: 22.11.19 08:34
Оценка:
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, $$, Вы писали:


E>$>Я бы не брал вообще никого, кто решит за время n квадрат. Или не слышал про linked list ничего. Но не я задаю бюджет, могу только высветить проколы в случае, когда просят пособеседовать.

E>Конкретно тот фронтендер, что решил за н квадрат, к твоему сведению гуру кложурескрипта и от функциональщины вообще прется . Соответственно наверно список бы развернул, но вот дубликаты, звиняйте, но н квадрат .

Может быть проблема в понимании задач на собеседовании
Вот тут set обсуждают, но в большинстве подобных задач на собеседоаании нельзя использвать доп память. (Кроме пременных)
В итоге чел. иожет затупить и пытаться делать in-place.

Но это так, догадки.
Re[5]: Какие вопросы на TS, JS, CSS хорошие?
От: $$ Австралия жж
Дата: 22.11.19 08:46
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF> Вот тут set обсуждают, но в большинстве подобных задач на собеседоаании нельзя использвать доп память. (Кроме пременных)

CAF>В итоге чел. иожет затупить и пытаться делать in-place.

CAF>Но это так, догадки.


Я бы принял Set и ещё если чел объяснил, почему Set в том случае лучше- ещё добавил ему очков. Хотя, я такие очевидные задачи не даю, это imho ну позволит узнать, что допустим, чел знает про Set. Это для меня не говорит ни о чём, что он хороший программист- только о том, что он знает эти API. Мне интересно, чтобы чел мог думать, а какие API- узнает, заменит Object на Set если так уж лучше- no big deal. Все мы постоянно чему-то учимся.
Re: Какие вопросы на TS, JS, CSS хорошие?
От: 0xCAFEDEAD  
Дата: 22.11.19 08:49
Оценка:
Здравствуйте, $$, Вы писали:

$>Предположим, кандидат позиционирует себя как эксперт в HTML ftontend.
$>Так как я мимо крокадил CSS-а, как прощупать наличие hands-on experience и что чел вообще что-то понимает подкапотом у CSS?

А нельзя вернуть эту задачу менеджеру? С описанием, что можешь оценить, а что нет? А то специалиста по арм в след раз попросят собеседовать

Кстати а что там интересного может быть вообще? Я житель командный строки и емакса
Re[6]: Какие вопросы на TS, JS, CSS хорошие?
От: 0xCAFEDEAD  
Дата: 22.11.19 08:52
Оценка:
Здравствуйте, $$, Вы писали:

$>Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>> Вот тут set обсуждают, но в большинстве подобных задач на собеседоаании нельзя использвать доп память. (Кроме пременных)

CAF>>В итоге чел. иожет затупить и пытаться делать in-place.

CAF>>Но это так, догадки.


$>Я бы принял Set и ещё если чел объяснил, почему Set в том случае лучше- ещё добавил ему очков. Хотя, я такие очевидные задачи не даю, это imho ну позволит узнать, что допустим, чел знает про Set. Это для меня не говорит ни о чём, что он хороший программист- только о том, что он знает эти API. Мне интересно, чтобы чел мог думать, а какие API- узнает, заменит Object на Set если так уж лучше- no big deal. Все мы постоянно чему-то учимся.
Ну да все, ага

Но я про biased решение задач на собеседовании. Как патерн.

Вот попросили переаернуть список. Многие подумают, что однонаправленный.
Ну и тд.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.