Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Guia para Trainee e Dev Jr usando Java

Posted on Oct 22 Como pessoa iniciante, uma parte Importante na entrevista técnica é Saber conceitos e conseguir explicá-los. A pessoa entrevistadora pode também solicitar exemplos práticos.Abaixo estão conceitos que vejo serem solicitados para iniciantes e o que seria legal saber. Tudo o que está sublinhado é um link para alguma referência.É comum mencionarem REST API, mas é bom saber o conceito de API e qual a motivação para criar uma e sua utilidade.Leitura sobre APIs.Saber os 4 pilares e conseguir explicar. Como são conceitos básicos - no sentido de serem a base - é importante saber.Leitura sobre POO.Saber explicar o porquê de usar arquitetura MVC - prós e contras, onde é utilizada, como se divide, como funciona.Leitura sobre MVC.Não existe melhor nem pior, existe a solução mais adequada para o problema. O texto do link explica muito bem as diferenças.Leitura sobre microsserviços versus arquitetura monolítica.Saber falar por que usar cloud, quais benefícios, riscos e trade-offs. Se tiver utilizado alguma, citar a necessidade e como ela foi atendida. Se conhecer os recursos apenas teoricamente, citar os mais utilizados e o que fazem. Os mais conhecidos são da Amazon - S3, SQS, SNS, EC2, API Gateway.Leitura sobre Cloud Computing.Saber benefícios de integração contínua e entrega contínua. É importante entender como era feito o processo antes do CI/CD ser criado, porque nessa hora tudo fará sentido.Existem ferramentas que fazem todo o processo, sendo o Jenkins a mais conhecida e utilizada - talvez por ser gratuita e de código aberto.Leitura sobre CI/CD.Aqui o importante mesmo é entender o Git e como ele funciona. CVS e SVN são antigos e é raro encontrar lugares que ainda o utilizem. Pessoas entrevistadoras não costumam se aprofundar nesse tema, costumam apenas perguntar se você sabe se seguir em frente.Git e Github não são a mesma coisa. É importante conhecer e saber quando utilizar as operações rotineiras - criar branches, abrir MR, trocar de branch, enviar código, resolver conflitos. PR (pull request) e MR (merge request) são a mesma coisa - Gitlab chama de MR e Github chama de PR.Leitura sobre Git e outros VCSs.É legal conhecer alguma ferramenta que faça esta análise. A mais utilizada por onde passei foi o Sonarqube. Consiga explicar o que ele faz, por que é bom e citar que ele pode ser incluído no processo de CI/CD como uma barreira que impede que códigos com bugs ou baixa qualidade cheguem aos ambientes.Leitura sobre análise estática com Sonarqube.Projeto sem testes é um erro, então saiba criar testes unitários e tenha algum conhecimento de testes integrados. O unitário faz parte da base, o integrado dá pra conseguir entender sob demanda e em pouco tempo. Com Java utilizamos muito jUnit e Mockito, mas também existem Wiremock, Faker, Fixture Factory etc. Saiba diferenciar a utilidade de cada um.Faker, Instancio e Fixture Factory servem para criar objetos falsos, então não precisa estudar todos, só saber quando e por que utilizar.Leitura sobre testes.Saber que existem pra resolver problemas da área de desenvolvimento de software comum a vários projetos. O Refactoring Guru ajuda bastante com texto. Se quiser um curso, recomendo este aqui do ITA.Na entrevista, saber o que são e para que servem. É comum pedirem para citar e explicar 3, e os mais simples que prefiro são Singleton, Façade e Builder. O Strategy é uma excelente resposta, então se você souber, só vai.Podem solicitar as novidades que você mais gostou desde o Java 8, porque foi a versão que trouxe mais recursos.É comum perguntarem sobre Collections (List, Set, Map etc), então saiba para que servem, o que fazem e como. Se for o caso, saber algumas implementações dessas interfaces e dar algum exemplo de uso. Exemplo de pergunta: quero agrupar objetos que não podem se repetir e que estejam ordenados por sua chave natural, qual seria a melhor coleção de dados? Por quê?Sobre recursos novos, citar nova DateTime API, que veio no Java 8. Consiga comparar alguns recursos antigos com os novos.Stream API (Fluent API) também chegou no Java 8 e é muito utilizada, então saiba dizer o que ela facilita e simplifica. Se souber falar de Lambdas, melhor ainda.O Baeldung é meu site preferido para aprender e explorar novidades de Java e Kotlin. Ele também tem uma newsletter maravilhosa. Recomendo.Saber que é um framework, para que serve, no que ajuda, qual a função dos módulos mais usados (Boot, Data, Security)Mais simples: Boot e DataComplexo, porém importante: Security (opinião pessoal)Leitura sobre Spring. Neste site tem muita coisa, é tão bem escrito que muitas vezes pesquiso nele antes de conferir a documentação oficial.Saber que existe JDBC, mas falar de JPA. Geralmente pedem Spring Data ou Hibernate, sendo que o Spring Data encapsula o Hibernate e adiciona facilidades.Falar qual conhece/usou, saber que existe normalização de dados e por que é importante, saber que existem tamanhos de dados e a importância de analisar pra não haver desperdício de espaço/performance.Se tiver usado, dizer quando ele é mais recomendado que o relacional e por qual motivo, citar performance e formato de dados gravados. Famosos: MongoDB e Redis (Redis também é cache)Este é um assunto extenso porque as tecnologias usadas neste modelo arquitetural possuem muitas configurações.O importante aqui é saber o que é, como funciona, quais os prós e contras. Saber quais ferramentas são mais utilizadas, qual resultado procuram atingir e as diferenças entre elas. Os termos para se atentar são publisher e subscriber - ou Pub e Sub - porque tudo o que importa no início está relacionado a eles.As mais utilizadas são RabbitMQ para mensagens e Apache Kafka para eventos, e ambas têm suas versões para nuvem.No site da Confluent tem vídeos sobre o assunto e que usam Apache Kafka como ferramenta, é bem legal. Não precisa se aprofundar muito.Leitura sobre event-driven architecture - EDA.Não é um assunto trivial e eu não exigiria de um iniciante.Caso você tenha tido tempo de estudar o assunto, costumam cair perguntas sobre os prós e contras, quais ferramentas utilizam, como os dados são salvos e onde, quais benefícios o Docker adiciona no desenvolvimento e escalabilidade.Recomendo ver os vídeos da LinuxTips sobre Docker. O material deles é muito bom e o @gomex_87 escreveu um livro gratuito sobre o assunto.Leitura sobre Docker.Templates let you quickly answer FAQs or store snippets for re-use.sou front e to querendo virar fullstack pq as vagas tao complicadas, artigo mt bom pra dar um norte! Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well Confirm For further actions, you may consider blocking this person and/or reporting abuse Vivek Mittal - Oct 15 Shrihari - Sep 27 InterSystems Developer - Oct 16 Rico van Zelst - Sep 17 Once suspended, albertribeirov will not be able to comment or publish posts until their suspension is removed. Once unsuspended, albertribeirov will be able to comment and publish posts again. Once unpublished, all posts by albertribeirov will become hidden and only accessible to themselves. If albertribeirov is not suspended, they can still re-publish their posts from their dashboard. Note: Once unpublished, this post will become invisible to the public and only accessible to Albert Ribeiro. They can still re-publish the post if they are not suspended. Thanks for keeping DEV Community safe. Here is what you can do to flag albertribeirov: albertribeirov consistently posts content that violates DEV Community's code of conduct because it is harassing, offensive or spammy. Unflagging albertribeirov will restore default visibility to their posts. DEV Community — A constructive and inclusive social network for software developers. With you every step of your journey. Built on Forem — the open source software that powers DEV and other inclusive communities.Made with love and Ruby on Rails. DEV Community © 2016 - 2023. We're a place where coders share, stay up-to-date and grow their careers.



This post first appeared on VedVyas Articles, please read the originial post: here

Share the post

Guia para Trainee e Dev Jr usando Java

×

Subscribe to Vedvyas Articles

Get updates delivered right to your inbox!

Thank you for your subscription

×