Sobes.tech

Frontend

/** * Verifica se os parênteses estão equilibrados na string ou não. * Os parênteses que podem aparecer na string: * [[{ e }]] * @param {string} str * @return {boolean} */ function parentheses(str) { const open = ['(', '[', '{']; const close = [')', ']', '}']; const stack = []; for (let i = 0; i < str.length; i++) { const letter = str[i]; if (open.includes(letter)) { stack.push(letter); } else if (close.includes(letter)) { const index = close.indexOf(letter); const lastOpenIndex = stack.length - 1; if (open[index] !== stack[lastOpenIndex]) { return false; } else { stack.splice(lastOpenIndex, 1); } } } return stack.length === 0; }

Middle+
179

Fale sobre a tarefa mais interessante ou o maior falha em um dos seus últimos dois empregos.

Middle+
177

O que acontece após o utilizador inserir a URL no navegador e pressionar Enter, até à renderização da página no ecrã?

Middle+
164

Como era organizado o CI/CD? Utilizavam pipeline do GitLab ou algo separado?

Middle+
153

Qual é a diferença entre os atributos async e defer na tag script? Como eles afetam o carregamento e a execução do JavaScript?

Middle+
151

Por que usaram uma solução personalizada para gráficos em vez de bibliotecas prontas (por exemplo, Grafana)?

Middle+
151

Como foi organizada a sua testagem? Quais ferramentas foram utilizadas (Jest, Playwright)?

Middle+
147

Já trabalharam na otimização do carregamento de páginas e nas métricas Web Vitals (LCP, FMP, FCP)?

Middle+
147

Com que frequência participava na produção e qual era o seu papel nesse processo?

Middle+
137

Há um caixa automático com notas de valores específicos. O utilizador escolhe a quantidade de dinheiro que deseja receber. O caixa deve devolver a quantia inserida pelo utilizador com o menor número de notas. Escreva a função do caixa automático. function atm(notes, sum) { } // atm([1, 5, 50, 100], 362) => [100,100,100,50, 5, 5, 1, 1]

Middle+
116
Perguntas para preparação Frontend - sobes.tech