Como fazer o screen front end de habilidades de desenvolvedor - HTML e CSS

Publicado: Última actualização:

HTML e CSS são duas das competências mais fundamentais do desenvolvedor de front-end. Seria difícil encontrar um desenvolvedor web que não tenha pelo menos uma compreensão básica das duas "stalwarts". No entanto, alguns acreditam que HTML e CSS não devem ter o mesmo respeito que outras linguagens porque nenhuma delas requer lógica interna. Isso porque HTML e CSS são linguagens declarativas que instruem um navegador web a renderizar páginas web em vez de usar código computacional.

Apesar do que alguns possam pensar, está se tornando cada vez mais valioso para os desenvolvedores possuir um profundo conhecimento e experiência destas duas línguas. A verificação das habilidades HTML e CSS de um desenvolvedor é tão importante quanto a verificação de habilidades em linguagens como Java e C++. Certamente, qualquer pessoa vagamente técnica deve ter um conhecimento básico de HTML e CSS. No final, é tudo o que você precisa, certo? Não exatamente.

HTML e CSS constituem a espinha dorsal do desenvolvimento frontal juntamente com JavaScript. Na verdade, você também encontrará um monte de desenvolvedores back-end que usam essas linguagens regularmente. Embora você nunca encontrará um desenvolvedor que só use essas linguagens, HTML e CSS são críticos o suficiente para o desenvolvimento de software moderno para garantir que desenvolvedores de front-end são capazes de usá-los eficazmente. Embora sejam simples de iniciar, as aplicações avançadas requerem habilidade e compreensão profundas. É essencial verificar se o seu desenvolvedor tem essa compreensão.

Confira mais qualidades de um engenheiro de software.

O que são HTML e CSS?1. O que são HTML e CSS e para que são usados?

1.1 O que é HTML?

HTML ou HyperText Markup Language é a linguagem de marcação padrão para a criação de páginas web e aplicações web. As linguagens de marcação são diferentes das linguagens de programação na medida em que não executam nenhuma lógica. Em vez disso, o HTML é projetado para criar um documento estruturado usando elementos tais como imagens, formulários, listas, etc. Cabe então ao navegador interpretar este documento para criar as páginas web que você acaba visualizando (como aquela que você está lendo agora).

1.2 O que é CSS?

CSS ou Cascading Style Sheets fornecem uma definição padrão de como os diferentes elementos devem aparecer na página. O que eu quero dizer? Imagine que você quer um pintor para pintar sua casa, você poderia dizer-lhes a cor que você quer de cada parede individual. Isto seria semelhante a dar as suas instruções apenas usando HTML. Isso exigiria muitas instruções para os seus pintores e levaria mais tempo para escrever.

Mas se és como eu, queres que todas as paredes da tua casa sejam da mesma cor. Nesse caso, você diria ao seu pintor para pintar todas as paredes de uma cor fixa. Isto seria como dar instruções usando o CSS. Com CSS, você pode definir um aspecto padrão de um elemento em sua página para que sempre que você criar um novo elemento, todos os seus padrões de design estejam intactos. Isso requer menos instruções e significa que os novos elementos, como cores e fontes, serão consistentes com o resto da página.

1.3 Para que são usados HTML e CSS?

Usados juntos, HTML e CSS são as pedras angulares da World Wide Web. Ambos são muito populares, e os conceitos básicos são simples de aprender. Tomados com JavaScript, eles são duas das três habilidades essenciais do desenvolvedor front-end. Mas um desenvolvedor front-end precisa saber mais do que apenas os conceitos básicos para fazer um bom trabalho.

2. O que é importante para um recrutador de TI saber sobre as habilidades de HTML e CSS do desenvolvedor front-end?2. O que é importante para um recrutador de TI saber sobre as habilidades de HTML e CSS do desenvolvedor front-end?

2.1 Normas

O World Wide Web Consortium (W3C) é a organização de padrões internacionais que cria os padrões HTML e CSS. Dito isto, a última versão do HTML é HTML5, que segue o padrão WHATWG (chamado HTML Living Standard) e não o padrão do W3C. Não existe uma versão única do CSS porque desde o CSS 3, ele é dividido em módulos, e cada módulo é versionado de forma independente.

Quase todo desenvolvedor, muito menos um desenvolvedor front-end, deve ter pelo menos um entendimento básico de HTML e CSS. Um desenvolvedor HTML ou CSS raramente é uma posição autônoma. Na maioria das vezes, é apenas uma das habilidades de um desenvolvedor front end ou full-stack ou de um designer gráfico/web.

Os padrões não mudam com muita frequência. No entanto, novas funcionalidades chegam regularmente, por isso os programadores precisam de se manter actualizados. Nos últimos anos, tem havido um fluxo consistente de novas funcionalidades e atualizações do CSS. Tanto é assim que os desenvolvedores do back end podem nem mesmo estar cientes do quão poderosa a tecnologia se tornou.

2.2 Ferramentas

Cada navegador interpreta CSS e HTML de uma forma ligeiramente diferente. O desenvolvedor deve conhecer as diferenças entre os diferentes navegadores e seu suporte a diferentes versões HTML/CSS. Além disso, os desenvolvedores devem saber quais ferramentas eles podem usar para criar conteúdo HTML/CSS cross-browser.

Desenvolvedores front-end que usam frameworks JavaScript geralmente trabalham com bibliotecas que estão cheias de componentes prontos para uso. No entanto, criar uma aplicação pronta para a produção requer adaptação de estilo para o design do produto. Este tipo de adaptação muitas vezes requer conhecimento avançado de CSS.

Para facilitar e acelerar as páginas web, os desenvolvedores geralmente usam ferramentas adicionais como frameworks front-end (ou seja, Bootstrap) ou linguagem de folha de estilo (ou seja, LESS ou SCSS).

2.3 Experiência do usuário (UX)

O UX é um componente vital do desenvolvimento frontal. Um competente desenvolvedor front-end deve possuir a capacidade de visualizar páginas web ou aplicações a partir da perspectiva do utilizador. Isso significa otimizar o UX holisticamente. Sugerir melhorias para a aplicação, como remover cliques desnecessários ou melhorar o desempenho através da optimização da velocidade de carregamento da página, são dois exemplos de optimização.

O Web Design Responsivo (RWD) é outra técnica importante que os desenvolvedores precisam considerar para o UX. É a abordagem que sugere que o design e desenvolvimento deve responder ao comportamento e ambiente do usuário com base no tamanho da tela, plataforma e orientação.

Finalmente, a11y (que é uma abreviação do termo "acessibilidade") está se tornando um movimento amplamente discutido dentro dos círculos tecnológicos e outra importante consideração UX. Não se refere a um padrão, medida ou lei específica que tem a ver com tecnologia, mas sim a uma mudança na forma como os websites são construídos para responder pelas pessoas com deficiência. O projeto visa tornar as páginas da web mais digeríveis, atualizadas e perdoáveis para aqueles que têm deficiências, seja por deficiência visual ou por outra forma de enfermidade.

Habilidades do desenvolvedor front-end

Fonte: Unsplash - Safar Safarov

3. Triagem das habilidades de HTML e CSS de um desenvolvedor front end usando seu currículo

A primeira dica que muitos recrutadores têm sobre os conhecimentos de HTML e CSS de um desenvolvedor de primeira linha é o que está escrito no currículo do candidato. Além das simples habilidades de HTML e CSS (que devem ser um dado adquirido para qualquer desenvolvedor de front end), é vital ver o quanto o candidato tem conhecimento e está atualizado com a pilha de tecnologia do front end. Aqui está um glossário de habilidades a serem observadas e um resumo de tudo o que seu candidato deve saber para ajudá-lo a entender melhor o que procurar em um desenvolvedor front-end.

Glossário HTML e CSS para recrutadores técnicos3.1 Glossário HTML e CSS para recrutadores técnicos

Estruturas front-end Bootstrap, Foundation, Semantic UI, Pure, UIkit, Bulma
pré-processadores CSS Sass, LESS, Stylus, CSS-Crush, Myth, Rework, Compass, PostCSS
frameworks HTML5 Skeleton, HTML KickStart, Montage, SproutCore, Zebra,
Animações Web Design Responsivo (RWD)
Acessibilidade A11Y
Convenções Modificador de Elemento de Bloco
Ferramentas Módulos CSS, CSS no JS
Outros/Diversos HTML5 Placa de Caldeira

3.2 Padrões HTML - tipos de HTML

  • HTML 4 - a versão básica de HTML recomendada pelo W3C em 1997
  • XHTML - uma extensão do HTML4, apenas uma versão mais estrita do HTML 4. Incorporou algumas características do XML no HTML.
  • HTML5 - última versão do padrão HTML. A mais utilizada.

3.3 Normas do CSS

  • CSS 2 - Especificação CSS nível 2 publicada pelo W3C em 1998
  • CSS 2.1 - CSS nível 2 revisão 1, erros corrigidos no CSS2
  • CSS 3 - divide a especificação em diferentes seções chamadas módulos, uma grande mudança. O CSS 3 introduziu muitas novas funcionalidades como novos selectores, novas propriedades, alterações no modelo da caixa e muito mais.

3.4 Estruturas HTML e CSS

HTML e CSS básicos são fáceis de codificar, mas o nível de complexidade encontrado nos sites modernos pode ser muito demorado para codificar diretamente. Por sorte, os desenvolvedores não são obrigados a criar tudo do zero. Existem frameworks disponíveis que oferecem ajuda com componentes prontos para uso e fornecem uma maneira fácil de personalizar o visual de uma página.

As Frameworks mais populares a serem procuradas são:

  • Pega de Botas (v4)
  • Fundação (última versão 6)

3.5 Outras áreas de HTML e CSS que o seu desenvolvedor do front end deve saber sobre

Como os conceitos básicos do CSS são bastante fáceis de aprender, existem algumas áreas do CSS que requerem um esforço extra para serem usadas eficientemente pelos desenvolvedores. Estas incluem:

  • Modelo CSS Flexbox
  • rede CSS
  • Modelo CSS Box
  • Elementos de layout com posicionamento absoluto
  • Elementos de layout com flutuadores
  • Animações CSS

Perguntas e respostas de entrevistas em HTML/CSS4. Perguntas e respostas de entrevistas em HTML/CSS

Você pode encontrar estas perguntas e mais aqui.

4.1 Perguntas e respostas da entrevista em HTML

O que faz um doctype?

O tipo de documento determina a que versão do HTML o documento se refere.

Que tipo de coisas você deve ter cuidado ao projetar ou desenvolver para sites multilíngues?

As respostas de um candidato a esta pergunta devem demonstrar se ele tem ou não experiência na construção de locais de grande escala de diferentes regiões do mundo. As respostas que incluem os seguintes tópicos são uma boa indicação de um candidato informado: apoio ao Unicode para codificação, da esquerda para a direita vs. da direita para a esquerda, automatização da tradução de moedas, datas e forma plural, e parametrização de cordas traduzidas.

Descreva a diferença entre , e .

As respostas a esta pergunta estão relacionadas com o conhecimento do candidato sobre como o JavaScript é executado dentro de uma aplicação web. Normalmente, os scripts são executados sequencialmente, e são técnicas para carregar scripts numa ordem diferente.

Porque é que é geralmente uma boa ideia posicionar o CSS <link href="">s entre <head></head> e JS <script>s just before </body>? Do you know any exceptions?</script>

As respostas a esta pergunta demonstram um elevado nível de compreensão da estrutura dos documentos HTML. Ligações CSS dentro de <head> assegurará que qualquer conteúdo dentro da página será correctamente estruturado desde o início da renderização (sem flashes temporários de conteúdo). Por outro lado, o carregamento do JS a partir do fundo da página <body> irá solicitar ao navegador que execute o JS depois de o conteúdo ter sido exibido.

O que é renderização progressiva?

As respostas demonstrarão a atenção de um candidato ao desempenho de seus sites. Renderização progressiva é uma técnica para carregar pedaços de páginas visualizadas mais rapidamente.

4.2 Perguntas e respostas da entrevista do CSS

Qual é a especificidade do selector CSS, e como funciona?

Esta pergunta foi feita para dizer se um candidato teve a oportunidade de construir e/ou manter grandes websites onde pode ter sido responsável por várias folhas de estilo (potencialmente conflituosas). Se há muitas folhas de estilo conflitantes aplicadas a um determinado bloco, o CSS precisa determinar qual é o mais importante.

Qual é a diferença entre "reiniciar" e "normalizar" o CSS? Qual você escolheria, e por quê?

As respostas demonstrarão se um candidato tem experiência com a remoção de diferenças entre navegadores. Reiniciar é remover estilos padrão e normalizar é unificar os resultados.

Descreva os flutuadores e como eles funcionam.

As respostas determinam aspectos fundamentais do CSS. Os flutuadores determinam como colocar um elemento dentro de um recipiente.

Descreva BFC (Block Formatting Context) e como ele funciona.

A resposta determina se o candidato entende como os blocos estruturam a página e como eles podem se ajustar um ao outro.

Quais são as várias técnicas de compensação, e quais são apropriadas para que contexto?

As respostas a esta pergunta demonstram um conhecimento fundamental do CSS. As 3 técnicas mais comuns são: "clear: both", overflow property e ":after" pseudo-selector.

Como você abordaria a correção de problemas de estilo específicos do navegador?

As respostas a esta pergunta devem estar relacionadas com se o candidato não entende como garantir uma aparência consistente para os usuários através de muitos dispositivos diferentes. Um exemplo de solução poderia ser o normalize.css.

Como você serve suas páginas para navegadores com restrições de recursos?

As respostas demonstrarão a consciência dos candidatos de que alguns usuários podem usar versões mais antigas de navegadores e que as funcionalidades CSS dentro da base de código podem não ser suportadas. Isto é de particular importância na criação de sites de grande escala, como sites de publicação de notícias.

Que técnicas/processos você usa?

Degradação graciosa - fornece um recurso de recurso de navegação em falta para que, se algo não for suportado, um UX similar seja fornecido.

Aprimoramento progressivo - foca no fornecimento de recursos para usuários básicos e na adição de novas funcionalidades somente quando um navegador os suporta.

Quais são as diferentes formas de ocultar visualmente o conteúdo (e torná-lo disponível apenas para leitores de tela)?

As respostas a esta pergunta verificam se o candidato tem experiência em fornecer acessibilidade a websites (a11y), ou seja, assegurar um UX igual para pessoas com deficiência. Este cenário particular deve ocorrer onde o conteúdo é visualmente aparente para usuários avistados e a informação de retorno está disponível para que os leitores de tela forneçam informações.

Triagem técnica das habilidades do desenvolvedor de HTML e CSS front end usando um teste online5. Triagem técnica das habilidades de desenvolvedor de HTML e CSS front end usando um teste online

Os desenvolvedores do front end existem para construir o front end de páginas web e aplicativos. Embora seja importante ver se um desenvolvedor está ciente dos conceitos essenciais, é mais importante saber se ele pode aplicá-los ao trabalho real. Isso pode ser feito com um teste de codificação ou entrevista de programaçãomas nem todas as plataformas para estes testes são criadas iguais.

5.1 Quais testes de codificação HTML e CSS você deve escolher para testar as habilidades do desenvolvedor front-end?

Ao procurar o teste de codificação on-line HTML e CSS certo, você deve certificar-se de que eles correspondem aos seguintes critérios:

  • O teste deve refletir o trabalho real que está sendo feito, utilizando HTML e CSS em projetos front-end reais.
  • Tempo-eficiente - uma ou duas horas no máximo.
  • Enviado automaticamente e pode ser levado para qualquer lugar para lhe dar flexibilidade a si e ao seu candidato.
  • Vá além de verificar se o código renderiza uma página, mas também verifique a eficiência do código e o quão bem ele renderiza em múltiplas plataformas.
  • Estar o mais próximo possível do ambiente natural de desenvolvimento frontal e deixar o candidato ter acesso aos tipos de recursos que normalmente teria no trabalho.
  • Proporcionar aos candidatos acesso a todas as bibliotecas, estruturas e outras ferramentas que eles normalmente usariam, incluindo as mais importantes para o trabalho
  • Fazer corresponder as capacidades do candidato ao teste apropriado

DevSkiller pronto para usar testes de codificação HTML e CSS online para avaliar as habilidades do desenvolvedor front-end6. Testes de codificação de HTML e CSS online para avaliar as habilidades do desenvolvedor front-end

A metodologia RealLifeTestingTM do DevSkiller é construída para testar os desenvolvedores como se eles já estivessem no trabalho. Os desenvolvedores não recebem testes de página única para alcançar um resultado pré-determinado. No DevSkiller, os desenvolvedores do front-end são testados com projetos completos e de múltiplos arquivos que eles desenvolvem para mostrar toda a extensão de suas habilidades. Aqui estão alguns testes pré-fabricados que incorporam HTML e CSS.

TypeScript
JUNIOR
Competências testadas
Duração
51 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Datilografia

Lacunas de código

avaliação do conhecimento de JavaScript, Reagir

Perguntas de escolha

avaliação do conhecimento de HTML, CSS

Tarefa de programação - Nível: Fácil

TypeScript | Ganchos de Reacção | Gestão do Estado dos Filmes - Aplicação completa de gestão de filmes utilizando Ganchos de Reacção, implementando a gestão do estado para as visualizações existentes.

.NET
SENIOR
Competências testadas
Duração
49 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de .NET, C#, Padrões de mensagem, WCF, Aplicações Web & Serviços Web, Windows Communication Foundation, Metadados

Lacunas de código

avaliação do conhecimento de HTML, HTML5, CSS

Tarefa de programação - Nível: Difícil

.NET | RSA Decryption WCF Service - Concluir a implementação da interface WCF que pode decodificar e verificar dados criptografados usando RSA.

JavaScript
MÉDIO
Competências testadas
Duração
62 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JavaScript, Redux

Lacunas de código

avaliação do conhecimento de HTML, HTML5, CSS

Tarefa de programação - Nível: Médio

JavaScript | Redux Selectors | Treinamentos do Departamento de RH - Implementar corretamente os redutores e seletores redux.

JavaScript
SENIOR
Competências testadas
Duração
85 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Tarefa de programação - Nível: Difícil

HTML/CSS | Home Page - Definições de propriedades CSS completas para que a página exiba a tela do carregador de splash apropriado antes de exibir a página inicial.

Tarefa de programação - Nível: Difícil

JavaScript | Memorização funcional - Escreva as duas versões do mecanismo genérico de memorização.

Vue.js
JUNIOR
Competências testadas
Duração
65 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de JavaScript, HTML, CSS

Tarefa de programação - Nível: Fácil

JavaScript | Vue.js | Calendar Notes - Implemente uma aplicação com a qual o utilizador pode adicionar uma nota para uma data escolhida a partir de um calendário.

JavaScript
SENIOR
Competências testadas
Duração
57 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de ES6, JavaScript, HTML, CSS, Acessibilidade

Tarefa de programação - Nível: Difícil

JavaScript | Memorização funcional - Escreva as duas versões do mecanismo genérico de memorização.

PHP
MÉDIO
Competências testadas
Duração
60 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Lacunas de código

avaliação do conhecimento de SQL

Perguntas de escolha

avaliação do conhecimento de ES6, JavaScript, CSS, HTML, WCAG 2.0, Acessibilidade na Web

Tarefa de programação - Nível: Médio

PHP | Repositório de Categorias - Implemente consultas DOP que retornarão resultados válidos sobre filmes aos usuários.

HTML
SENIOR
Competências testadas
Duração
133 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de AJAX, JavaScript, Desenvolvimento Web, ES6, Datilografia, CSS, HTML

Tarefa de programação - Nível: Difícil

JavaScript | Consultas nas Redes Sociais | Encontrar amigos pelo nome - Implementar uma função para encontrar os amigos do usuário pelo nome deles.

Tarefa de programação - Nível: Difícil

CSS/HTML - Barra de navegação Flexbox - Definição completa de CSS e utilização do Flexbox para layout de componentes.

Partilhar correio

Saiba mais sobre a contratação de tecnologia

Subscreva o nosso Centro de Aprendizagem para obter informações úteis directamente na sua caixa de entrada.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.

Logotipo DevSkiller Logotipo TalentBoost Logotipo TalentScore