Комментарии:
Мы занимаемся индвидуальным менторством для фронтов, подробнее можно узнать у нашего менеджера в тг @frontendiya_manager
ОтветитьПокажу свое решение:
const countDuplicates = (str) => {
const hash = {};
let res = "";
for (let i = 0; i < str.length; i++) {
const el = str[i];
if (Object.hasOwn(hash, el)) {
hash[el]++;
} else {
hash[el] = 1;
}
}
for (let key in hash) {
res += key;
res += hash[key];
}
return res;
};
20 летние чуваки берут интервью у 30 летнего чувака с 10 летним опытом который решает задачи 3 урока JS и то еле справляется + невнимательность высшего уровня.
Неужели за 10 лет, хорошо, за 7, нельзя было в начальники выбиться 😮
Теперь понятно почему у нас сфера IT в таком состоянии
задача убрать символы решается проще)
var input = 'abbcdafec';
var output = [...new Set('abbcdafec')].join('');
console.log('input: ' + input);
console.log('output: ' + output);
///
input: abbcdafec
output: abcdfe
Как и написал @inqvisitor3722 решение второй задачи не оптимальное за счет unshift и постоянного перекладывания массива
Вот более оптимальное если кому интересно
var sortedSquares = function(nums) {
let l = 0, r = nums.length - 1, res = new Array(nums.length);
for(let i = nums.length - 1; i >= 0; i--) {
if(Math.abs(nums[l]) > Math.abs(nums[r])) {
res[i] = nums[l] ** 2
++l;
} else {
res[i] = nums[r] ** 2
--r;
}
}
return res;
};
тайм-коды уже стали такой обыденностью, что без них смотреть видео не хочется...
ОтветитьO(N), по памяти O(1)
решил за 10 мин, при наблюдателях конечно сложнее сконцентрироваться
function zip(str){
let start = 0;
let end = 0;
let currentSymbol = str[0];
let result = '';
for(let i = 1; i < str.length+1; i++){
if(str[i] === currentSymbol){
end++;
} else {
const dif = end-start;
if (dif <= 1){
result += currentSymbol.repeat(dif +1);
} else {
result += currentSymbol + '' + (dif + 1);
}
start = end;
currentSymbol = str[i]
}
}
return result;
}
Менторство от 14-летних сеньоров с 10 годами опыта
ОтветитьЭто для школьного проекта кто-то интервью берёт? Ничего не понимаю.
ОтветитьРебзя, ну отсобесьте меня, я джун, войтишник, с диким синдромом самозванца, начал изучать фронт с нуля 01.10.22, работаю с 1.05.2023
ОтветитьПервый паззл решается в одну строку: const reduceStr = (str) => str.replace(/(.)\1+/g, (m, c) => c + m.length);
Вторую можно решить за O(N), а чувак сделал O(N^2) на ровном месте из-за гребаных аншифтов.
Очень странное собеседование для уровня 7+ лет. 3 базовых вопроса, 2 задачки (1я уровня джун/трини) + разговор за ̶ж̶и̶з̶н̶ь̶ стек - ну такое. Собеседуемый про web workers упоминает, логично было бы туда капнуть, узнать про service workers (в конце конечно было, но уровень знаний собеседуемого в этой теме не раскрыт), например и тд. Ощущение после просмотра, как будто немного не дотянули собещедующие ребята. Не сочтите за токсичность, делюсь впечатлением после просмотра.
Ответить