Preparação para entrevista como desenvolvedor Ruby/Rails - curso RUB 4.900. da ThinkNetica, treinando 4 aulas online, data 27 de novembro de 2023.
Miscelânea / / November 28, 2023
Entrevistas bem-sucedidas são uma habilidade crítica na situação atual. Seu presente e futuro dependem disso.
Na Thinknetica, trabalhamos em estreita colaboração com muitos empregadores e sabemos o que eles esperam dos candidatos e quais perguntas fazem aos candidatos.
Reunimos a melhor experiência das empresas e acrescentamos alguns pontos que irão ajudá-lo nas condições atuais.
Forneceremos não apenas respostas, mas também informações sobre vários tópicos para que você possa se sair bem na entrevista.
Para quem?
Para desenvolvedores que desejam trabalhar melhor e em melhores condições, mesmo na situação atual
Júnior
Se você for Junior, aprenderá muitas coisas novas que são relevantes para você e estará mais bem preparado para a entrevista.
Meio
Se você for Middle, poderá atualizar seus conhecimentos, encontrar lacunas, realizar um “check-up profissional” e descobrir quais perguntas são feitas especificamente a um desenvolvedor middle.
Líder Sênior/Equipe
Se você for um líder sênior/de equipe, poderá coletar uma planilha de avaliação de competências de desenvolvedor para você e sua equipe
Lidamos com questões sobre Ruby e Rails
Rubi
Carregando e interpretando código
Tipos de dados
Tipos de variáveis dependendo do escopo
Modelo de objeto
Métodos de nível superior e kernel
Escopo do Método
Usando blocos, proc e lambda
Hierarquia de herança e pesquisa de métodos
Métodos de conexão de módulo
Capacidades de metaprogramação
Trabalhando com memória e GC
Processos e Threads
Encapsulamento e acesso a dados
Implementação de polimorfismo
Verificando objetos quanto à igualdade
Especificação do rack
Pontos fortes e fracos do Ruby
Trilhos
Funções dos componentes MVC
Camadas adicionais de uma aplicação Rails
Vantagens e desvantagens dos retornos de chamada
Mecanismo de acesso a dados do Active Record
Finalidade do pool de conexões de registros ativos
Baixando e iniciando o aplicativo
Mecanismo de processamento de solicitações dentro do aplicativo
Usando migrações na produção
Executando uma aplicação em um servidor compatível com Rack
Considerando RSpec, fundamentos da Web e bancos de dados
RSpec
Tipos de testes e métodos para escrevê-los
Fábricas modelo e seus usos
Simulação e esboço
Diferença entre especificações de solicitação e especificações do controlador
Maneiras de otimizar o desempenho do teste
Metodologia de teste de API
Fundamentos da Web
Processamento de solicitação HTTP
Cache HTTP
Protocolos HTTP(S) e WebSocket
D. B.
Modelo de dados relacionais
Normalização e desnormalização de dados
Atribuindo chaves estrangeiras
Tipos de conexões
Visualizações (PostgreSQL)
Finalidade e tipos de índices (PostgreSQL)
Estágios de execução de uma consulta SQL
Princípios ÁCIDO
Tipos de bloqueios (PostgreSQL)
Transações e seus níveis de isolamento
Objetivo do VACUUM (PostgreSQL)
Alta Disponibilidade (PostgreSQL)
Particionamento (PostgreSQL)
O terceiro dia é dedicado a Arquitetura de Software, Design de API, Git Flow, DevOps Basics
Arquitetura de software
Linguagens interpretadas e compiladas
Paradigmas de Programação
Princípios SÓLIDOS
O princípio DRY, casos em que pode ser negligenciado
Princípio do BEIJO
Padrões de acesso a dados: Active Record, Repository
Monólitos e microsserviços
Princípios de Coesão e Abstração de Componentes
Esquema de serviços em produção e sua interação
Projeto de API
REST, gRPC, GraphQL
Versionamento
Erro ao processar
Fluxo Git
Princípios gerais
Confirmações convencionais
Noções básicas de DevOps
Tipos de recursos: CPU, memória, E/S de disco, Rede
Usando IC
Métodos de implantação de aplicativos
Coletando registros
Monitoramento
Como é uma entrevista de Soft Skills e quais Soft Skills um desenvolvedor precisa em geral
Habilidades interpessoais
Empatia e trabalho em equipe
A importância de compreender o produto e os objetivos do negócio
A importância dos dados e a capacidade de trabalhar com eles
Abordagem em forma de T para o desenvolvimento