Maneiro cara! Eu fiz uma entrevista há alguns dias que teve um system design focado em cloud pra uma empresa pequena, e foi um pouco mais mais tranquilo kkkk, é sempre bom analisar dos amigos (e eu não esqueci da segurança pq onde trabalho teve projeto de waf recentemente 😊) Bons estudos e boa sorte!
Apesar de eu não ser exatamente o público alvo do vídeo, até por ter quase 10 anos de experiência e já ter feito dezenas, talvez centenas, de desenhos de arquitetura pro trabalho e uma quantidade considerável de entrevistas que pediram isso. É bem maneiro ver o ponto de vista de outro DEV experiente. O feijão com arroz, eu teria feito quase idêntico, a diferença mais gritante é que minha experiência me faz colocar muita coisa de forma menos "abstrata". Ao invés de simplificar pra Monitoring/Logging, eu provavelmente teria dado nome aos bois. Explicaria como funcionam as ferramentas mais utilizadas pra essas situações. Kibana/Splunk, DynaTrace, etc. Mas não quer dizer que uma é certa e a outra, errada. São só maneiras diferentes de representar a mesma coisa! Enfim, uma dica adicional seria estudar legal MicroServices e entender BEM os limites de cada integração. A ideia de CORE/Domínio, etc. A galera pergunta MUITO isso na etapa de System Design! Exemplo: você fez exatamente o desenho do Augusto, o entrevistador vai te perguntar se faria sentido essa parte responsável por tratar as QUEUES ser um serviço novo ou manter no mesmo serviço. Têm casos que sim, têm casos que não. Enfim, é estudar e estar preparado!
Genial. Eu sei todos os conceitos que abordou aqui, pelo menos na teoria, hoje tive uma entrevista e era esta a solucao que eu devia ter apresentado. Acabei por vacilar devido à falta de prática (nao falava sobre estes conceitos há uns anos) e falhei (penso eu), mas serve como aprendizado!
Excelente Augusto, como sempre! As pessoas que ainda não passaram por uma entrevista sobre esse assunto, as vezes ficam em choque ao se depararem que precisarão passar por esse desafio, e esse seu vídeo tira um pouco do peso daquele pensamento de tipo "eu não sei nem começar", com esse ponta é inicial ajuda demais visualizar as coisas para quem está começando a querer alavancar o nível da carreira
Cara, nem sou tanto da área de programação mas teus vídeos tem uma didática tão boa e com tanta fluência e objetividade que até um TDAH dos grandes como eu fica preso no conteúdo dos vídeos e totalmente focado aprendendo coisas novas
Que vídeo bacana, acho super válido esses tipos de desenhos, pra entender como funciona o sistema, eu estou começando a usar, quando vou entender alguns conceitos, eu uso o excalidraw pra eu desenhar, pra eu entender o que está sendo processado
sensacional mano, parabéns conteudo objetivo, explicação excelente! eu ainda sou lerdo pra fazer os desenhos virtuais, preciso praticar kkkkk acabo fazendo no papel ou em texto pra ir mais rapido
mano eu já dou o like antes de ver o vídeo, mas sugestão: cria um negócio de membros aqui e lança umas lives resolvendo leetcode ou ensinando alguma estrutura de dados que creio que seja o maior déficit da galera
Excelente vídeo! Poderia abordar também como ficaria com os gateways de pagamento? kkkkk já fiz uma entrevista que foi justamente sobre gateways de pagamentos.
Onde o banco de dados fica, fisicamente falando? Pelo que entendo, server1 e 2 são instâncias diferentes que rodam o projeto. Mas, onde fica o DB? Em uma das duas instâncias, ou fica em uma máquina separada? E para cada DB seria uma instância, ou geralmente ficam todos em uma única máquina dedicada somente aos bancos de dados?
Na verdade esse é um tipo de competência que um júnior já deve ter, mas de maneira mais rasa e sem compreensão do motivo para as escolhas. Um pleno precisa compreender como desenhar uma solução, entendendo parcialmente o motivo da escolha das tecnologias e um sênior precisa saber como um todo. Acho que a definição mais simples seria isso.
Aquela descrição como "server" eu acho meio genérica, afinal todo mundo é server, talvez não seria melhor dizer app-server? Sobre o desenho do monitoramento e logging, eu particularmente acho que depende de qual ferramentas vc usa, por exemplo, se usar prometheus com os exporters, todos os servers irão apontar para monitoring, que no fim das contas polui bastante o desenho, então o desenho que vc fez tá perfeito pra representar :)