26

Frontend pikabu

Примерно месяц назад увидел в ленте пост пикабу о том что они ищут фронта, решил попробовать.

Ответил на вопросы, решил задачи, отправил. Пару дней ждал какой-нибудь фидбэк потом забил, в расчете, что мне пришлют хотя бы уведомление.

Но... Сегодня снова обратил внимание на этот пост и понял что никакого уведомления я так и не получил да и сами задания несколько изменились (некоторые от слова совсем, некоторые в формулировке).

Вопрос к тем кто тоже проходил этот тестик: кому-нибудь был фидбэк?

Небольшой вброс мыслей по поводу отсутствия фидбека.
Лично для меня это маркер, показывающий отношение компании к людям в целом, и, как по мне, так в любом случае лучше получить отказ чем неопределенность. Как считаете?


Текст ниже содержит многа букав, совершенно не интересных для НЕ разработчиков.
Задачи, которые были на тот момент, и ссылки на решения в jsfiddle. Если хотите можете закидывать какахами.

14. Дан фрагмент HTML. Исправьте, пожалуйста, в нем предложение, используя только нативный JavaScript

<div class="example">Дважды <span>два</span> - двадцать два</div>
Мое решение

15. С помощью библиотеки jQuery найдите все блоки div на странице с двумя классами. Пример div с двумя классами <div class="class1 class2"></div>
Мое решение


16. Используя регулярные выражения (RegExp) проверьте на валидность введенный пользователем URL (пусть это будет переменная url) по следующим критериям: разрешенные протоколы: http, https, а также ftp; URL может иметь один из следующих поддоменов (3го уровня) m, m-test, c1...c100; домен второго уровня строго задан "pikabu"; URL может иметь порт 8080; URL не может иметь путь, параметры и якорь. Пример URL валидный по заданным критериям: https://c52.pikabu.lh:8080
Мое решение


17. Предложите стили (LESS или SASS) для списка ниже, чтобы привести его к виду, как показано на скриншоте

Мое решение


18. Имеется строка str с произвольным текстом. Необходимо без использования циклов (for, while, do) и объявления дополнительных переменных, посчитать количество символов в строке, у которых ASCII код кратный 3. Напишите по возможности наиболее компактный код.

Мое решение

19. Дан массив целых чисел input. Необходимо написать функцию, которая преобразует массив input так, чтобы он удовлетворял следующим условиям: вначале числа кратные двум, от наибольшего к наименьшему; затем оставшиеся числа от наименьшего к наибольшему.

let input = [-2, 2, 4, 6, 8, 10, 3, 5, 7, 9, -1, -11]; func(input); // [ 10, 8, 6, 4, 2, -2, -11, -1, 3, 5, 7, 9 ]
Мое решение

20. Предложите вариант базового класса для успешной работы следующего кода

class BaseClass {
// ... ваш код
}
class MyClass extends BaseClass {
result(a, b) {
this.a = a;
this.b = b;
return 100 - this.a + this.b;
}
}
let m = new MyClass();
m.result(10, 20) === 90;
m.result(20, 10) === 110;

Мое решение

21. Предложите, на ваш взгляд, наилучший вариант селектора к элементу ниже, для отображения текста чёрным цветом, учитывая, что ваш селектор расположен в самом начале следующих стилей

<section class="section" id="section">Зелёный текст</section> // <-- Ваш селектор // .... section.section {color: red} .section {color: green} section#section {color: yellow} section#section.section {color: pink} section.section {color: red}
Мое решение

22. Предположим вам по наследству достался код с обильной избыточностью. Максимально упростите код (сократите или удалите ненужные операции), сохранив его логику.

const f = (x) => { let data, x2 = new Number(`+${x}`), x3 = x / {toNumber() {return 5}}; data = { isX: x3 === x3, d: Boolean(34), n: x === x2, }; if (!!data.isX ? data.d : data.n) { return Math.ceil(x) >> x2; } else { return (Math.trunc(x) << 0) ** 0b10; } };

Мое решение

Автор поста оценил этот комментарий
Почему я это читаю в 4 ночи? 🐵
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

ну этот вопрос точно не ко мне)

0
Автор поста оценил этот комментарий

а, да, я увлекся, вообще есть три момента, символ . означающий любой символ нужно эскейпить \.

c101 привильно будет [0-9][0-9]?|100 но 100|\d{1,2} почти идентично и будет работать

(групп) слишком много


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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

да может и правда нужен, только уровня 1дан на кодварс

2
Автор поста оценил этот комментарий

моё видение на несколько заданий:


14. div имеет в качестве чилдов текстовые ноды, можно менять текст напрямую

document.querySelector('.example').childNodes[2].nodeValue = " - четыре!"

18. можно посчитать с помощью reduce

'abcdefghijklmnopqrstuwvxyz123456789!@#$%^&*'.split('').reduce((v, c) => v + !(c.charCodeAt(0) % 3), 0)

19. в одну строчку решение:

[-2, 2, 4, 6, 8, 10, 3, 5, 7, 9, -1, -11].sort((a, b) => { return a % 2 ? (b - a) : (a - b); }).reverse()

выведет искомый массив

[10, 8, 6, 4, 2, -2, -11, -1, 3, 5, 7, 9]
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

19. сейчас смотрю на свой код и не понимаю почему я не использовал sort(), а вместо него написал полотнище )

1
Автор поста оценил этот комментарий

А я даже отправлять не стал, вот мои варианты, может кому интересно будет, я не стал усложнять и сделал точно по заданию, некоторые варианты сделал бы иначе, но задание есть задание.


14. Дан фрагмент HTML. Исправьте, пожалуйста, в нем предложение, используя только нативный JavaScript

var 性=function($,l=null){var j=document.querySelector($);return (l==null) ? j.innerText : j.innerText=l;}
性('.example',性('.example').replace('двадцать два','четыре'));

15. С помощью библиотеки jQuery найдите все блоки div на странице с двумя классами. Пример div с двумя классами <div class="class1 class2"></div>

var c_=function(o){return o.attr('class').split(/\s+/).length;}
$('div').each(function(){
if (c_($(this))==2) {} //action
});

16. Используя регулярные выражения (RegExp) проверьте на валидность введенный пользователем URL (пусть это будет переменная url) по следующим критериям: разрешенные протоколы: http, https, а также ftp; URL может иметь один из следующих поддоменов (3го уровня) m, m-test, c1...c100; домен второго уровня строго задан "pikabu"; URL может иметь порт 8080; URL не может иметь путь, параметры и якорь. Пример URL валидный по заданным критериям: https://c52.pikabu.lh:8080

var ok = /(ftp|http|https)\:\/\/(m|m-test|c\d{1,100})\.pikabu\.([a-z]+)\:8080?/i.test('https://c52.pikabu.lh:8080');

ОШИБКА Тут хотел бы обратить внимание автора поста на тот момент, что его регулярное выражение всегда будет выдавать результат true


18. Имеется строка str с произвольным текстом. Необходимо без использования циклов (for, while, do) и объявления дополнительных переменных, посчитать количество символов в строке, у которых ASCII код кратный 3. Напишите по возможности наиболее компактный код.


var str = 'abcdefghijklmnopqrstuwvxyz123456789!@#$%^&*'; var n=0;
str.split('').map(l=>{if(l.charCodeAt(0)%3==0)n++;});

19. Дан массив целых чисел input. Необходимо написать функцию, которая преобразует массив input так, чтобы он удовлетворял следующим условиям: вначале числа кратные двум, от наибольшего к наименьшему; затем оставшиеся числа от наименьшего к наибольшему.

var a=[-2,2,4,6,8,10,3,5,7,9,-1,-11];
function di_(v1,v2){return v1-v2}
function Asort(q)
{
var a1=[];var a2=[];
q.forEach(function(item){Math.abs(item)%2==0?a1.push(item):a2.push(item)});
return a1.sort(di_).reverse().concat(a2.sort(di_));
}
Asort(a);

20. Предложите вариант базового класса для успешной работы следующего кода

class BaseClass
{
set a(v) {this.a_=-v}
get a( ) {return this.a_}
set b(v) {this.b_=-v}
get b() {return this.b_}
}

21. Предложите, на ваш взгляд, наилучший вариант селектора к элементу ниже, для отображения текста чёрным цветом, учитывая, что ваш селектор расположен в самом начале следующих стилей

#section{color:black!important}

22. Предположим вам по наследству достался код с обильной избыточностью. Максимально упростите код (сократите или удалите ненужные операции), сохранив его логику.


const f = (x) => { return Math.ceil(x) >> x};
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

14. ну вот тут собственно имхо было некорректно поставленное задание, и видимо не один я это заметил, потому что они его исправили)

16. вот сейчас проверил, к примеру https://c101.pikabu.lh:8080  - отдает false, да и вообще как нужно работает. Но тут я не исключаю ошибки, с регулярками у меня все очень плохо)

Спасибо за ваши примеры

показать ответы
Автор поста оценил этот комментарий
Примерно месяц назад увидел в ленте пост пикабу о том что они ищут фронта, решил попробовать.

Ответил на вопросы, решил задачи, отправил. Пару дней ждал какой-нибудь фидбэк потом забил, в расчете, что мне пришлют хотя бы уведомление.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Пост ПИКАБУ, о том что ОНИ (пикабу) ищут фронта

Яснопонятно что пикабу могу размещать на своем собственном сервисе свои же вакансии и будут это делать, и плевать что там есть в правилах

ПС: собственно ссылка на страницу с самим тестом https://pikabu.ru/page/interview/frontend/

3
Автор поста оценил этот комментарий

фирменные пикабушные обижульки. Пёрнуть невпопад и кидать всех в игнор. Чел ничего не просит и не предлагает. Лишь выражает своё недоумение отсутствием ответа и показывает, что пришёл, к администрации, совсем не с пустыми руками.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Да, все так, спасибо за понимание)

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества