If you're asked "explain the difference between resource, data, and variable":
"A resource is something Terraform manages — it creates, updates, or destroys it. A data block is read-only; it looks up information about resources that exist but aren't managed by this Terraform code, like finding a VPC by tag or getting the latest AMI ID. A variable is an input parameter to the module, like an argument you'd pass to a function."
If asked about provider:
"A provider is the plugin that translates Terraform code into API calls to a specific platform. You configure it once per project with credentials and region. You can have multiple providers in one project, like AWS plus Cloudflare, and even multiple instances of the same provider using aliases for things like multi-region deployments."