<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Elmeri</title>
    <description>The latest articles on DEV Community by Elmeri (@ejmeri).</description>
    <link>https://dev.to/ejmeri</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1107346%2Faef7b6c4-6698-4020-b684-39812f521a18.png</url>
      <title>DEV Community: Elmeri</title>
      <link>https://dev.to/ejmeri</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ejmeri"/>
    <language>en</language>
    <item>
      <title>Um guia para entrevistas técnicas - backend</title>
      <dc:creator>Elmeri</dc:creator>
      <pubDate>Mon, 20 Jul 2026 23:51:46 +0000</pubDate>
      <link>https://dev.to/ejmeri/um-guia-open-source-em-portugues-para-se-preparar-para-entrevistas-tecnicas-backend-2eap</link>
      <guid>https://dev.to/ejmeri/um-guia-open-source-em-portugues-para-se-preparar-para-entrevistas-tecnicas-backend-2eap</guid>
      <description>&lt;p&gt;Passei os últimos meses me preparando para processos seletivos de backend e percebi um problema: o material de qualidade está espalhado em dezenas de lugares, quase todo em inglês, e raramente conectado com o que as entrevistas brasileiras realmente cobram.&lt;/p&gt;

&lt;p&gt;Então resolvi organizar tudo em um único repositório, aberto para qualquer pessoa usar:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://github.com/ejmeri/desafios-entrevista-tecnica" rel="noopener noreferrer"&gt;github.com/ejmeri/desafios-entrevista-tecnica&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Neste post explico o que tem lá, como o conteúdo está organizado e como sugiro usar o material dependendo do seu momento.&lt;/p&gt;

&lt;h2&gt;
  
  
  Por que mais um repositório de entrevistas?
&lt;/h2&gt;

&lt;p&gt;Existem ótimos repositórios de preparação por aí — o problema é que a maioria foca em uma coisa só: ou algoritmos estilo LeetCode, ou system design, ou perguntas comportamentais. Uma entrevista backend real cobra tudo isso junto, muitas vezes no mesmo dia.&lt;/p&gt;

&lt;p&gt;A ideia aqui foi montar um material que acompanha o funil completo de um processo seletivo:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Coding interview&lt;/strong&gt; → algoritmos e estruturas de dados&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Entrevista técnica de profundidade&lt;/strong&gt; → APIs, bancos de dados, padrões, testes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System design&lt;/strong&gt; → arquitetura de sistemas distribuídos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comportamental&lt;/strong&gt; → soft skills e como estruturar respostas&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Tudo em português, com código que compila e roda.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que tem no repositório
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🧮 Códigos — a base para coding interviews
&lt;/h3&gt;

&lt;p&gt;Implementações em Java com análise de complexidade e, quando faz sentido, múltiplas abordagens para o mesmo problema:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Two Sum&lt;/strong&gt; — força bruta O(n²) vs. hash table O(n), o clássico de aquecimento&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fibonacci&lt;/strong&gt; — quatro versões (recursiva, memoização, DP e otimizada) para entender a evolução de uma solução&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LRU Cache&lt;/strong&gt; — um dos problemas mais pedidos em entrevistas de nível pleno/sênior&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rate Limiter&lt;/strong&gt; — Sliding Window e Token Bucket, que aparecem tanto em coding quanto em system design&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concorrência&lt;/strong&gt; — Producer-Consumer e Thread Pool, tema que separa candidatos em vagas Java&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;O critério não foi quantidade, e sim problemas que realmente aparecem em processos e que ensinam um padrão reutilizável.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 APIs RESTful — com projeto completo
&lt;/h3&gt;

&lt;p&gt;Além da teoria (constraints REST, semântica HTTP, versionamento, paginação), tem um &lt;strong&gt;projeto Spring Boot funcional&lt;/strong&gt; com camada de serviço, DTOs, tratamento de exceções e validações. Serve tanto para revisar antes de uma entrevista quanto como referência de estrutura de projeto.&lt;/p&gt;

&lt;h3&gt;
  
  
  🏗️ System Design — o filtro das vagas sênior
&lt;/h3&gt;

&lt;p&gt;Um framework estruturado de como conduzir a entrevista (clarificar requisitos → estimar → desenhar → escalar) e casos clássicos: Twitter, URL Shortener, chat, e-commerce. Também cobre os padrões que sustentam essas conversas: sharding, caching, load balancing, CQRS, event sourcing.&lt;/p&gt;

&lt;h3&gt;
  
  
  🗄️ Bancos de dados, 🔐 Segurança, 🧪 Testes
&lt;/h3&gt;

&lt;p&gt;Três temas que quase ninguém estuda para entrevista e que rendem os melhores diferenciais:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SQL avançado (window functions, CTEs, otimização) e quando usar NoSQL&lt;/li&gt;
&lt;li&gt;OWASP Top 10, JWT, OAuth 2.0 — cada vez mais cobrados em fintechs&lt;/li&gt;
&lt;li&gt;Pirâmide de testes, TDD, test doubles e quando usar cada um&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🚀 DevOps, Git e Metodologias Ágeis
&lt;/h3&gt;

&lt;p&gt;O básico que se espera de qualquer dev que trabalha em equipe: CI/CD, Docker/Kubernetes, workflows de Git, Scrum e Kanban — no nível de profundidade que uma entrevista costuma cobrar.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌟 Soft Skills
&lt;/h3&gt;

&lt;p&gt;Como comunicar raciocínio durante um coding interview, como estruturar respostas comportamentais e como falar de experiências sem parecer decorado.&lt;/p&gt;

&lt;h2&gt;
  
  
  Como sugiro usar o material
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Se sua entrevista é semana que vem:&lt;/strong&gt; vá direto em &lt;code&gt;codigos/&lt;/code&gt; e resolva os problemas sem olhar a solução primeiro. Depois compare abordagens. Reserve uma tarde para o framework de system design se a vaga for pleno/sênior.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Se você tem um mês:&lt;/strong&gt; siga a ordem do funil — algoritmos primeiro, depois um tema técnico por semana (APIs, bancos, testes), e system design por último, porque ele amarra todos os anteriores.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Se você está começando:&lt;/strong&gt; use os READMEs como mapa do que existe. Não precisa dominar tudo — saber &lt;em&gt;o que você não sabe&lt;/em&gt; já muda a qualidade da sua preparação.&lt;/p&gt;

&lt;h2&gt;
  
  
  O que vem por aí
&lt;/h2&gt;

&lt;p&gt;O repositório está em evolução. No roadmap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mais problemas de coding com testes unitários completos&lt;/li&gt;
&lt;li&gt;Implementação manual do LRU Cache (HashMap + lista duplamente encadeada), como as entrevistas costumam pedir&lt;/li&gt;
&lt;li&gt;CI com GitHub Actions rodando build e testes de todos os módulos&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Contribuições são bem-vindas
&lt;/h2&gt;

&lt;p&gt;Se você passou por um processo recentemente e viu uma pergunta que não está coberta, abre uma issue ou manda um PR. A ideia é que o material cresça com a experiência real de quem está entrevistando agora.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://github.com/ejmeri/desafios-entrevista-tecnica" rel="noopener noreferrer"&gt;github.com/ejmeri/desafios-entrevista-tecnica&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Se o repositório te ajudar, deixa uma ⭐ — ajuda outras pessoas a encontrarem o material.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;E você, o que mais te pega em entrevista técnica: algoritmos, system design ou a comportamental? Conta nos comentários — pode virar conteúdo novo no repositório.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>braziliandevs</category>
      <category>career</category>
      <category>interview</category>
    </item>
    <item>
      <title>Iniciando no Nestjs</title>
      <dc:creator>Elmeri</dc:creator>
      <pubDate>Sat, 24 Jun 2023 02:52:04 +0000</pubDate>
      <link>https://dev.to/ejmeri/iniciando-no-nestjs-2if0</link>
      <guid>https://dev.to/ejmeri/iniciando-no-nestjs-2if0</guid>
      <description>&lt;p&gt;Criado em 2017, o Nestjs é um framework de código aberto e destinado a softwares do lado do servidor.&lt;br&gt;
Orientado a objetos, o NestJS possuí um grande potencial no seu desenvolvimento e desempenho nas aplicações e economia de tempo. O NestJS é inspirado no Angular, a maior parte do que se encontra no Angular também pode ser encontrado no NestJS, como provedores, middleware, componentes e serviços.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Principais vantagens&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Confiável, amplamente suportado e bem &lt;a href="https://docs.nestjs.com"&gt;documentado&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Rápido e capaz de lidar com solicitações simultâneas em escala&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Traz uma ótima flexibilidade graças a sua arquitetura modular, onde permite usar qualquer outras bibliotecas.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Se destaca pela sua extensibilidade, versatilidade e progressividade, tirando vantagens de recursos mais recentes do Javascript&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Padrões de design e soluções modernas para o mundo Node.JS&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Quando usar&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NestJS é baseado em TypeScript e Javascript, roda do lado do servidor e cria aplicativos eficientes e agrupáveis, organizando todo o padrão de arquitetura com códigos de fácil manutenibilidade, escalonáveis e limpos.&lt;/p&gt;
&lt;h3&gt;
  
  
  Instalação
&lt;/h3&gt;

&lt;p&gt;Para começar, você pode montar o projeto com o &lt;a href="https://docs.nestjs.com/cli/overview"&gt;Nest CLI&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;$ npm i -g @nestjs/cli&lt;br&gt;
$ nest new project-name&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No diretório do projeto será criado os módulos e alguns outros arquivos padrões que serão instalados e um diretório &lt;strong&gt;src/&lt;/strong&gt; será criado e preenchido com vários arquivos principais.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;src&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;app.controller.spec.ts&lt;br&gt;
app.controller.ts&lt;br&gt;
app.module.ts&lt;br&gt;
app.service.ts&lt;br&gt;
main.ts&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;O arquivo &lt;strong&gt;main.ts&lt;/strong&gt; inclui uma função assíncrona, que inicializará nosso aplicativo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Executando o aplicativo
&lt;/h3&gt;

&lt;p&gt;Depois que o processo de instalação estiver concluído, você poderá executar o seguinte comando no terminal para iniciar o aplicativo que escuta as solicitações HTTP de entrada:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;$ npm run start&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Após os passos acima, vá até o seu navegador e cole a url:&lt;br&gt;
&lt;strong&gt;&lt;a href="http://localhost:3000"&gt;http://localhost:3000&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusão
&lt;/h2&gt;

&lt;p&gt;Com isso, você terá sua primeira aplicação Nestjs executando, para seguir mais abordagens do framework você pode seguir mais dicas na documentacão: &lt;a href="https://docs.nestjs.com"&gt;https://docs.nestjs.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Referências
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.nestjs.com"&gt;Documentação&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/nestjs/typescript-starter"&gt;Projeto inicial&lt;/a&gt;&lt;br&gt;
&lt;a href="https://amplication.com/blog/why-choose-nestjs-as-your-backend-framework-amplication"&gt;Por quê NestJs?&lt;/a&gt; &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>node</category>
      <category>nestjs</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
