Skip to content

Generative AI Engineer Associate · Domain 4: Assembling and Deploying Applications · 22% of the exam

Task 4.4: Configure a persistent datastore to store and retrieve intermediate memory or structured information; Integrate managed, external, and custom MCP servers based on a given application requirements; Develop an appropriate interactive user facing interface for an agent usage scenario (Apps, Slack, Teams, etc.)

Lakebase for agent state and structured lookups, Databricks-provided, external and custom MCP servers, and Databricks Apps or chat channels as the agent's front end.

Study it

  • Agent memory and structured lookups on Lakebase

    Partly covered by: RDS vs DynamoDB

  • Databricks-provided, external and custom MCP servers

    Partly covered by: The Tool-Use Loop

  • Front ends for agents: Databricks Apps, Slack and Teams

    Lesson coming

Sample questions

Try each one before opening the answer. Every option is explained, with the Databricks documentation page that proves it.

Question 1 · choose 1

A support agent on Databricks Apps must look up customer profiles from the Unity Catalog gold table customers_gold in milliseconds. It must also record each case it opens as a row that support staff update for days afterwards, with full transactions. The data team wants no sync scripts to maintain. Which datastore design fits?

  1. AAn AI Search index of the profiles, with cases written to a Delta table through a SQL warehouse
  2. BProfile lookups and case writes against the Delta gold table through a SQL warehouse
  3. CA Lakebase synced table of the profiles, with each case inserted and updated in that table
  4. DA Lakebase synced table of the profiles, with cases in the app's own Postgres table beside it
Show the answer and why
  • AAn AI Search index of the profiles, with cases written to a Delta table through a SQL warehouse

    Incorrect

    Similarity search is not a keyed profile lookup, and a SQL warehouse over Delta is built for analytics, not per-request transactional writes.

  • BProfile lookups and case writes against the Delta gold table through a SQL warehouse

    Incorrect

    The lakehouse is optimized for analytics; fast lookup-style queries with full ACID transactions are what Lakebase is designed for.

  • CA Lakebase synced table of the profiles, with each case inserted and updated in that table

    Incorrect

    The sync pipeline owns a synced table's data: it is read-only for applications, and direct writes are overwritten on the next refresh.

  • DA Lakebase synced table of the profiles, with cases in the app's own Postgres table beside it

    Correct

    A managed sync pipeline serves the gold table in Postgres for low-latency reads, and the app inserts and updates its own tables in the same database.

Synced tables bring Unity Catalog data into Lakebase with a fully managed pipeline, so no sync scripts are needed. Applications query the synced data alongside their own operational tables, which they read and write with standard Postgres drivers.

Question 2 · choose 1

A team wants its agents to use a vendor's hosted MCP server that speaks Streamable HTTP and requires OAuth. Access must be shared with other teams and governed centrally. What should the engineer do?

  1. ARegister it as an external MCP in Unity Gateway with an HTTP connection for its OAuth
  2. BRebuild the vendor's tools as a custom MCP server on Databricks Apps and share that app with each team
  3. CHard-code the vendor token in each agent's environment variables
  4. DAdd the vendor server to the Genie One MCP configuration
Show the answer and why
  • ARegister it as an external MCP in Unity Gateway with an HTTP connection for its OAuth

    Correct

    External MCP registration creates a Unity Catalog connection for the credentials and makes the server a governed service that can be shared.

  • BRebuild the vendor's tools as a custom MCP server on Databricks Apps and share that app with each team

    Incorrect

    Custom MCP servers on Apps are for your own tools or APIs; rewriting a vendor's hosted server adds work and maintenance.

  • CHard-code the vendor token in each agent's environment variables

    Incorrect

    Per-agent credentials are not shared, governed or audited centrally.

  • DAdd the vendor server to the Genie One MCP configuration

    Incorrect

    Genie One is a Databricks-provided MCP for business questions over governed data; it does not proxy other vendors' servers.

Use a Databricks-provided MCP when one exists, register a self-hosted or third-party server as an external MCP, or build a custom server on Databricks Apps for your own tools. Registered MCPs use Unity Catalog permissions.

Question 3 · choose 1

A team deploys an MCP server from the MCP Server (Starter) template on Databricks Apps. Which URL should its agents use?

  1. AThe app URL with /mcp appended
  2. BThe workspace URL with /serving-endpoints
  3. CThe app URL with /api/2.0/genie
  4. DAny URL, if the app name starts with mcp-
Show the answer and why
  • AThe app URL with /mcp appended

    Correct

    Copy the app URL from its Overview page and append /mcp to connect an agent.

  • BThe workspace URL with /serving-endpoints

    Incorrect

    Serving endpoints are a different service.

  • CThe app URL with /api/2.0/genie

    Incorrect

    That is a Genie API path, not the app's MCP endpoint.

  • DAny URL, if the app name starts with mcp-

    Incorrect

    The mcp- prefix is a naming convention that helps Databricks tools recognize the server; the endpoint is still /mcp.

Databricks Apps provides the compute and an HTTPS URL for a custom MCP server. For the Starter and OpenAPI templates the MCP path is /mcp; an existing server uses the path it was configured with.

Question 4 · choose 1

An engineer wants a new Databricks app to run as an existing service principal used by a nightly job. What happens?

  1. AThe app can adopt the job's existing service principal at creation
  2. BThe app runs as the workspace admin
  3. CThe app always gets its own new service principal
  4. DThe app runs without any identity
Show the answer and why
  • AThe app can adopt the job's existing service principal at creation

    Incorrect

    You cannot specify an existing service principal at app creation.

  • BThe app runs as the workspace admin

    Incorrect

    App authorization uses the app's own service principal.

  • CThe app always gets its own new service principal

    Correct

    Databricks provisions a dedicated service principal per app, which cannot be changed or replaced with an existing one.

  • DThe app runs without any identity

    Incorrect

    Every app has an identity for app authorization.

App authorization uses the app's own service principal; it stays the same across deployments and is deleted with the app.

Question 5 · choose 1

An agent prototype keeps its state in a Lakebase database that sits idle most of the day. Which Lakebase feature minimizes its cost?

  1. ARead replicas
  2. BScale to zero
  3. CHigh availability
  4. DSynced tables
Show the answer and why
  • ARead replicas

    Incorrect

    Replicas add compute for read scaling.

  • BScale to zero

    Correct

    Scale to zero suspends Lakebase compute after inactivity, which suits development and test databases.

  • CHigh availability

    Incorrect

    High availability adds standby compute for failover.

  • DSynced tables

    Incorrect

    Synced tables serve lakehouse data; they do not suspend compute.

Lakebase offers autoscaling, scale to zero, branches, read replicas, instant restore and high availability.

Question 6 · choose 1

An agent front end on Databricks Apps calls a partner API with a key that sits in a secret scope, and the app has a secret resource for it with the resource key partner_key. A reviewer finds the key's value in plain text on the app's Environment page. What should the team change?

  1. AHard-code the key in the app's source instead of the environment
  2. BRaise the secret resource to Can manage so that the value is masked
  3. CStore the key in a second scope and add both scopes as resources
  4. DDefine the variable with valueFrom: partner_key in app.yaml
Show the answer and why
  • AHard-code the key in the app's source instead of the environment

    Incorrect

    Databricks says never to store sensitive values in app code or directly in environment variables.

  • BRaise the secret resource to Can manage so that the value is masked

    Incorrect

    The permission level sets what the app may do with the scope's secrets; it does not hide a value that is injected directly.

  • CStore the key in a second scope and add both scopes as resources

    Incorrect

    More scopes do not change how the value reaches the app or where it is shown.

  • DDefine the variable with valueFrom: partner_key in app.yaml

    Correct

    A variable defined with valueFrom keeps the secret value managed by Databricks and out of plain text; values injected directly appear on the Environment page.

Databricks Apps injects each secret resource as an environment variable named after its resource key. Define the variable in app.yaml with valueFrom and retrieve the value in app code at runtime, so the secret is never written out in plain text.

Practice domain 4 →Practice all domains →