Design and develop database solutions35–40%O schema e o código, antes de alguém se preocupar com quem pode ler o quê ou como aquilo vai para produção. Primeiro os objetos: tabelas comuns e suas primas especializadas, cada uma existindo para um propósito só, colunas que guardam documentos JSON em vez de escalares, as constraints e sequences que mantêm os valores honestos, e o particionamento que decide como uma tabela grande é fisicamente recortada. Depois o código que mora dentro do banco em vez de morar acima dele, na forma de views, funções de dois formatos, procedures e triggers. Depois o próprio T-SQL num nível acima da consulta do dia a dia: expressões recursivas e encadeadas, cálculos que olham de lado para as linhas vizinhas, funções que leem e desmontam JSON, correspondência de padrões em texto, pontuação de similaridade entre duas strings quase iguais, travessia de uma estrutura de grafo, consultas cuja metade interna depende da externa, e tratamento de erros que transforma uma falha em algo com que o chamador consegue trabalhar. A fatia mais nova também está aqui, pequena mas bem característica: escrever esse código com um assistente de IA no circuito, decidir o que o assistente pode enxergar, ligá-lo a endpoints de ferramentas, guiá-lo com arquivos de instrução e entender quanto essa conveniência custa em exposição.
≈ 19 h Secure, optimize, and deploy database solutions35–40%Tudo o que fica entre código que funciona e uma solução que alguém aceita colocar no ar. São quatro movimentos. Controle de acesso e confidencialidade: quais valores são criptografados e onde ficam as chaves, quais valores aparecem borrados e para quem, quais linhas um determinado chamador pode ver, em quais objetos ele pode tocar, como uma conexão se autentica sem carregar senha, o que vai parar numa trilha de auditoria, e como as superfícies mais novas de endpoint são trancadas quando o banco começa a conversar com endpoints de modelos e com servidores REST, GraphQL e de protocolo. Depois o desempenho, lido a partir de evidência e não de intuição: configurações de servidor e de banco, as escolhas de isolamento e concorrência que trocam consistência por vazão, e o ferramental que mostra o que uma consulta realmente fez, incluindo o diagnóstico de uma sessão esperando por outra. Depois o caminho de release, construído sobre projetos de banco versionados: testes, dados de referência, modelos de projeto, branches e pull requests, segredos, e a detecção de um destino que se afastou do schema declarado, indo até os pipelines de implantação controlada. Por último, as costuras com o resto do Azure: publicar objetos do banco como APIs, acompanhar o resultado e reagir a mudanças nos dados como eventos, em vez de ficar consultando de tempos em tempos.
≈ 19 h Implement AI capabilities in database solutions25–30%A menor fatia e a razão de o exame existir. Três perguntas, nesta ordem. Qual modelo, e como os embeddings se mantêm atuais: escolher entre modelos por capacidade, cobertura de idiomas, tamanho e formato de saída; registrar um deles para que o engine consiga chamá-lo; decidir quais colunas valem mesmo a pena virar embedding; cortar textos longos em pedaços que caibam e ainda signifiquem alguma coisa; e escolher o mecanismo que regenera um embedding quando a linha de origem muda, que é justamente a parte que a maioria dos designs erra. Depois a recuperação: busca por palavra-chave, busca por similaridade sobre vetores, ou as duas fundidas num único ranking; como o dado vetorial é tipado, indexado e dimensionado; o trade-off entre exato e aproximado e quanto um índice aproximado custa em recall; e como saber se o conjunto de resultados é de fato bom. Por último, a geração fundamentada no que foi recuperado: reconhecer os casos em que retrieval-augmented generation é a resposta certa, chamar um endpoint externo de dentro do banco, moldar linhas estruturadas em algo que um modelo de linguagem consiga ler, e tirar da resposta algo utilizável.
≈ 13 h