Configurações para Perguntas de Desenvolvedor Front-end, Back-end e Full stack
Last updated: December 12, 2024
Um projeto válido deve ter um arquivo de configuração válido hackerrank.yml no diretório raiz. Consulte os exemplos abaixo ou a referência de configuração para aprender como escrever um para o seu projeto.
Referência de Configuração
version: (número)
- [obrigatório] Número da versão para o esquema de configuração.
- A versão atual é 1.0configuração: (hash)
- [obrigatório] Atributo pai para a configuração.
- Todas as configurações do projeto são fornecidas aqui
has_webserver: (boolean)
- [obrigatório] Definir se um projeto possui um servidor web exposto
(pode ser acessado fora do servidor).
- Use porta aberta (3000, 3030, 5000, 6000, 6001, 8000, 8080)
para publicar o servidor. Todas as outras portas estão bloqueadas para comunicação externa.
readonly_paths: (array)
- [opcional] Uma lista de caminhos de arquivo e/ou padrões regex
que devem ser marcados como somente leitura para candidatos
scoring: [opcional] (hash)
- [obrigatório] Atributo pai para configuração relacionada à pontuação
command: (string)
- [obrigatório] Comando de pontuação definido aqui.
- Este atributo deve ser fornecido para que a pontuação funcione
files: (array)
- [opcional] Uma lista de arquivos de saída de pontuação pode ser fornecida aqui.
- Uma vez que o comando de pontuação é executado, a plataforma procurará esses arquivos
e os analisará para calcular a pontuação final.
- Se esses arquivos não forem fornecidos, a saída do comando de pontuação é usada para pontuação.
testcase_weights: (hash [<nome do caso de teste>:<peso>])
- [opcional] Este atributo pode ser usado para fornecer pontuação ponderada
para casos de teste.
- O total de todas as pesos deve ser
1. A validação falhará se o total de pesos não for um.
- Os pesos dos casos de teste são correspondidos pelo nome do caso de teste,
então todos os nomes dos casos de teste devem ser únicos (em arquivos diferentes).
ide_config: (hash)
- [obrigatório] Toda configuração relacionada ao IDE é fornecida aqui
default_open_files: (array)
- [obrigatório] Forneça uma lista de arquivos padrão para abrir aqui.
O caminho deve ser relativo à pasta raiz do projeto.
project_menu: (string)
- [obrigatório] Defina comandos do menu do projeto aqui. Todos os atributos filhos são obrigatórios.
run:
- [obrigatório] Forneça comando para o item de menu Projeto > Executar
install:
- [obrigatório] Forneça comando para o item de menu Projeto > Instalar
test:
- [obrigatório] Forneça comando para o item de menu Projeto > Testar
Exemplo 1: Configuração de amostra para um projeto node sem pontuação
version: 1.0configuration:
has_webserver: false
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm testExemplo 2: Configuração de amostra para um projeto node com servidor web e pontuação
version: 1.0configuration:
has_webserver: true
scoring:
# npm test deve produzir saída de teste no arquivo results/unit.xml.
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm testExemplo 3: Configuração de amostra para um projeto API Spring Boot Java com casos de teste ponderados
version: 1.0configuration:
has_webserver: false
scoring:
command: "mvn clean test"
files:
- target/customReports/result.xml
testcase_weights:
# Os pesos devem somar um total de 1
Criar um modelo: 0.2
Excluir um modelo: 0.2
Editar um modelo: 0.2
Filtrar modelo por atributo: 0.4
ide_config:
default_open_files:
- src/main/java/com/hackerrank/sample/controller/ModelController.java
- src/main/java/com/hackerrank/sample/model/Model.java
project_menu:
run: mvn clean spring-boot:run
install: mvn clean install
test: mvn clean test; cat target/customReports/result.txtExemplo 4: Configuração de exemplo para um projeto node com um servidor web e vários arquivos de saída
versão: 1.0configuração:
has_webserver: true
pontuação:
# npm test é esperado para produzir a saída do teste no arquivo results/unit.xml.
comando: "npm test"
arquivos:
- results/user.xml
- results/project.xml
- results/api.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm testExemplo 5: Configuração de exemplo para um projeto node com arquivos somente leitura
Você pode usar arquivos somente leitura para marcar certos arquivos, como casos de teste, como somente leitura. O candidato não poderá modificar esses arquivos.
versão: 1.0configuração:
has_webserver: true
readonly_paths:
- app/test.js
- app/tests/*
scoring:
command: "npm test"
files:
- results/unit.xml
ide_config:
default_open_files:
- app.js
project_menu:
run: npm start
install: npm install
test: npm test